有没有办法从Watchkit扩展中调用iPhone上的类中定义的方法?
根据我的理解,目前在Watch kit和iPhone之间进行本地通信的方法之一是使用NSUserDefaults,但还有其他方法吗?
一个简单的例子就是很棒.
解决方法
对于WatchOS2,不推荐使用openParentApplication.它的替代品是
Watch Connectivity Framework 中的WCSession
首先,在watch(ExtensionDelegate)和amp;中初始化WCSession. iOS(AppDelegate),代码如下
if WCSession.isSupported() { let session = WCSession.defaultSession() session.delegate = self session.activateSession() }
使用手表向手机发送通知
session.sendMessage(msg,replyHandler: { (responses) -> Void in print(responses) }) { (err) -> Void in print(err) }
使用在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) }