【发布时间】:2010-11-15 20:08:22
【问题描述】:
我正在尝试在我的 iPhone 应用中获得以下功能:
- 在后台运行时,保持运行(无需执行任何后台工作)
- 恢复后,应用会从中断处继续
我主要希望我的应用程序上的同一个屏幕仍在运行,因为在 UITabBarController 中有几个 UINavigationControllers。
我已完成以下所有操作:
- 确保我使用 4.1 SDK 进行编译
- 将 UIApplicationExitsOnSuspend 设置为 false
- 在我的 AppDelegate 中处理 DidEnterBackground 和 WillEnterForeground
- 在 DidEnterBackground 中调用 BeginBackgroundTask,尝试让我的应用保持打开状态
我正在使用 MonoTouch,但它可能跑题了。当然,我可以在 Obj-C 中得到答案。
我已经在带有 Backgrounder 的越狱手机上测试了我的应用,我看到“后台应用”徽章在按下主页按钮后立即消失。我还尝试在 Info.plist 中设置 UIBackgroundModes,但无济于事。
我有什么遗漏的吗?
或者这是我必须自己实现以恢复我的应用程序以前的状态?在我读过的任何地方,它都应该自动运行。
【问题讨论】:
-
在设备上调试时,WillTerminate 在按下主页按钮后几乎立即被调用。
-
我将把这个问题发给 MonoTouch 的人,因为一个新的简单重现应用也有同样的问题。
-
忽略后台程序,当您从您的应用程序转到另一个应用程序时,您的应用程序是否完全回到您离开时的位置?当您在设备上通过 Xcode 运行应用程序时,当您点击设备或模拟器上的主页按钮时,调试是否停止(红色的小停止标志变灰)?您是否在支持多任务处理的设备(iPhone 3GS 和更新版本)上运行它?
标签: iphone ios4 xamarin.ios multitasking fast-app-switching