gpt4 book ai didi

ios - Apple Watch 套件在启动时加载数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:06:30 24 4
gpt4 key购买 nike

如何在 Apple Watch 上快速加载数据?从 watchOS 2 开始,UserDefaults 不工作了,所以我们只能使用 WCSessionDelegate,对吧?

现在,在 Watch App 启动时我调用 wcSession?.sendMessage(someThing, replyHandler: someFunc, errorHandler: otherFunc),然后在 iPhone 应用程序中我发回一些数据

 func session(_ session: WCSession, didReceiveMessage message: [String : Any], replyHandler: @escaping ([String : Any]) -> Void)

最后在 func session(_ session: WCSession, didReceiveMessage message: [String : Any]) 中的 watch app 上接收到它,但这大约需要 3 秒。

获取启动数据的更好方法是什么?

最佳答案

您可以尝试使用回复处理函数而不是发起一条新消息。它应该工作得更快。

从 watch 上调用:

func sendRequest() {
if session.activationState == .activated && session.isReachable {
session.sendMessage(["Watch Message" : "Request"], replyHandler: { (reply) in

// Handle reply here

}, errorHandler: { (error) in

print("***** Error Did Occur: \(error) *****")
})
}
}

在电话上处理和回复:

func session(_ session: WCSession, didReceiveMessage message: [String : Any], replyHandler: @escaping ([String : Any]) -> Void) {

if let messageFromWatch = message["Watch Message"] {
let messageData = messageFromWatch as! String

// Message From Watch to Activate Watch Connectivity Session
if messageData == "Request" {
replyHandler(["Response" : data])
}
}
}

关于ios - Apple Watch 套件在启动时加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47202320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com