簡體   English   中英

本地通知不起作用(快速)

[英]Local notifications not working (swift)

我希望觸發本地通知。 我嘗試創建此文件,但成功,沒有錯誤,但是當我在模擬器中運行應用程序時,本地通知未執行

app delegate代碼

application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: .Alert | .Badge | .Sound, categories: nil))

  // play default sound
    return true
}

view controller

class TechByteSchedulingViewController:UIViewController {
@IBOutlet weak var datePicker: UIDatePicker!

@IBAction func DateChosen(sender: UIButton) {
    func sendNotification(sender: UIButton) {
        var localNotification = UILocalNotification()
        localNotification.fireDate = datePicker.date
        localNotification.repeatInterval = .CalendarUnitDay
        localNotification.alertBody = "check out your daily byte"
        localNotification.alertAction = "Open"
        localNotification.timeZone = NSTimeZone.defaultTimeZone()
        localNotification.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1
        localNotification.soundName = UILocalNotificationDefaultSoundName
        UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

        func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
            application.applicationIconBadgeNumber = 0

    }
        self.navigationController?.popToRootViewControllerAnimated(true)
            }

}
override func viewDidDisappear(animated: Bool) {


}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

此基礎上我看到你實現ButtonAction功能這是不對的里面的一些功能...你應該實現sendNotfication功能ButtonAction之外,那么把它稱為ButtonAction

class TechByteSchedulingViewController:UIViewController  {

   @IBOutlet weak var datePicker: UIDatePicker!

  @IBAction func DateChosen(sender: UIButton) {
    self.sendNotification()
  }

    func sendNotification() {
    var localNotification = UILocalNotification()
    localNotification.fireDate = datePicker.date
    localNotification.repeatInterval = .CalendarUnitDay
    localNotification.alertBody = "check out your daily byte"
    localNotification.alertAction = "Open"
    localNotification.timeZone = NSTimeZone.defaultTimeZone()
    localNotification.applicationIconBadgeNumber = UIApplication.sharedApplication().applicationIconBadgeNumber + 1
    localNotification.soundName = UILocalNotificationDefaultSoundName
    UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
 }

    func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) {
        application.applicationIconBadgeNumber = 0
    self.navigationController?.popToRootViewControllerAnimated(true)
        }

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM