SwiftUI WCSession 仅在查看手表时可访问

SwiftUI WCSession isReachable only when looking at watch

提问人:edencorbin 提问时间:9/12/2023 更新时间:9/12/2023 访问量:34

问:

我正在构建一个手表和 iphone ios 配套应用程序,但在两个应用程序之间可靠地触发消息时遇到了问题。在这两个应用程序中,我在加载的视图模型中触发了 WC onInit,这些似乎正确注册:

        if !WCSession.default.isReachable {
            if (WCSession.isSupported()) {
                WCSession.default.delegate = self
                WCSession.default.activate()
            }
        }

然后,在每个设备上的视图上,我有以下代码,其中CONTEXT替换为WATCH或IPHONE

.onReceive(timer) { time in
            if WCSession.default.isReachable {
                print("Checking WCSession CONTEXT SUCCESS")
            }
            else{
                print("Checking WCSession CONTEXT FAILURE")
            }
        }

我发现,只有当我看手表时,我才会收到SUCCESS消息,除非IWATCH旋转并且我正在看它(或者我点击它),否则它会进入某种睡眠或非活动模式。我的目标是从手机开始 IWatch 活动会话,但是消息失败,因为我没有看手表。有没有办法可靠地发送/接收消息,无论我是否在看手表?

SwiftUI 手表套件 Apple-Watch

评论


答: 暂无答案