MPMediaPickerController никогда не отображается на iOS 13, ошибка не печатается - PullRequest
1 голос
/ 29 апреля 2020

Я впервые исследую MPMediaPickerController и ничего не вижу при нажатии моей кнопки. MPMediaPickerController.view имеет рамку после его представления, но он вообще не виден и не отображается в иерархии представлений. Я просто использую простое приложение fre sh PO C с 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 )
    }

«ПОКАЗЫВАЕТСЯ», но опять ничего не вижу. Я тоже ничего не распечатал.

У меня есть все описания info.plist для доступа к Media и Musi c. Я также получаю приглашение разрешить в первый раз и снова "ПОКАЗАТЬ "печатается. Я реализовал делегатов, но их никогда не увольняют, потому что я не вижу вид.

Ничего не происходит визуально, когда я нажимаю кнопку, и я могу нажать кнопку снова.

Чего мне не хватает?

...