无法停止iOS scheduleLocalNotification

时间:2016-10-26 01:40:09

标签: swift ios9 uilocalnotification

我不确定这是否是技术问题。我试着通过调用它来实现预定的本地通知:

// Schedule the notification ********************************************
    if UIApplication.sharedApplication().scheduledLocalNotifications.count == 0 {

        let notification = UILocalNotification()
        notification.alertBody = "This is local push notification"
        notification.soundName = UILocalNotificationDefaultSoundName
        notification.fireDate = NSDate()
        notification.category = categoryID
        notification.repeatInterval = NSCalendarUnit.Minute

        UIApplication.sharedApplication().scheduleLocalNotification(notification)
    }

来自

func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
}

工作正常。但是,当我将代码还原到原始版本而没有与 scheduleLocalNotification()相关的任何代码行时,本地通知仍在运行。 即使我在重建之前清理项目/从设备中删除应用程序,我也无法阻止它。

请尽可能帮助,谢谢!

1 个答案:

答案 0 :(得分:3)

您已创建重复的本地通知并将其传递给系统。那时它是从你手中。您告诉系统重复此通知,它将执行此操作,永远

此时您唯一的选择是删除您的应用。

你所做的是一个经典的错误 - 不幸的是,许多应用实际上做错了。我还必须从我的设备中删除这些应用,因为没有其他方法可以停止重复通知。

正确要做的事情就是在您的应用中构建取消该本地通知,即您停止代码中的通知。例如,您将UIApplication共享实例告诉cancelAllLocalNotifications。但是你做不到。