iOS 6 AutoPause不起作用

fjb*_*chi 2 location geolocation ios ios6

我从" 会议303 - 从位置服务保持正轨 "WWDC 2012开始,遵循AutoPause的示例

在该示例中,您可以看到如何启用AutoPause,并且有两种方法被调用:

-(void) locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager
-(void) locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager
Run Code Online (Sandbox Code Playgroud)

我做了同样的例子,但这些方法从未被调用过.谁试过同样的?

Sta*_*nko 6

我现在正在试验这个,这是我的观察:

在iPhone 4上,这根本不起作用.即使将pausesLocationUpdatesAutomatically设置为YES,它也会将pausesLocationUpdates自动保持为NO(0).没有警告,这是什么样的API设计反模式!

在iPhone 5上,默认情况下,pausesLocationUpdatesAutomatically为YES(1).并调用locationManagerDidPauseLocationUpdates.调用locationManagerDidResumeLocationUpdates我运气不好.如果GPS关闭,我也很困惑如何调用它?一旦用户到达下一个网络小区,它会被调用吗?即使这不是我的经验,也从未被称为.

到目前为止,我认为这是iOS6中最不一致的变化之一.对于所有场景,我可能只是暂停LocationUpdatesAutomatically = NO,并且希望在iOS6的所有型号上都能正常工作.

[更新 - 2013年3月4日].我浏览了Apple的演示文稿,了解iOS6中的位置变化,他们建议在区域更改事件发生后使用区域更改监控"取消暂停".虽然这不适合我的场景,因为用户可能会在这样的事件发生之前进行/运行/驾驶一两公里.

  • 它适用于我的iPhone 4(iOS6).当我再次开始移动时,GPS暂停但从未恢复. (2认同)