如果用户更改了位置设置
从“始终”更改为“使用时”。
并且不返回应用程序。 有时我看到蓝色条,有时我看不到。
如果蓝色条未显示,则我的应用可以从内存中删除。
我在didChangeAuthorization
方法中唯一要做的就是,如果不是restricted
,denied
,.notDetermined
,那么我会叫startUpdatingLocation()
。
我知道我无法在后台运行应用startUpdatingLocation
。
但是我不能继续将其从“始终”更改为“在使用时”吗?这是我无法控制的行为吗?
答案 0 :(得分:1)
经过多轮测试。我很有信心地说:
如果您切换到从不,则操作系统将调用stopUpdatingLocation
in 10 seconds or less.
因此,如果之前,您在10秒钟内切换到“使用时”,那么您会看到蓝色的条形,这一切都很好。
如果您等待10到20秒,那么您将不会再看到蓝色条,因为调用了stopUpdatingLocation
。要重新开始跟踪,您必须将应用置于前台,然后它将再次开始更新您的位置。
在“始终”和“使用中”之间切换永远不会导致停止位置跟踪。发生这种情况的可能可能是因为我去了Never并停留了10秒钟以上,然后切换到Always,然后在“使用时”完成了所有这些操作,而无需打开应用程序,并认为这是因为我从Always更改为“ when in采用'。因此,这是有点错误的警报。