CLLocationManager 的 pausesLocationUpdatesAutomatically 属性在 Swift (iOS8 / iOS7) 中始终为 false
Posted
技术标签:
【中文标题】CLLocationManager 的 pausesLocationUpdatesAutomatically 属性在 Swift (iOS8 / iOS7) 中始终为 false【英文标题】:CLLocationManager's pausesLocationUpdatesAutomatically property always false in Swift (iOS8 / iOS7) 【发布时间】:2015-09-14 10:28:14 【问题描述】:我尝试在 Swift 中将位置管理器的 pausesLocationUpdatesAutomatically 设置为 true,但似乎没有结果。
另外,根据documentation:
该属性的默认值为true。
然而,现实中的默认值似乎是假的,而且似乎没有办法将其设置为真:
let manager = CLLocationManager()
println(manager.pausesLocationUpdatesAutomatically) // prints false
manager.pausesLocationUpdatesAutomatically = true
println(manager.pausesLocationUpdatesAutomatically) // prints false
如何将此属性设置为true?
【问题讨论】:
【参考方案1】:如果您在模拟器中运行它,它将始终显示“false
”。
尝试在设备上运行它,就像我刚刚做的那样,它总是会说“true
”。
注意:这适用于 ios7-iOS11,也适用于 Objective-C。
【讨论】:
实际上在我的 iPhone 4 上它总是说“假”,但我希望这只是 iPhone 4 的问题。您在什么设备上运行代码? 我用的是 iPhone 5S...你还有其他设备可以测试吗? 好的,谢谢!我将很快在 4S 中进行测试,并在未来几天尝试寻找其他设备。当然,我会让你知道的。 pausesLocationUpdatesAutomatically 在 iPad Air (iOS 8 / iOS 9) 中始终为 false,在 iPhone 6 (iOS 8) 中默认为 true。以上是关于CLLocationManager 的 pausesLocationUpdatesAutomatically 属性在 Swift (iOS8 / iOS7) 中始终为 false的主要内容,如果未能解决你的问题,请参考以下文章
为啥'CLLocationManager.locationServicesEnabled()'默认为真?
Xcode 6 GM - CLLocationManager
CLLocationManager:没有调用 didChangeAuthorization 和 didRangeBeacons
CLLocationManager 和 CLGeoCoder