- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么按下按钮后不显示通知?
如果 fireDate 是 NSDate(timeIntervalSinceNow: 10)
它会工作正常
如何从数组中获取通知?
@IBAction func buttonPressed(sender: AnyObject) {
var stringDate = dateFormatter.stringFromDate(timePicker.date)
alarmArray.append(stringDate)
let fixedAlarmArray = alarmArray
NSUserDefaults.standardUserDefaults().setObject(fixedAlarmArray, forKey: "alarmArray")
NSUserDefaults.standardUserDefaults().synchronize()
//Local Notification
var localNotification:UILocalNotification = UILocalNotification()
localNotification.alertAction = "Go to app"
localNotification.alertBody = "Its Time!"
localNotification.fireDate = timePicker.date
localNotification.timeZone = NSTimeZone.defaultTimeZone()
UIApplication.sharedApplication().scheduleLocalNotification(localNotification)
self.view.endEditing(true)
}
最佳答案
The date specified in fireDate is interpreted according to the value of this property. If you specify nil (the default), the fire date is interpreted as an absolute GMT time, which is suitable for cases such as countdown timers. If you assign a valid NSTimeZone object to this property, the fire date is interpreted as a wall-clock time that is automatically adjusted when there are changes in time zones; an example suitable for this case is an an alarm clock.
localNotification.fireDate = timePicker.date
localNotification.timeZone = NSTimeZone.defaultTimeZone()
// the problem is here, you are setting the timezone after inputing your date
你应该使用 localtimeZone 并在设置 fireDate 之前设置它
localNotification.timeZone = NSTimeZone.localTimeZone()
localNotification.fireDate = timePicker.date
注意:
In iOS 8 and later, apps that use either local or remote notifications must register the types of notifications they intend to deliver. The system then gives the user the ability to limit the types of notifications your app displays. The system does not badge icons, display alert messages, or play alert sounds if any of these notification types are not enabled for your app, even if they are specified in the notification payload.
这样做:
UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: UIUserNotificationType.Badge | UIUserNotificationType.Sound | UIUserNotificationType.Alert, categories: nil))
创建一个扩展,将选择的时间与 0 秒结合起来,如下所示:
extension NSDate {
var day: Int { return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitDay, fromDate: self).day }
var month: Int { return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitMonth, fromDate: self).month }
var year: Int { return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitYear, fromDate: self).year }
var minute: Int { return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitMinute, fromDate: self).minute }
var hour: Int { return NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitHour, fromDate: self).hour }
var fireDate: NSDate {
return NSCalendar.currentCalendar().dateWithEra(1, year: year, month: month, day: day, hour: hour, minute: minute, second: 0, nanosecond: 0)!
}
}
然后按如下方式使用它:
localNotification.fireDate = timePicker.date.fireDate
关于swift - 未收到来自 LocalNotification.fireDate 的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27407245/
我收到以下通知,该通知设置为在当天晚上 9 点(如果当前在晚上 9 点之前)或第二天晚上 9 点(如果已经超过晚上 9 点)触发。 一切看起来都不错,但无论当前时间如何,它总是立即显示通知。 let
我知道如何使用 UILocalNotification。 My Question is NOT related to custom repeatInterval, i know unfortunate
我想为一个在下午 6:00 开始的程序设置本地通知。为此,我在日期变量中获取了时间,并将其与系统中的当前日期进行比较。 假设 setDate 是固定日期,即下午 6 点,所以我必须设置 firedat
我正在使用 Swift 开发 iOS 应用程序。 抱歉,我的英语非常非常糟糕。 我想在设备被锁定或应用程序处于后台时对 UILocalNotification 的 fireDate 进行任何处理。 我
请给我我正在等待的解决方案我制作了一个闹钟应用程序,我在本地通知 fireDate 上设置的闹钟时间正常工作,然后我尝试第二次(1 分钟后的贪睡时间)我无法设置本地通知,当我尝试设置第二次时时间本地通
我正在使用这个应用程序 here它适用于我,但我想手动插入本地通知的 fireDate,而不是使用 datePicker。 notif.fireDate = [datePicker date]; 如何
为什么按下按钮后不显示通知? 如果 fireDate 是 NSDate(timeIntervalSinceNow: 10) 它会工作正常 如何从数组中获取通知? @IBAction func
有什么方法可以将同时触发的两个(或更多)UILocalNotifications 合并在一起。假设我有两个提醒在今天中午 12 点触发: 1) 洗碗2)买牛奶 我现在拥有的是(因为我已经安排了两个单独
根据 Apple docs在 UILocationNotification.fireDate 上: If the specified value is nil or is a date in the
我正在尝试为我的本地通知设置一个有条件的触发时间,但是当我尝试这两种方法时它并没有失败,但它仍然没有用。所以,我想知道我是否能够做这样的事情? 注意:startTime 和 endTime 是来自日期
我有下面的代码,它根据存储在 NSDefault 变量 checkOutTime 中的值初始化一个 NSTimer。 假设我将此变量中的时间更改为过去的时间(当前时间之前)并重新初始化计时器,它会自动
我正在尝试学习 Xcode 和 swift,但我无法让我的通知适用于我正在制作的简单闹钟。我使用了日期选择器并为此设置了 notification.firedate =。通知出现在通知窗口上,但警报窗
我正在使用 NSTimer,在某些情况下,我想将方法 NSTimer 调用被调用之前的时间加倍。 基本上:如果我将它设置为每 0.5 秒调用一次,我想偶尔延迟它以便它在下次调用之前等待 1.0 秒
如果我创建一个UILocalNotification并将其fireDate设置为过去并使用repeatInterval,那么将来下次repeatInterval到期时它会触发吗?或者 UILocalN
我在我的应用程序中安排了一批通知,一些具有重复间隔,另一些只是在特定日期触发一次。我正在使用此方法设置我的通知以创建通知: func notification(date: Date, repeatUn
我的任务是创建一个闹钟应用程序。我设法使用本地通知发出警报声。 问题是我无法在“暂停”和“确定”的本地通知上制作按钮(操作)。我还搜索了如何实现交互式本地通知,但我无法理解。我现在想的是创建一个带有按
有谁知道“PushNotificationIOS”方法“scheduleLocalNotification”的“fireDate”对象的日期和时间格式 提前致谢 最佳答案 我在向 fireDate 发
我正在尝试使用 NSTimer 来调用方法,但它不起作用。我需要此方法在用户在日历上设置的特定日期和时间运行一次。 我的 viewDidLoad 方法中有这段代码: NSDateComponents
下面的代码适用于通知。但是,当我尝试该应用程序时,远近之间的通知太多了。 extension AppDelegate: CLLocationManagerDelegate { func sendLoc
我是一名优秀的程序员,十分优秀!