iPhone:如何测试UIApplicationExitsOnSuspend是否有效?

时间:2010-07-06 16:14:11

标签: iphone multitasking

我将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]
不匹配的退货类型:已选择
未使用的变量:已选择

6 个答案:

答案 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键现在可以正常工作,我的应用终止