在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/>
但还是没有变化。
我最后一个可能的想法是,此应用程序以开发模式(而不是发行版)在设备上运行。苹果尚未对应用进行检查,这会影响背景模式吗?
谢谢
编辑:
我现在已经在testFlight中测试了我的应用程序,它执行的操作相同,但在16分钟后挂起。
答案 0 :(得分:0)
所以这样做的原因是由于测试时没有移动。我在手机锁定的情况下走了30分钟,然后跑了我的应用程序,整个过程一直有效。
要更改此设置,您需要访问CLLocation管理器,并将pausesLocationUpdatesAutomatically自动更改为false。不幸的是,我还没有找到在Flash Builder中更改此方法的方法。