我想知道startmonitoringsignificantlocationchanges用于提供位置的信息是GPS还是Wifi/Internet?我的理解是,它使用蜂窝或无线网络,知道设备是否有明显的移动,但我不知道的是,在选择位置时,是否仅使用GPS来提取位置。startMonitoringSignificantLocationChanges用于提供位置的信息
我的发现是:我在城市列车中旅行了30公里,但没有在背景中获得任何位置,在此旅程中我的Wifi和Cellular数据已关闭。因此,请告诉我们重要是否仅基于GPS提供位置。
我的印象是,它使用蜂窝三角测量来生成位置变化事件,并启动GPS达10秒钟,然后使用GPS获取位置。但使用这种技术,我应该在测试时收到一些位置更新,但我没有收到任何信息。也许是因为蜂窝数据和无线网络关闭了,尽管蜂窝网络和GPS可用,但它们还不足以提供位置。有没有任何解释或这是正常的。 –
在iOS 9+中,您可以使用(requestLocation)[https://developer.apple.com/reference/corelocation/cllocationmanager/1620548-requestlocation] API从GPS硬件获取单个高精度定位。此后,位置管理器将自动关闭。 还有很多其他的考虑,如更新plist,setAllowsBackgroundUpdates,位置授权等。 另外,不要忘记upvote :) – zakishaheen