Теперь я хочу знать, когда пользователь дает или отказывается Access
Там нет обратного вызова/уведомлений только потому, что пользователь изменяет доступ. Однако это может произойти только во время вашего приложения, поэтому все, что вам нужно сделать, это проверить статус доступа каждый раз, когда ваше приложение будет перенаправлено или активировано.
Например, вот как я это делаю в одном из моих приложений (этот код в контроллере представления корень, который всегда присутствует):
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(didBecomeActive), name: .UIApplicationDidBecomeActive, object: nil)
}
func didBecomeActive(_ n:Notification) {
self.checkForMusicLibraryAccess()
// ... only proceed if we have access
}