我正在尝试在我的iPhone应用中获得以下功能:
由于UITabBarController中有多个UINavigationControllers,我仍然主要想在我的应用程序上使用相同的屏幕。
我已完成以下所有操作:
我正在使用MonoTouch,但它可能与此无关。我肯定可以在Obj-C中找到答案。
我已经使用Backgrounder在越狱手机上测试了我的应用程序,并且在按下主页按钮后,我看到“app in background”徽章立即消失。我也尝试在我的Info.plist中设置UIBackgroundModes,但无济于事。
我有什么遗漏吗?
或者这是我必须自己实现以恢复我的应用程序的先前状态的东西?在任何地方,我都会阅读它应该只是自动工作的会谈。
答案 0 :(得分:1)
如果您不想在后台工作,请不要调用beginBackgroundTask。该调用适用于您希望在后台进行某种工作的情况。如果你没有足够快地完成这项工作,iOS将终止你的应用程序。
答案 1 :(得分:1)
当我升级到iOS 4.x时,我的MT应用程序开始展示这种行为,而我无需做任何事情。 iOS应该为你照顾它。
答案 2 :(得分:1)
我终于在MonoTouch的irc上与某人联系。
在MonoDevelop中,我可以选择制作双iPad / iPhone项目。这导致我的应用程序在部署到设备时就像使用3.2 SDK一样运行。
我认为我的解决方案是安装刚推出的iOS 4.2 SDK,因为这会在iPad上宣传新的多任务功能。
答案 3 :(得分:0)
您不仅需要支持进入后台,还需要支持应用程序终止的情况。在应用程序的初始化代码中,您应该恢复它所处的状态。例如,当您按下视图控制器时,使用NSUserDefaults
存储当前显示的屏幕的值,然后当您开始阅读时值并显示关联的屏幕。