gpt4 book ai didi

ios - 像 Strava 这样的应用程序如何在 iPhone 上继续在后台运行?

转载 作者:行者123 更新时间:2023-11-28 13:59:40 24 4
gpt4 key购买 nike

只是想知道是否有人知道 Strava 如何能够在锻炼期间在 iOS 后台运行?我目前正在构建一个基于位置的 iOS 应用程序,它需要在后台继续运行,我有点困惑。

在过去的一个月里,我能够使用 HealthKit 和 HKLiveWorkoutBuilder 为 Apple Watch 制作原型(prototype),但我似乎无法在 iPhone 上使用相同的方法,因为我使用的许多类 watch 上的功能在手机上不可用,例如 HKWorkoutSession 和 HKLiveWorkoutBuilder。

最佳答案

这些应用程序通常利用 UIBackgroundModes 功能,以便在应用程序处于后台时进行任何处理。特别是,Strava 使用的后台模式很可能是后台定位服务。应该注意的是,Apple 控制着分配给您的程序的大部分资源/时间,一旦它离开前台,它就不会像在前台运行时那样自由地获得这些资源。

我有机会开发基于位置服务的应用程序,该应用程序即使在后台运行时也需要跟踪和发送位置更新,并且能够在 iOS 8 上实现这一点。

近年来,Apple 更新了向用户请求定位服务的方式。应用程序的开发人员可以指定 requestAlwaysAuthorization 或 requestWhenInUse。前者将允许您即使在应用程序处于后台时也能响应位置更新。

CoreLocation API 非常灵活,例如您可以指定是只响应较小的距离变化还是较大的距离变化。

开发者文档是一个非常可靠的引用,如果您想了解更多关于后台执行模式的信息,您可以在这里找到:

https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

为了让您开始使用 CoreLocation,以下是很好的资源:

https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html

关于ios - 像 Strava 这样的应用程序如何在 iPhone 上继续在后台运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53665634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com