我有一个应用程序,它捕获applicationWillResignActive的通知以写出文件。它适用于各种设备(包括4.x iPhone),但从未使用运行iOS 4.2.1的iPod Touch(第二代)。我在函数的开头设置了断点,它们从不被触发,因此它不是特定于代码的。看起来像设备特定的奇怪的事情,但也许我需要找到一个替代方案。这是一个已知问题吗?
答案 0 :(得分:0)
可能是因为iPod 2gen和iphone 3G(不是3GS)等2gen设备缺乏多任务支持。这是您的ipod将看到的最新操作系统。由于旧设备没有此支持,因此只有在收到来电或短信时才会触发此代表。按下此设备上的主页按钮时,将触发applicationWillTerminate。使用[[UIDevice currentDevice] multitaskingSupported]
检测模型是否支持多任务并使用它将代码传递给applicationWillTerminate:
- (void)applicationWillTerminate:(UIApplication *)application
{
if(![[UIDevice currentDevice] multitaskingSupported])
{
//Your code here for non-multitasking devices
}
//Code for booth plataforms
}
希望它有所帮助。