iPhone-如何捕捉应用程序是否终止(更新徽章图标)



我正在设置:

- (void)applicationWillTerminate:(UIApplication *)application
{
    [UIApplication sharedApplication].applicationIconBadgeNumber = 1;
}

在我的应用程序代理中,但徽章从未更新。。。问题出在哪里?

当应用程序被终止时(手机关机、任务栏应用程序终止、应用程序因内存过载而被系统终止…),我该如何更新徽章

当您的应用程序在后台终止时,它没有机会自行清理。该应用程序在备份时已挂起;当被杀死时,它只是从RAM中删除。您的徽章更新需要在此之前进行。

来自苹果文档:

已暂停该应用程序处于后台,但未执行代码。系统会自动将应用程序移动到此状态,在此之前不会通知它们。挂起时,应用程序仍在内存中,但不会执行任何代码。当内存不足时,系统可能会在没有通知的情况下清除挂起的应用程序,为前台应用程序腾出更多空间。

还有:

applicationWillTerminate:--让您知道您的应用程序正在被终止。如果您的应用程序已挂起,则不会调用此方法。

-applicationWillTerminate:方法中抛出一个NSLog(@"App is being terminated.");。我想你会发现,当你以这种方式终止应用程序时,这个方法并没有被调用。

您可以在应用程序正常执行期间或启动应用程序时设置应用程序的徽章图标。

请查看以下中的应用程序生命周期文档

也试着看看下面哪种方法被称为

applicationWillResignActive:
applicationDidEnterBackground:

最新更新