OGeek|极客世界-中国程序员成长平台

标题: ios - 如何让 iPhone/iPad 完全忘记 App 的媒体授权状态? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:48
标题: ios - 如何让 iPhone/iPad 完全忘记 App 的媒体授权状态?

这是交易:

我正在编写一个应用程序来播放用户库中的音乐。我正在使用 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 之前检查授权状态,以防用户改变主意。

问题来了:

一旦我授予(或拒绝)授权,系统就会记住我的应用程序,并且永远不会再询问我。即使卸载应用程序并重新安装它也只会重新唤醒隐私面板中的开关。

我可以让它忘记我的唯一方法是更改​​应用程序包 ID。

这给了我两个问题:

1) 上面我做得对吗?

2) 如何强制系统忘记我的应用曾经存在过?



Best Answer-推荐答案


好的。我想出了一种方法来做到这一点。烦人,但它有效。

如果您删除应用程序,然后关闭并重新启动设备,状态将重置。

关于ios - 如何让 iPhone/iPad 完全忘记 App 的媒体授权状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53269479/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4