Как создавать напоминания, которые не должны отображаться в приложении Apple Reminders - PullRequest
0 голосов
/ 06 января 2020

С помощью следующего кода я могу успешно создать напоминание и добавить к нему сигнал тревоги, который срабатывает через 10 секунд после создания события. Что мне не нравится в том, как создается напоминание, так это то, что оно отображается в приложении Apple Reminders, и когда вы получаете уведомление на своем устройстве, оно отображает значок приложения Reminders.

Возможно ли это сделать напоминание приватным, чтобы оно не отображалось в приложении Apple Reminders? Если нет, каковы мои варианты для достижения такой цели?

Примечание. Я не против сохранить напоминания в локальной базе данных стандартных напоминаний, если они не отображаются в приложении напоминаний по умолчанию.

import EventKit

class ViewController: UIViewController{
    var eventStore = EKEventStore()

    override func viewDidLoad(){
        super.viewDidLoad()
        // get user permission
        eventStore.requestAccess(to: EKEntityType.reminder, completion: {(granted, error) in
            if !granted{
                print("Access denied!")
            }
        })
    }

    @IBAction func createReminder(_ sender: Any) {
        let reminder = EKReminder(eventStore: self.eventStore)
        reminder.title = "Get Milk from the Store"
        reminder.calendar = eventStore.defaultCalendarForNewReminders()
        let date = Date()
        let alarm = AKAlarm (absoluteDate: date.addingTimeInterval(10) as Date)
        reminder.addAlarm(alarm)

        do {
            try eventStore.save(reminder, commit: true)
        } catch let error {
            print("Error: \(error.localizedDescription)")
        }
    }
}

FYI - чтобы сделать Приведенный выше код работает, вам нужно добавить ключ NSRemindersUsageDescription в файл info.plist.

1 Ответ

0 голосов
/ 06 января 2020

Я думаю, что вы имеете в виду уведомления пользователя.

https://developer.apple.com/documentation/usernotifications

...