Local Notificaton在模拟器iOS10.0中无效

时间:2016-10-25 10:03:46

标签: swift3 unusernotificationcenter

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    askForPermission()  
}

@IBAction func addLocalNotification(_ sender: AnyObject) {

    addLocalNotification()    
}

func addLocalNotification() {

    let content = UNMutableNotificationContent()
    content.title = "iOS10.0"
    content.body = "Hello Buddy"
    content.sound = UNNotificationSound.default()
    // Deliver the notification in five seconds.
    let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 5, repeats: false)
    let request = UNNotificationRequest.init(identifier: "FiveSecond", content: content, trigger: trigger)
    // Schedule the notification.
    let center = UNUserNotificationCenter.current()
    center.add(request) { (error) in
         print(error)
    }
    print("should have been added")
}

func askForPermission() {

    UNUserNotificationCenter.current().requestAuthorization(options: [.alert,.sound,.badge]) { (granted, error) in

    }
}

1 个答案:

答案 0 :(得分:9)

您必须在UNUserNotificationCenter中实施委托,以告知系统您希望在应用程序运行时显示通知。请参阅此处的示例:https://github.com/jerbeers/DemoLocalNotification