假设我为 iPhone 应用程序设置了 5 个本地通知,然后用户删除了该应用程序。如果再次安装该应用,它会显示之前的通知。
我知道下面的代码会删除所有通知
[[UIApplication sharedApplication] cancelAllLocalNotifications];
但是我该把代码放在哪里,以便它在删除应用程序时执行?
或任何其他解决此问题的方法。
最佳答案
正如其他人所提到的,我认为实现此目的的最佳方法是在应用程序委托(delegate)的 didFinishLaunchingWithOptions 中设置一个标志,以检查它是否是第一次启动。
如果应用是第一次启动,可以调用
[[UIApplication sharedApplication] cancelAllLocalNotifications];
这将取消任何现有的通知。
例如:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
// this flag will need to be stored somewhere non-volatile such as using CoreData
// or user defaults
if(flag == nil || [flag count] ==0){
[[UIApplication sharedApplication] cancelAllLocalNotifications];
// update your flag so that it fails this check on any subsequent launches
flag = 1;
}
{
关于objective-c - 从iPhone删除应用程序时如何删除所有本地通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9272105/