我的iOS应用程序出现问题。
当我从iOS任务栏中删除应用时,WillTerminate
事件未被调用....任何想法为什么?
我设置的唯一后台服务是voip SetKeepAliveTimeout Timer(在info.plist中带有“voip”标志)。但即使我拿出这个,WillTerminate
事件也永远不会被解雇。
我还在DidEnterBackground
事件上注册了SignificantLocationChanges。
有什么想法吗?
THX
答案 0 :(得分:5)
WillTerminate
将不会在支持多任务的设备和iOS版本上调用(iOS 4引入)。使用iOS 4,应用程序仅发送到后台,如果您从任务栏中杀死应用程序,它实际上是在没有获得任何回调的情况下被杀死的。仍然一个应用程序可以选择退出发送到后台的过程,然后接收..terminate事件,但也失去了保持加载RAM的能力。要选择退出,必须在UIApplicationExitsOnSuspend
内设置密钥info.plist
。
如需更长的解释,请查看有关iOS 4 Backgrounding and Delegate Messaging
的精彩文章