objective-c - 从iPhone删除应用程序时如何删除所有本地通知

标签 objective-c iphone xcode uilocalnotification

假设我为 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/

相关文章:

iphone - xcode 从哪里获取应用程序的标识符?

ios - 在 Swift 2 中创建 MTAudioProcessingTapCallbacks

ios - 在 cellForRowAtIndexPath 中设置 UILabel 的计数

ios - Facebook 不会完全注销-ios

iphone - 在 UITextView 上选择 UITableViewCell 会失去调用 didSelectRowAtIndexPath 委托(delegate)方法的能力吗?

ios - 无效的图像路径 - 未找到图像

ios - 供应配置文件不包括应用程序标识符和钥匙串(keychain)访问组权利

iphone - UIDatePicker 在 iPhone 上横向显示为黑色

ios - 手写绘图有点晚,就像我手指的回声 ios objective c

ios - iPad 方向无法正常工作