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

标签 ios swift eventkit ekeventstore ekreminder

所以我有一个应用程序,可以在其中创建提醒并将其添加到您 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


}

这是该方法的 super 基本版本,它执行其他对这个问题不重要的事情。类中还有其他凝灰岩,例如 viewedload 之类的东西。

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

最佳答案

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

您可以使用此方法,它会检查包名称的(提醒)日历是否存在。如果确实返回它,如果没有则创建一个。

该方法假设有一个属性 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: {$0.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
}

关于ios - 创建一个提醒列表,它可以在您从我的应用程序创建的提醒应用程序中保存您的提醒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56727160/

相关文章:

ios - 后端在第一次点击后不更新,并在连续点击后获取先前的值

ios - 如果我有两个实现协议(protocol)的 View Controller ,我如何指定哪个是我的第三个 Controller 的委托(delegate)?

swift - 为什么使用 GCD 的 Swift CLI 代码与不使用并发的代码运行速度相同?

ios - 错误 "Use of unresolved identifier ' EKEntityTypeEvent'“尝试访问日历

ios - 创建日历,即使关闭 iCloud 也没有本地资源

ios - 关于使用 eventIdentifier 以编程方式获取 EKEvent 的问题

UIView 中的 iOS UIScrollView

objective-c - ShareKit/Twitter 内存泄漏

c - 了解绑定(bind)功能

ios - CollectionView 作为 Swift 中的 subview