gpt4 book ai didi

iphone - startMonitoringSignificantLocationChanges 但一段时间后 didUpdateLocations 不再被调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:10:54 24 4
gpt4 key购买 nike

我有一个非常奇怪的行为。我正在编写一个同时使用获取和位置后台模式的应用程序(不知道这对问题很重要)。我使用委托(delegate)正确设置了 CLLocationManager,并开始监视 AppDelegate 中的重要位置更改 (startMonitoringSignificantLocationChanges)。我立即被称为 didUpdateLocations,它给了我一些位置。在那之后,即使我在 Xcode 中模拟不同的位置(也使用 GPX 文件),甚至我停止并重新启动监控,都不会触发更多事件。我在后台和前台都没有收到任何位置信息。

奇怪的是,如果我开始更新位置(使用 GPS),它会正常工作(进行相同的测试...启动和停止与 startMonitoringSignificantLocationChanges 完全一样)。显然,我有 didUpdateLocations 和 didFailWithError(我没有收到任何错误)。

这是我的初始化(由我的 AppDelegate didFinishLaunchWithOptions 中的对象初始化调用):

self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.pausesLocationUpdatesAutomatically = NO;

我知道 distanceFilter 和准确度对于位置的重大变化并不重要,我已经将 pausesLocationUpdatesAutomatically 设置为 NO。

我错过了什么吗?还有一种方法可以读取触发的位置是来自 wifi、蜂窝还是 gps?

提前致谢。

最佳答案

您只能使用模拟器位置菜单中的“高速公路驾驶”选项来模拟模拟器上发生重大变化的位置。它将以几分钟的间隔触发。

关于iphone - startMonitoringSignificantLocationChanges 但一段时间后 didUpdateLocations 不再被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18919333/

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