UIBackgroundModes位置超时

时间:2018-08-22 15:21:08

标签: iphone actionscript-3 uikit flash-builder

在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分钟后挂起。

1 个答案:

答案 0 :(得分:0)

所以这样做的原因是由于测试时没有移动。我在手机锁定的情况下走了30分钟,然后跑了我的应用程序,整个过程一直有效。

要更改此设置,您需要访问CLLocation管理器,并将pausesLocationUpdatesAutomatically自动更改为false。不幸的是,我还没有找到在Flash Builder中更改此方法的方法。