在Flash Builder中,我有一个ios应用程序,它将每分钟使用Geolocation获取纬度和经度。我想在后台运行它,所以我已经将它添加到我的Info.plist中:
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
这有效,但每次只有16分钟。之后它就会暂停。当我解锁手机时,应用程序会再次按预期运行,但是在解锁后16分钟内没有获得数据。
http://blogs.adobe.com/airodynamics/2012/05/04/air-ios-background-behavior/
这个链接给了我一些想法。我补充说:
NativeApplication.nativeApplication.executeInBackground = true;
我的初始功能,但没有区别。然后我尝试了这个:
<key>UIApplicationExitsOnSuspend</key>
<false/>
但又没有变化。
我最后一个可能的想法是这个应用程序在开发模式下运行,而不是分发。这可能会影响后台模式,因为Apple尚未检查该应用程序?
谢谢
编辑:
我现在已经在testFlight中测试了我的应用程序并执行相同的操作,在16分钟后暂停。
所以造成这种情况的原因是由于测试时没有移动。当我走了30分钟步行时手机被锁定并且它一直工作,我的应用程序。
要更改此设置,您需要访问CLLocation管理器并将pausesLocationUpdatesAutomatically更改为false。不幸的是,我还没有找到一种方法来在Flash Builder中更改它。