我正在开发一个基于位置的应用程序,它需要以定义的时间间隔将坐标发送到服务器。它可以在 iPhone 4 上正常工作,即使在后台也是如此(请参阅:iOS HTTP request while in background)。
我的一个朋友在 iOS 4.2.1 的 iPhone 3G 上安装了它,在他将应用程序置于后台后,它被操作系统杀死了。该应用程序有 3 个屏幕,第一个是登录屏幕。在他返回前台后,登录屏幕再次出现,而不是他打开的屏幕(这意味着应用程序被杀死并在重新启动时重新启动)。在 iPhone 4 上按预期工作。
为什么在 iPhone 3G 上,即使将应用程序声明为位置应用程序,应用程序也不会在后台运行(“所需的后台模式”设置在“应用程序注册以进行位置更新”)?