>如果用户更改其位置设置
从"总是"到"使用时"。
并且不会返回到应用程序。 有时我看到蓝色条,有时我看不到它。
如果未显示蓝色条,则我的应用可能会从内存中删除。
我在didChangeAuthorization
方法中唯一做的是,如果它不是restricted
、denied
、.notDetermined
,那么我就调用startUpdatingLocation()
。
我知道我无法在应用程序在后台运行时startUpdatingLocation
。
但是当我这样做时,我不应该继续从"总是"更改为"使用时"吗?!这是我无法控制的行为吗?
经过多轮测试。我可以非常自信地说:
如果切换到"从不">,则操作系统将在10 秒或更短的时间内调用stopUpdatingLocation
。
因此,如果在你达到 10 秒之前切换到"使用时",那么你会看到蓝色条,你一切都很好。
如果您等待 10-20 秒,那么您将不再看到蓝色条,因为调用了stopUpdatingLocation
。要再次开始跟踪,您必须将应用程序置于前台,然后它将再次开始更新您的位置。
在"始终"和"使用时"之间切换不应导致停止位置跟踪。很可能是因为我转到"从不"并停留了 10 秒以上,然后切换到"始终",然后切换到"使用时",我做了所有这些操作——没有打开应用程序并认为这是因为我从"始终"更改为"使用时"。所以这有点虚惊一场。