Dyl*_*phy 5 iphone swift apple-watch swift3
我已经尝试了几个小时来找到一种将全局变量从 Apple Watch 发送到 iPhone 的方法。
关于将数据从 iPhone 传输到 Apple Watch 有很多问题,但在 Swift 3 中反之则不然。
这不是重复的,因为我想将数据从 Apple Watch 传输到 iPhone,反之亦然。
我怎样才能做到这一点?
将数据从 Apple Watch 传输到 iPhone 与从 iPhone 传输数据非常相似。
对于全局变量,您可能应该updateApplicationContext()使用WCSession:
let session = WCSession.default()
if session.activationState == .activated {
session.updateApplicationContext(["my_global": g_myGlobal])
}
Run Code Online (Sandbox Code Playgroud)
在 iPhone 上,您应该将委托分配给默认值WCSession并激活它。在 中WCSessionDelegate,实现以下方法:
func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) {
let receivedGlobal = applicationContext["my_global"] as? TypeOfTheGlobal
}
Run Code Online (Sandbox Code Playgroud)
或者,您也可以使用sendMessage(_:replyHandler:errorHandler:),但这需要 iPhone 可以访问。
一般来说,我建议您遵循 Zak Kautz 的建议并阅读有关WatchConnectivity 的内容。这是手表和手机之间最常见的通信方式。