Как сделать так, чтобы iPhone / iPad полностью забывал статус авторизации мультимедиа для приложения? - PullRequest
0 голосов
/ 12 ноября 2018

Вот предложение:

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

1 Ответ

0 голосов
/ 13 ноября 2018

OK. Я придумал один способ сделать это. Раздражает, но это работает.

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

...