我的IOS应用程序从蓝牙心率传感器读取心率,心率显示在Apple Watch上。一切正常。但在大多数情况下,用户会锁定iPhone并将其放在口袋里。
问题在于:
IOS应用程序仍然在后台工作并读取心率,但我无法再在Apple Watch上显示数据,因为模拟器显示“Unlock to activate”。
当iPhone被锁定且IOS应用程序在后台时,是否无法继续使用WatchKit应用程序?
答案 0 :(得分:6)
我在Apple开发者论坛上找到了正确答案:
问:如果您想在WatchKit应用程序或Glance中的特定接口控制器中调试willActivate / didDeactivate,一旦在iOS模拟器中显示,您可以选择硬件>从iOS模拟器菜单栏锁定以触发didDeactivate。重复解锁并触发willActivate。
我在beta4中发现了这个,但有些混乱。它只是模拟器中的测试功能吗? iphone锁定后,真实手表上的应用程序不会被锁定,对吗?
答:正确,它只是用于测试。
问:有没有办法在手机锁定时在模拟器中测试手表应用程序?看起来这也是一个重要的测试案例,但是现在只看表演"解锁激活"电话被锁定时。
答:目前不是。
链接:(但您有一个开发者帐户)https://devforums.apple.com/message/1106203#1106203
答案 1 :(得分:1)
您是否尝试过这样的事情:Easy way to update app content via apple watch
当iPhone被锁定时,调用openParentApplication
是否无效?
答案 2 :(得分:1)
要让iPhone在后台执行操作,openParentApplication
效果非常好。基本上,openParentApplication
会在您的手机被锁定时运行。
此链接:http://www.bignerdranch.com/blog/watchKit-extensions-communicating-with-your-parent-application/
有我发现的最好和最容易理解的教程之一。真的帮帮我了,希望有所帮助。
您应该可以使用openParentApplication
答案 3 :(得分:0)
活动后台模式,确保父应用有时间发送回复。有关如何使用后台模式的代码示例,请参阅Calling parent application from Watch app。