我可以让Watch应用在后台运行吗?

alan.raceQs

我知道iOS允许后台任务运行,例如继续接收位置更新,但是可以在手表应用中执行此操作吗?在Xcode 9.3中,我已经为“后台模式”和所选位置配置了应用程序,并且为WatchKitExtension创建了一个Info.plist,即“用于位置更新的应用程序注册”的“所需背景模式”条目。

但是,当屏幕关闭以及进入扩展坞时,我的手表应用仍会暂停。

但是,适用于watchOSApp编程指南似乎排除了在后台运行以接收位置更新的可能性,因为它仅允许对四类活动进行后台处理:

  1. 后台应用刷新任务。使用WKApplicationRefreshBackgroundTask对象来...
  2. 后台快照刷新任务。使用WKSnapshotRefreshBackgroundTask对象更新...
  3. 后台监视连接任务。使用WKWatchConnectivityRefreshBackgroundTask对象接收iOS应用发送的数据...
  4. 后台NSURLSession任务。...

SO的其他帖子表明这是不可能的,但是证明否定是困难的,所以我再次询问:

我是通过试图使Watch App在后台运行以接收位置更新来“鞭策一时”,还是Xcode承诺WatchOS将无法交付。

星际旅行

我很高兴能够报告我过去两周一直在鞭打的那匹马还没有死!

我发现了另一个状态,其中手表应用程序将继续在后台运行,不需要HKWorkoutSession。

这些设置可以达到目的:

locationManager.allowsBackgroundLocationUpdates = true

在watchKitExtension info.plist中:

将UIBackgroundModes(必需的背景模式)设置为位置(用于位置更新的应用程序注册)

我再说一遍:我不使用healthKit

现在,即使关闭屏幕且退出Dock时,我的应用程序仍可以继续运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我的应用在后台运行时,是否可以从摄像头收到通知?

应用在后台运行时等待响应

我的应用在后台消耗过多电池

如何使iOS应用在Swift中永远在后台运行?

FirebasePushNotificationPlugin(xamarin)-应用在后台运行时不会触发事件(android)

Android:当您的应用在后台运行时,在通知上使用AUTO-CANCEL

应用在后台运行时调用了Android Activity onStart吗?

Android 应用在后台运行时对可访问性的限制

当应用在后台尝试访问位置时,是否可以获得日志?

当我的应用在ios中在后台终止时如何执行代码

我可以让WatchKit App在Apple Watch的后台运行吗?

更改权限时,应用在后台崩溃-Swift

如何防止应用在后台被杀死?

应用在后台时 URL 请求超时

iOS应用在后台时的GCM推送通知

如何防止应用在后台关闭?

MeteorJS移动应用在后台推送通知

我可以在后台运行Cordova应用程序吗

应用在其他设备上崩溃,但在我的设备上可以正常运行

从RSelenium调用的浏览器可以在后台运行吗

当应用在后台(钛)运行时,Android 5上的推送通知未传递-但在前台运行

当iOS应用在后台甚至被杀死时获取位置

当应用在后台收到Phonegap(cordova)的推送通知时,增加徽章编号,

当应用在后台扫描蓝牙连接外设时

如何让我的应用在多核上运行?

如何让我的应用在导航视图下运行?

jq --stream 在后台运行吗?

即使关闭我的应用程序,也可以在后台运行dart代码

让应用在启动时运行