ala*_*eQs 3 location background-task apple-watch watchkit watchos
我知道iOS允许运行后台任务,例如,继续接收位置更新,但是可以在手表应用程序中执行此操作吗?在Xcode 9.3中,我已经为"后台模式"和所选位置配置了我的应用程序,并且已经为WatchKitExtension创建了一个Info.plist,这是"应用程序寄存器用于位置更新"的"必需后台模式"条目.
但是我的手表应用程序在屏幕关闭时以及它在底座时仍会暂停.
但是,针对watchOS的应用程序编程指南似乎排除了在后台运行以接收位置更新的可能性,因为它只允许对四类活动进行后台处理:
SO的其他帖子表明这是不可能的,但证明负面是困难的,所以我再问:
我试图让手表应用程序在后台运行以接收位置更新,或者Xcode正在做出WatchOS无法提供的承诺,从而"鞭打死马".
我很高兴能够报告说,我过去两周一直鞭打的那匹马毕竟没有死!
我发现了一个额外的状态,我的手表应用程序将继续在后台运行,不需要HKWorkoutSession.
这些设置起到了作用:
locationManager.allowsBackgroundLocationUpdates = true
Run Code Online (Sandbox Code Playgroud)
并在watchKitExtension info.plist中:
将UIBackgroundModes(必需的后台模式)设置为位置(App寄存器用于位置更新)
我再说一遍:我不使用healthKit
现在,即使屏幕关闭以及应用程序离开Dock,我的应用程序仍会继续运行.
| 归档时间: |
|
| 查看次数: |
2729 次 |
| 最近记录: |