我有一个Apple Watch应用程序,在模拟器(手表模拟器和iPhone模拟器)上工作得很好。当我在真实设备上运行应用程序时,WCSession
watchAppInstalled
属性是假的,但我有一个手表上的应用程序,所以我无法从手表设备启动它。
我通过卸载并重新安装手表应用程序来修复此问题。在iPhone上的Watch中,您可以选择应用程序并关闭“Apple Watch上的应用程序”,然后再打开。
解决方案被发现here。
在调用isWatchAppInstalled之前,您必须先进行
WCSessionDelegate
分配给WCSession.default.delegate
WCSession.default.activate()
否则(至少在WatchOS 5上),isWatchAppInstalled
将永远返回false
。