Вот предложение:
Я пишу приложение, которое воспроизводит музыку из библиотеки пользователя.Я использую методы авторизации MP, например:
if .authorized == MPMediaLibrary.authorizationStatus() { // Already authorized? Head on in!
if inDisplayWholeScreenThrobber {
self._showLargeLookupThrobber()
}
if let songItems: [MPMediaItemCollection] = MPMediaQuery.songs().collections {
self._loadSongData(songItems)
self._selectSong()
self._hideLargeLookupThrobber()
}
} else { // Can I see your ID, sir?
MPMediaLibrary.requestAuthorization { [unowned self] status in
switch status {
case.authorized:
if inDisplayWholeScreenThrobber {
self._showLargeLookupThrobber()
}
if let songItems: [MPMediaItemCollection] = MPMediaQuery.songs().collections {
self._loadSongData(songItems)
self._selectSong()
self._hideLargeLookupThrobber()
}
default:
TheBestClockAppDelegate.reportError(heading: "ERROR_HEADER_MEDIA", text: "ERROR_TEXT_MEDIA_PERMISSION_DENIED")
}
}
}
и так далее.Я также проверяю статус авторизации перед воспроизведением любого сохраненного URI, на случай, если пользователь передумал.
Вот проблема:
Когда я предоставляю (или отклоняю) авторизацию, система запоминает мое приложениеи меня больше никогда не спросят.Даже удаление приложения и его повторная установка просто пробуждают переключатель на панели «Конфиденциальность».
Единственный способ заставить его забыть меня - это изменить идентификатор комплекта приложения.
Это даетмне 2 вопроса:
1) Правильно ли я делаю, выше?
2) Как заставить систему забыть, что мое приложение когда-либо существовало?