菜鸟教程小白 发表于 2022-12-11 19:15:21

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


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

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

<pre><code> func session(_ session: WCSession, didReceiveMessage message: , replyHandler: @escaping () -&gt; Void)
</code></pre>

<p>最后在 <code>func session(_ session: WCSession, didReceiveMessage message: )</code> 中的 watch 应用程序上接收它,但这需要大约 3 秒。 </p>

<p>在启动时获取数据的更好方法是什么?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您可以尝试使用回复处理程序功能而不是发起新消息。它应该工作得更快。</p>

<p>从 watch 调用这个:</p>

<pre><code>func sendRequest() {
    if session.activationState == .activated &amp;&amp; session.isReachable {
      session.sendMessage([&#34;Watch Message&#34; : &#34;Request&#34;], replyHandler: { (reply) in

            // Handle reply here

      }, errorHandler: { (error) in

            print(&#34;***** Error Did Occur: \(error) *****&#34;)
      })
    }
}
</code></pre>

<p>电话处理和回复:</p>

<pre><code>func session(_ session: WCSession, didReceiveMessage message: , replyHandler: @escaping () -&gt; Void) {

    if let messageFromWatch = message[&#34;Watch Message&#34;] {
      let messageData = messageFromWatch as! String

      // Message From Watch to Activate Watch Connectivity Session
      if messageData == &#34;Request&#34; {
            replyHandler([&#34;Response&#34; : data])
      }
    }
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Apple Watch Kit 在启动时加载数据,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/47202320/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/47202320/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Apple Watch Kit 在启动时加载数据