如何在iPhone中删除本地通知

如何在iPhone中删除本地通知,iphone,Iphone,我正在制作一个设置本地通知的应用程序 谢天谢地,我能够设置本地通知,但我不知道如何删除应用程序设置的通知 XCode确实提供了删除removeAllNotifications的功能,但您不能删除应用程序设置的特定通知 非常感谢 这个问题你问了两次,所以我现在回答这两个问题,希望你能理解: [[UIApplication sharedApplication] cancelLocalNotification:notification] 使用以下代码取消所有本地通知: [[UIApplication

我正在制作一个设置本地通知的应用程序

谢天谢地,我能够设置本地通知,但我不知道如何删除应用程序设置的通知

XCode确实提供了删除
removeAllNotifications
的功能,但您不能删除应用程序设置的特定通知


非常感谢

这个问题你问了两次,所以我现在回答这两个问题,希望你能理解:

[[UIApplication sharedApplication] cancelLocalNotification:notification]
使用以下代码取消所有本地通知:

[[UIApplication sharedApplication] cancelAllLocalNotifications];

使用以下代码行取消一个本地通知:

[[UIApplication sharedApplication] cancelLocalNotification:theNotification];
其中,
notification
是一个
UILocalNotification
对象,因此为了取消特定通知,您需要保留它的
UILocalNotification



您可以在中找到更多信息。

您可以通过以下功能取消通知:
[[UIApplication sharedApplication]cancelNotification:UILocalNotification的对象]
您好,您可以在swift中创建本地通知:

var notif = UILocalNotification()
        notif.timeZone = NSTimeZone.defaultTimeZone()

        let morningOfChristmasComponents = NSDateComponents()
        morningOfChristmasComponents.year = 2016
        morningOfChristmasComponents.month = 03
        morningOfChristmasComponents.day = 30
        morningOfChristmasComponents.hour = 15
        morningOfChristmasComponents.minute = 59
        morningOfChristmasComponents.second = 0

        let morningOfChristmas = NSCalendar.currentCalendar().dateFromComponents(morningOfChristmasComponents)!

        let formatter = NSDateFormatter()
        formatter.dateStyle = NSDateFormatterStyle.LongStyle
        formatter.timeStyle = .MediumStyle

        let dateString = formatter.stringFromDate(morningOfChristmas)

        notif.fireDate = morningOfChristmas
        notif.alertBody = "alarma wolf"
        notif.userInfo = ["identificador": "wolf"]
        UIApplication.sharedApplication().scheduleLocalNotification(notif)
        print("alarma fijada para \(dateString)")
loo用户信息是本地通知的索引,现在,如果要删除特定的本地通知操作,请尝试:

var uidtodelete = "wolf"
        var app:UIApplication = UIApplication.sharedApplication()
        for oneEvent in app.scheduledLocalNotifications! {
            var notification = oneEvent as UILocalNotification
            let userInfoCurrent = notification.userInfo! as! [String:AnyObject]
            let uid = userInfoCurrent["identificador"]! as! String
            if uid == uidtodelete {
                //Cancelling local notification
                app.cancelLocalNotification(notification)
                break;
            }
        }
看看上面的方法,userInfoCurrent是您的本地通知的标识符,UiteDelete是一个字符串,其中包含要删除的locla通知的特定键

啊。。。如果要删除所有本地通知,可以使用

UIApplication.sharedApplication().cancelAllLocalNotifications()

奥基

我希望你能为自己或其他人提供这些信息


再见,请原谅我的英语不好

Hi Thomas,您将在哪里保存或获取通知对象?如果您不想取消所有通知,您必须将您可能要取消的NSNotification保存在内存中的某个位置。可能是一个包含NSNotifications数组的适当类的属性。thomas,我通过序列化UILocalNotification对象找到了答案。不过,这并没有在应用程序图标上去掉带圆圈的1。有办法把这个拿出来吗?看看这个: