我有一个需要在后台运行的基于位置的应用程序。我有几款iPhone正在测试,包括旧的3G。我注册我的应用程序需要基于后台位置的服务,一切都像旧的3G手机广告接受。当你按下锁定按钮时,它会执行一个applicationWillResignActive:不幸的是,手机会立即进入低功耗模式。当您使用USB电缆连接电话,然后按下锁定按钮时,3G电话将保持活动状态并正确报告位置更改。当它断开连接时,它会立即进入低功耗模式。
奇怪的是,我很确定它曾经有效。我想知道是否有人在旧的iphone(3G)上运行的应用程序注册了位置服务,并且在按下锁定按钮时没有立即进入低功耗模式。如果是这样,我做错了什么。
我按照所有指示操作,在我的Info.plist中有位置。
感谢您的帮助!
干杯, 布赖恩
答案 0 :(得分:0)
我认为你看到了预期的行为。
我注意到最近一次旅行时我的旧3g位置管理器似乎只在usb供电时仍然有效。在USB上,解锁手机会立即启动应用程序(在这种情况下为谷歌地图),位置管理器处于活动状态。没有usb,每次我打开手机时都必须重新启动位置管理器。
我强烈怀疑这是安全/节电功能。位置管理器以惊人的速度吸收电池寿命,尤其是在旧设备上。通过在使用电池时连续运行位置管理器,您可以在他们不知情的情况下轻松地平滑用户的电话。
我对任何需要位置管理器在后台连续运行的设计非常谨慎。彻底测试它。
你不希望用户的经济后果决定“当我使用布莱恩的应用程序,我的电池神秘地死亡”或者在没有工作电话的情况下让某人处于紧急状态的道德后果。