iOS 6自动暂停不起作用

我已经从“ 会话303 – 停留在定位服务的轨道上 ”的自动暂停的例子来看WWDC 2012

在这个例子中,你可以看到如何启用自动暂停,并且有两种方法被调用:

-(void) locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager -(void) locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager 

我做了同样的例子,但是这些方法并不是永远不会被调用的。 谁试过了?

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

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

在iPhone 5上 ,默认情况下,pausesLocationUpdatesAutomatically为YES(1)。 并调用locationManagerDidPauseLocationUpdates。 我有一个运气不好的locationManagerDidResumeLocationUpdates调用。 我也不明白,如果GPSclosures,这将如何被称为? 一旦用户到达下一个networking单元,会被调用吗? 即使那不是我的经验,也不是所谓的。

到目前为止,我认为这是iOS6中最不一致的变化之一。 我可能会只用停顿位置更新自动=否为所有情况下,并希望在iOS6的所有模型上工作正常。

[更新 – 2013年3月4日]。 我查看了苹果的演示文稿,了解iOS6中的位置变化,他们build议在区域更改事件后使用区域更改监视来“不停顿”。 虽然这是不适合我的情况,因为用户可能会去/运行/驾驶一两公里或两个,直到发生这样的事件。

我有同样的问题,并发现你必须设置属性pausesLocationUpdatesAutomaticallyYES