我知道iOS允许后台任务运行,例如继续接收位置更新,但是可以在手表应用中执行此操作吗?在Xcode 9.3中,我已经为“后台模式”和所选位置配置了应用程序,并且为WatchKitExtension创建了一个Info.plist,即“用于位置更新的应用程序注册”的“所需背景模式”条目。
但是,当屏幕关闭以及进入扩展坞时,我的手表应用仍会暂停。
但是,适用于watchOS的App编程指南似乎排除了在后台运行以接收位置更新的可能性,因为它仅允许对四类活动进行后台处理:
SO的其他帖子表明这是不可能的,但是证明否定是困难的,所以我再次询问:
我是通过试图使Watch App在后台运行以接收位置更新来“鞭策一时”,还是Xcode承诺WatchOS将无法交付。
我很高兴能够报告我过去两周一直在鞭打的那匹马还没有死!
我发现了另一个状态,其中手表应用程序将继续在后台运行,不需要HKWorkoutSession。
这些设置可以达到目的:
locationManager.allowsBackgroundLocationUpdates = true
在watchKitExtension info.plist中:
将UIBackgroundModes(必需的背景模式)设置为位置(用于位置更新的应用程序注册)
我再说一遍:我不使用healthKit
现在,即使关闭屏幕且退出Dock时,我的应用程序仍可以继续运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句