将数据从 Apple Watch 传输到 Swift 中的 iPhone
Transfer Data From Apple Watch To iPhone in Swift
我已经尝试了好几个小时,想找到一种将全局变量从 Apple Watch 发送到 iPhone 的方法。
关于将数据从 iPhone 传输到 Apple Watch 但在 Swift 中反之则没有很多问题 3.
这不是副本,因为我想将数据从 Apple Watch 传输到 iPhone,反之亦然。
我该怎么做?
使用watch connectivity框架,可以实现双向通信
将数据从 Apple Watch 传输到 iPhone 与反之亦然。
对于全局变量,您可能应该使用 updateApplicationContext()
of WCSession
:
let session = WCSession.default()
if session.activationState == .activated {
session.updateApplicationContext(["my_global": g_myGlobal])
}
在 iPhone 上,您应该将委托分配给默认的 WCSession
并激活它。在WCSessionDelegate
中实现以下方法:
func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) {
let receivedGlobal = applicationContext["my_global"] as? TypeOfTheGlobal
}
您也可以使用 sendMessage(_:replyHandler:errorHandler:)
,但这需要 iPhone 才能接通。
总的来说,我建议您听从 Zak Kautz 的建议并阅读有关 WatchConnectivity 的内容。这是 watch 和 phone.
之间最常见的通信方式
我已经尝试了好几个小时,想找到一种将全局变量从 Apple Watch 发送到 iPhone 的方法。
关于将数据从 iPhone 传输到 Apple Watch 但在 Swift 中反之则没有很多问题 3.
这不是副本,因为我想将数据从 Apple Watch 传输到 iPhone,反之亦然。
我该怎么做?
使用watch connectivity框架,可以实现双向通信
将数据从 Apple Watch 传输到 iPhone 与反之亦然。
对于全局变量,您可能应该使用 updateApplicationContext()
of WCSession
:
let session = WCSession.default()
if session.activationState == .activated {
session.updateApplicationContext(["my_global": g_myGlobal])
}
在 iPhone 上,您应该将委托分配给默认的 WCSession
并激活它。在WCSessionDelegate
中实现以下方法:
func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) {
let receivedGlobal = applicationContext["my_global"] as? TypeOfTheGlobal
}
您也可以使用 sendMessage(_:replyHandler:errorHandler:)
,但这需要 iPhone 才能接通。
总的来说,我建议您听从 Zak Kautz 的建议并阅读有关 WatchConnectivity 的内容。这是 watch 和 phone.
之间最常见的通信方式