我将UIApplicationExitsOnSuspend设置为boolean并选中了复选框,所以我认为
- (void) applicationDidEnterBackground:(UIApplication *)application
未被调用 - 但是当我单击模拟器中的主页按钮时,我总是进入该方法。我做错了什么,或者我可以确定该应用程序将表现为“旧式”并且不支持多任务处理吗?
非常感谢,
的Stefan
此级别定义的设置
架构:标准
基础SDK:iPhone模拟器4.0
代码签名身份:iPhone开发人员:myName
任何iPhone OS设备:iPhone开发人员:myName
iPhone OS部署目标:iPhone OS 3.1
其他链接器标志:-lxml2
预绑定:未选择
标题搜索路径:/ usr / include / libxml2
C语言方言:C99 [-std = 99]
不匹配的退货类型:已选择
未使用的变量:已选择
答案 0 :(得分:6)
我发现测试它的一个区别是使用连接到Xcode调试器的iPhone 4 Simulator或Device。如果你正确启用它,当你点击主页按钮它将退出调试器。如果启用了“多任务处理”,当您点击主页按钮时,调试器将不会退出 - 触摸您的图标并将其恢复将继续进行调试会话。
答案 1 :(得分:3)
http://www.drobnik.com/touch/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/
必须在FLOWChart上阅读该问题,在iOS4上会发生什么
答案 2 :(得分:2)
为UIApplicationExitsOnSuspend设置YES,从第一次开始对我有用,但我没有意识到,因为我的应用程序在双击时显示。
“双击主页按钮将始终显示您的应用,因为它是最近使用的应用列表。(参考:http://www.apple.com/iphone/features/multitasking.html)”
如果调用了applicationWillTerminate委托方法,那么你就完成了..(添加一个断点或NSLog来检查)
只是小费。希望这有助于像我这样的人..;)
答案 3 :(得分:0)
关键UIApplicationExitsOnSuspend仅适用于设备iPhone 4。 即使您安装了iOS4并且具有多任务处理功能,它也无法在iPhone 3GS上运行。 这就是我们的测试所显示的。
答案 4 :(得分:0)
在我的测试期间applicationDidEnterBackground
被调用(之后ApplicationWillTerminate
),尽管我也将UIApplicationExitsOnSuspend
设置为YES
。我已经在安装了iOS 4.1和iPhone 4模拟器的iPhone 3G上测试了应用程序。
有人在iPhone 4上测试了这个吗?
答案 5 :(得分:0)
我遇到了同样的问题。对我有用的是将我的info.plist文件转换为xml。我创建了一个新的空白项目,只是为了查看info.plist文件并看到它是在xml中,而我的旧项目没有xml格式的info.plist。所以,我使用新的info.plist xml格式来重写我的info.plist文件。执行此操作后,UIApplicationExitsOnSuspend键现在可以正常工作,我的应用终止