С помощью следующего кода я могу успешно создать напоминание и добавить к нему сигнал тревоги, который срабатывает через 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.