Rav*_*dal 7 objective-c ios swift apple-watch watchkit
有没有办法从Watchkit扩展中调用iPhone上的类中定义的方法?
根据我的理解,目前在Watch kit和iPhone之间进行本地通信的方法之一是使用NSUserDefaults,但还有其他方法吗?
一个简单的例子就是很棒.
您可以将类添加到两个目标(主iOS应用程序和WatchKit扩展)并直接使用WatchKit Extention中的方法.

方便地添加具有很少依赖性的类(优选实用程序或类别).如果文件已添加到项目中,则可以将其删除(删除引用)并再次添加,包括多个目标.
例如,我的类别NSString +颜色项目在iOS应用程序和Watch App中正常工作.
更新:您也可以在右侧面板(实用程序)中执行此操作.请参阅下面的链接:cs621620.vk.me/v621620973/13f86/9XYDH1HL5BI.jpg
对于 WatchOS2openParentApplication已弃用。它的替代品在Watch Connectivity FrameworkWCSession中
首先,使用以下代码WCSession在 watch( ExtensionDelegate) 和 iOS( ) 中进行初始化AppDelegate
if WCSession.isSupported() {
let session = WCSession.defaultSession()
session.delegate = self
session.activateSession()
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令从手表向手机发送通知
session.sendMessage(msg, replyHandler: { (responses) -> Void in
print(responses)
}) { (err) -> Void in
print(err)
}
Run Code Online (Sandbox Code Playgroud)
AppDelegate使用中处理消息
func session(_ session: WCSession,
didReceiveMessage message: [String : AnyObject],
replyHandler replyHandler: ([String : AnyObject]) -> Void)
{
//do something according to the message dictionary
responseMessage = ["key" : "value"] //values for the replyHandler
replyHandler(responseMessage)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5461 次 |
| 最近记录: |