我需要我的应用程序来存储应该在特定时间启动的一些local notifications
。
我的申请很简单。用户可以使用UIDatePicker
预订时间。该通知将在预定时间前2分钟被解雇。
目前我正在尝试手动插入应该触发通知的时间。我正在使用此代码:
let notification = UILocalNotification()
self.timePicked = " 22:38:00 +0000"
timeForLocalPush = defaults.objectForKey("timeForLocalPush") as! String
timeForLocalPush = timeForLocalPush + self.timePicked
print(timeForLocalPush) // this prints for this example today, 2016-08-30 22:38:00 +0000
dateFormatter.dateFormat = "YYY-MM-dd"
notification.fireDate = dateFormatter.dateFromString(timeForLocalPush)
notification.timeZone = NSCalendar.currentCalendar().timeZone
notification.alertBody = self.nameField.text! + " Har bokat tid nu!"
UIApplication.sharedApplication().scheduleLocalNotification(notification)
在预订时间后会立即触发通知。期望的行动是:
当前时间:14:17
此时的客户图书:15:00
本地通知设置为触发:14:58
如果您需要任何其他信息,请告诉我。谢谢
答案 0 :(得分:1)
最初检查您的日期格式是否错误dateFormatter.dateFormat = "YYY-MM-dd"
,它位于dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
例如
let localNotification1 = UILocalNotification()
localNotification1.alertBody = "Your alert message "
localNotification1.timeZone = NSCalendar.currentCalendar().timeZone
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
localNotification1.fireDate = formatter.dateFromString("2016-08-30 22:38:00")
UIApplication.sharedApplication().scheduleLocalNotification(localNotification1)
答案 1 :(得分:0)
请正确设置日期格式:
// this prints for this example today, 2016-08-30 22:38:00 +0000
//Your date format decalre: dateFormatter.dateFormat = "YYY-MM-dd"
dateFormatter.dateFormat = "YYYY-MM-dd HH:mm:ss"