WatchKit应用程序“解锁激活”

我的IOS应用程序从蓝牙心率传感器读取心率,心率显示在Apple Watch上。 一切正常。 但在大多数情况下,用户将锁定iPhone并将其放入口袋。

这是问题所在:

IOS应用程序仍然在后台工作并读取心率,但我无法再在Apple Watch上显示数据,因为模拟器显示“Unlock to activate”。

当iPhone被锁定且IOS应用程序在后台时,是否无法继续使用WatchKit应用程序?

我在Apple开发者论坛上找到了正确的答案:

问:如果您想在WatchKit应用程序或Glance中的特定接口控制器中调试willActivate / didDeactivate,一旦它在iOS模拟器中显示,您可以从iOS模拟器菜单栏中选择硬件>锁定以触发didDeactivate。 重复解锁并触发willActivate。

我在beta4中发现了这个,但有些混乱。 它只是模拟器中的测试function吗? 真正的手表上的应用程序在iphone锁定后不会被锁定,对吧?

答:正确,它只是用于测试。

问: 有没有办法在手机锁定时在模拟器中测试手表应用程序? 看起来这也是一个重要的测试案例,但是现在手表仅在手机锁定时显示“解锁激活”。

答:目前不是。

链接:(但你有一个开发者帐户) https://devforums.apple.com/message/1106203#1106203

您尝试过这样的事情: 通过Apple Watch更新应用内容的简便方法

当iphone被锁定时,调用openParentApplication不起作用吗?

在让iPhone在后台执行操作时, openParentApplication非常有效。 从本质上讲, openParentApplication将在您的手机被锁定时运行。

此链接: http : //www.bignerdranch.com/blog/watchKit-extensions-communicating-with-your-parent-application/

有一个我发现的最好和最容易理解的教程。 真的帮帮我了,希望有所帮助。

您应该能够使用openParentApplication获取数据

祝你好运

主动后台模式,以确保父应用程序有时间发送其回复。 有关如何使用后台模式的代码示例,请参阅从Watch应用程序调用父应用程序 。