创建一个提醒列表,它可以在您从我的应用程序创建的提醒应用程序中保存您的提醒

Create a Reminder List which can hold your reminders in the Reminders App that you create from my App

所以我有一个应用程序,可以在其中创建提醒并将其添加到您 iPhone 上的提醒应用程序中。但在 Reminders App 中,它们有不同的列表或类别。我想为我的应用程序创建自己的类别。然后我想为该类别添加提醒。

所以我的代码片段基本上是一个按钮,然后将提醒添加到随机列表(我认为)。但我希望将提醒发送到应用程序(我的应用程序)需要创建的特定列表(在提醒应用程序中)。如果列表已经创建,我需要使用该列表。

var eventStore = EKEventStore()
@IBAction func ActSetReminder(_ sender: Any) {
    let reminder = EKReminder(eventStore: self.eventStore)
    reminder.calendar = eventStore.defaultCalendarForNewReminders()    
    reminder.title = "the title doesn't matter to you"
    reminder.isCompleted = false


}

这是该方法的超级基本版本,它执行其他对这个问题不重要的事情。 class 中还有其他内容,例如已查看的负载和其他内容。

如果您需要更多代码或有任何问题,请问我!

就日历框架而言,提醒类别只是一个日历。

您可以使用此方法,它会检查捆绑名称的(提醒)日历是否存在。如果有 return 它,如果没有就创建一个。

该方法假定有一个 属性 eventStore 持有 EKEventStore 实例。

func reminderCategory() throws -> EKCalendar {
    let calendars = eventStore.calendars(for: .reminder)
    let bundleName = Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as! String
    if let bundleCalendar = calendars.first(where: {[=10=].title == bundleName}) { return bundleCalendar }

    let calendar = EKCalendar(for: .reminder, eventStore: eventStore)
    calendar.title = bundleName
    calendar.source = eventStore.defaultCalendarForNewReminders()?.source
    try eventStore.saveCalendar(calendar, commit: true)
    return calendar
}