繁体   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