我已經在模擬器和設備上測試過,不知何故手錶連接在使用一次後停止工作。手錶連接功能的第一次,但沒有之後
我從傳遞數據手錶 - > iPhone,它只能工作一次,然後停止。
任何想法?
iPhone ViewController
:
var session: WCSession?
override func viewDidLoad() {
super.viewDidLoad()
if WCSession.isSupported() {
session = WCSession.default()
session?.delegate = self
session?.activate()
}
}
func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) {
// Received Application Context from Watch
let type = applicationContext["watchType"]
print("Type iPhone: \(type)")
DispatchQueue.main.async {
self.type.text = "Type: \(type)"
}
}
關注InterfaceController
:
let session = WCSession.default()
override func awake(withContext context: Any?) {
super.awake(withContext: context)
if WCSession.isSupported() {
session.delegate = self
session.activate()
}
}
@IBAction func startPressed() {
saveEverything()
}
func saveEverything() {
let watchContextType = ["watchType" : "Boxing/Running"]
do {
print("Type Watch: \(watchContextType)")
try session.updateApplicationContext(watchContextType)
} catch {
print("Didn't work")
}
}
但是,在您的應用程序中,您只需將字符串中的更改發送到iPhone應用程序。請注意,當狀態爲「正在運行」時,例如滑塊位於1,並按下「+」,iPhone應用程序不會收到任何更改?它僅在從「運行」>「睡眠」中進行更改,反之亦然。那不是OP要求的。他已經實現了這一點:) –
是的,你有正確的OP有實現將數據從手錶傳輸到iPhone,但他面臨的問題是當數據被一次又一次觸發時,將數據保存在iPhone端: ) – Shrawan