Создайте список напоминаний, который может содержать ваши напоминания в приложении напоминаний, которое вы создаете из моего приложения - PullRequest
0 голосов
/ 23 июня 2019

Итак, у меня есть приложение, в котором напоминание создается и добавляется в приложение напоминания на вашем iPhone. Но в приложении напоминаний у них есть другой список или категории. Я хочу создать собственную категорию для своего приложения. А потом я хочу добавить напоминания в эту категорию.

Итак, фрагмент моего кода - это кнопка, которая затем добавляет напоминание в Случайный список (я думаю). Но я хочу, чтобы напоминание было отправлено в определенный список (в приложении напоминаний), который необходимо создать приложению (мое приложение). И если список уже создан, мне нужно использовать этот список.

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


}

Это супер базовая версия этого метода, она делает другие вещи, которые не важны для этой проблемы. в классе есть другие туфы, такие как просматриваемая нагрузка и тому подобное.

Если вам нужно больше кода или есть вопросы, задавайте мне!

1 Ответ

1 голос
/ 23 июня 2019

С точки зрения структуры календаря Категория напоминания - это просто календарь.

Вы можете использовать этот метод, он проверяет, существует ли календарь напоминаний для имени пакета. Если он вернет его, если не создаст его.

Метод предполагает, что есть свойство 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...