将数据从苹果手表传输到Swift中的iPhone
问题描述:
我一直在尝试多个小时才能找到一种方法将Apple Watch上的全局变量发送到iPhone。将数据从苹果手表传输到Swift中的iPhone
有很多紧靠从iPhone中的数据传输到Apple关注的问题,但不是反之亦然斯威夫特3.
,因为我想将数据从Apple关注转移到iPhone这不是重复,不副反之亦然。
我该怎么做?
答
从Apple Watch向iPhone传输数据与反向传输非常相似。
对于全局变量,你应该使用updateApplicationContext()
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可到达。
一般来说,我会建议你按照扎克Kautz的建议和阅读约WatchConnectivity。这是手表和手机间最常用的通信方式。
可能的重复[从iOS标签传递文本到WatchOS标签 - swift-](https://stackoverflow.com/questions/44673494/pass-text-from-ios-label-to-watchos-label-swift) –