Swift - 每日本地通知事件

时间:2017-02-27 02:32:44

标签: ios swift swift3

在我的应用程序中,用户将设置时间。在那个时候,我需要向他们发送每日通知,其中包含新创建的约会。例如,假设有3个约会在" 01-03-2017"。因此,在那一天,在选定的时间,用户应该收到通知,提到"您有3个新约会"。新添加的约会将保存在本地领域db中。

实际上我要做的是每天用户提到的时间,应该运行代码段并检查db中是否有任何新的约会。如果需要,请点击本地通知。即使应用程序很接近这应该工作。我在Android中看到我们可以使用报警管理器来完成此操作。但是我很快就没有办法做到这一点。

我不是斯威夫特的专家。如果你能给我一个解释的解决方案,那么感谢你。感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您将无法在所需的时间运行代码,因为iOS无法执行此操作。

但是,如果更新领域数据库,则意味着应用程序正在运行以添加新约会。

当它发生时,您可以使用类似于以下的功能来创建本地通知

func createLocalNotification(atDate date: DateComponents, appointmentCount: Int) {
  var content = UNMutableNotificationContent()

  content.title "You have \(appointmentCount) appointment(s) today"
  content.badge: appointmentCount

  let trigger = UNCalendarNotificationTrigger(dateMatching: date, repeats: false)
  let notificationRequest = UNNotificationRequest(identifier: "notification-request-\(date.day!)-\(date.month!)-\(date.year!)", content: content, trigger: trigger)

  UNUserNotificationCenter.current().add(notificationRequest)
}