在 iOS8-iOS9 中设置提醒/警报

Posted

技术标签:

【中文标题】在 iOS8-iOS9 中设置提醒/警报【英文标题】:Setting Reminders/Alarms in iOS8-iOS9 【发布时间】:2016-01-08 12:01:03 【问题描述】:

主要问题:如果我想在我的应用中为任务附加截止日期,我应该使用本地通知、警报或提醒吗?我希望他们在截止日期到来时即使应用程序没有运行也能收到通知。

我找到了this 使用 UILocalNotification 的教程,它说可以:

使我们能够在不运行应用程序的情况下向用户投射通知

但是,它是六年前写的,并且还指出这是在 ios4 中引入的。我知道 5 个 iOS 版本发生了很多变化。

我也 read,或者,我可以使用 Event Kit。但是,这似乎比 UILocalNotification 更复杂。

最后,我可以使用可能将当前日期/时间和提醒日期/时间和create a timer 倒计时。

因此,如果我只想在我的应用程序中为任务附加截止日期(它们不需要显示在提醒或日历中),最好的方法是什么?为什么?

【问题讨论】:

是的,你应该使用UILocalNotification 你必须使用 UILocalNotification。 谢谢你们。由于我找到的教程是在 Objective-C 中,如果你们中的任何一个想提供一个在 Swift 中创建 UILocalNotification 的示例,我可以将其标记为正确答案。或者也许是区分 UILocalNotification 使用和警报使用之间差异的答案,这也可以。 - @rptwsthi 【参考方案1】:

我发现了下面的 code here 块。这也是如何在应用程序中创建事件的好教程。

var notification = UILocalNotification()
notification.alertBody = "Todo Item \"\(item.title)\" Is Overdue" // text that will be displayed in the notification
notification.alertAction = "open" // text that is displayed after "slide to..." on the lock screen - defaults to "slide to view"
notification.fireDate = item.deadline // todo item due date (when notification will be fired)
notification.soundName = UILocalNotificationDefaultSoundName // play default sound
notification.userInfo = ["UUID": item.UUID, ] // assign a unique identifier to the notification so that we can retrieve it later
notification.category = "TODO_CATEGORY"
UIApplication.sharedApplication().scheduleLocalNotification(notification)

【讨论】:

以上是关于在 iOS8-iOS9 中设置提醒/警报的主要内容,如果未能解决你的问题,请参考以下文章

在 android Firebase 中设置警报

如何在 ios 日历中的 EKEvent 中设置特定警报?

如何使用后台服务在android中设置提醒?

使用 AS3 在 iPhone 和 android 中设置提醒

在 Swift 2 Xcode 7 Beta 4 中设置基于位置的提醒时出错

我想在 access 中设置每两周一次的电子邮件提醒