Впервые в PromiseKit, поэтому я хочу попробовать его с асинхронным запросом, чтобы получить разрешение пользователя на получение событий календаря.Этот простой пример - только начало, и оттуда будет цепочка, но я не могу заставить работать первую часть.
Вот определение обещания:
class func retrieveCalendarPermission() -> Promise<Bool> {
return Promise {seal in
EKEventStore().requestAccess(to: .event) {yes, no in
seal.resolve(yes, no)
}
}
}
и здесьэто реализовано:
MyClass.retrieveCalendarPermission().done {yes in
print("yes was called")
}.catch {error in
print ("no was called")
}
Я тестирую, отказывая приложению в разрешении на получение календарей - когда я даю разрешение, код печатает правильное «да, было вызвано», но когда я отказываю в разрешении приложения (длявызвать ошибку, т. е. пользователь отказал в разрешении приложению), я все еще получаю «да, был вызван» и, конечно же, ошибки в окне консоли, которые Apple выдает независимо - но это не попадает в часть «нет» обещания.
Любая помощь приветствуется