MPMediaPickerController 从不在 iOS 13 上显示,没有打印错误

MPMediaPickerController never shows on iOS 13, no error printed

我是第一次探索 MPMediaPickerController,按下按钮后我什么也没看到。 MPMediaPickerController.view 在呈现后有一个框架,但它根本不可见,也没有出现在视图层次结构中。我只是使用一个简单的新 POC 应用程序,它带有一个 ViewController 和一个 IBOutlet 按钮,它被限制在垂直和水平居中,调用这个函数:

    func checkMediaAccess() {
        let status = MPMediaLibrary.authorizationStatus()
        switch status {
        case .authorized:
            showMediaPicker()
        case .notDetermined:
            MPMediaLibrary.requestAuthorization() { status in
                if status == .authorized {
                    DispatchQueue.main.async {
                        self.showMediaPicker()
                    }
                }
            }
            break
        case .denied:
            print("Denied")
            break
        case .restricted:
            break
        @unknown default:
            break
        }

    }

然后在授权时调用此函数:

    func showMediaPicker() {
        print("SHOWING")
        let picker = MPMediaPickerController(mediaTypes: .music)
        picker.allowsPickingMultipleItems = false
        picker.popoverPresentationController?.sourceView = pickerButton
        picker.showsCloudItems = true
        picker.delegate = self
        self.present(picker, animated: true, completion: nil)
        print(picker.view.frame )
    }

"SHOWING" 已打印,但我还是没有看到任何内容。我也没有打印任何其他内容。

我有关于媒体和音乐访问的所有 info.plist 描述。我也得到允许第一次的提示,然后再次打印 "SHOWING"。我实现了代表,但他们从未被解雇,因为我看不到视图。

点击按钮时视觉上没有任何反应,我可以再次点击按钮。

我错过了什么?

可能没有安装音乐应用!