所以我知道这已经被打死了,但我仍然无法找到解决方案。
我<true/>
在 Info.plist 中将 UIApplicationExitsOnSuspend 设置为,并且仍然在模拟器和 iPhone 4 设备上,应用程序进入待机状态而不是终止?
有什么想法可以让它终止吗?也许我需要从应用程序委托中删除一些方法?有任何想法吗?
您是否进行了干净的构建,从模拟器和设备中删除了应用程序,然后重新安装?这是唯一影响它的关键。此外,请确保您使用设置为 iOS 4.0 的基本 SDK 进行构建。
UIApplicationExitsOnSuspend (Boolean - iOS) 指定应用程序在退出时应该终止而不是移动到后台。与 iPhone SDK 4.0 或更高版本链接的应用程序可以包含此键并将其值设置为 YES 以防止自动选择加入后台执行和应用程序暂停。当此键的值为 YES 时,应用程序将终止并从内存中清除,而不是移至后台。如果此键不存在或设置为 NO,则应用程序将照常移至后台。
我遇到了与 Cyril 相同的问题:我将“YES”粘贴为值,但这使得键默认为 String 而不是“Boolean”。因此,右键单击该键并确保其类型为布尔型。
将 YES 设置为 UIApplicationExitsOnSuspend ,从第一次开始对我来说效果很好,但我没有意识到,因为双击时会显示我的应用程序。
“双击主页按钮将始终显示您的应用程序,因为它是最近使用的应用程序列表。(参考: http: //www.apple.com/iphone/features/multitasking.html)”
如果调用了 applicationWillTerminate 委托方法,那么你就完成了..(添加断点或 NSLog 进行检查)
只是一个提示。希望这对像我这样的人有所帮助..;)
我遇到了同样的问题,当您添加键 UIApplicationExitsOnSuspend 时,请确保您右键单击它并选择值类型 > 布尔值。否则 Xcode 会忽略它。希望能帮助到你
这似乎在 Xcode4 / iOS 4.3 中发生了变化(变得更好)。布尔值现在是“应用程序不在后台运行”,而且 - 好吧 - 它对我有用。
请务必注意,您的 AppDelegate 的“applicationDidEnterBackground”和“applicationWilLTerminate”方法都被调用(按此顺序),即使您的 UIApplicationExitsOnSuspend 被标记为(布尔值)“YES”。