gpt4 book ai didi

应用程序关闭时 iOS 显着位置变化检测

转载 作者:行者123 更新时间:2023-11-29 00:28:56 26 4
gpt4 key购买 nike

我一直在尝试在应用程序完全关闭时使用重大位置更改,但它没有给出预期的结果。

我的应用程序应该检测汽车旅行何时开始。为此,我注册了重大位置变化跟踪,因此一旦发生重大变化,应用程序应由 iOS 启动。

在模拟器上,我模拟了高速公路驾驶,效果完全正常。然而,在真实设备上,应用程序会在以非常高的速度移动 5 到 10 公里后启动。

我在商店中发现了成功执行该操作的其他应用程序,因此我想知道我的实现的哪一部分不正确。

我已在 info plist 中启用位置背景模式。这是我用来启动重要位置更新的代码:

self.significantLocationManager = [[CLLocationManager alloc] init];
self.significantLocationManager.delegate = self;
if ([self.significantLocationManager respondsToSelector:@selector(setAllowsBackgroundLocationUpdates:)]) {
self.significantLocationManager.allowsBackgroundLocationUpdates = YES;
}
[self.significantLocationManager startMonitoringSignificantLocationChanges];

编辑:我已经请求并授予我的应用“始终”使用位置服务的权限。该应用程序已经在前台、后台和终止时使用位置(但从终止状态启动需要很多时间)。

最佳答案

您必须请求 Always 许可才能在后台运行您的应用程序。即使您的应用程序被终止,如果重要位置发生更改,该应用程序也会唤醒。到那时你不能更改任何 UI 组件(即更改标签文本等),除此之外你的代码是正确的。

关于应用程序关闭时 iOS 显着位置变化检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42388904/

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