UIWindowScene AVPlayerViewController ориентация проблема IOS 13 - PullRequest
1 голос
/ 21 октября 2019

IOS 13 принес UIWindowScene. В моем приложении я использую следующий код для воспроизведения видео:

let playerVC = AVPlayerViewController()
let asset = AVURLAsset(url: videoURL)
let item = AVPlayerItem(asset: asset)
playerVC.player = AVPlayer(playerItem: item)
playerVC.showsPlaybackControls = true
targetViewController.present(playerVC, animated: true) {
     playerVC.player?.play()
}

Проблема возникает, если я фиксирую ориентацию приложения на портрет. В поле зрения контроллера:

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return .portrait
}

Затем я представляю AVPlayerViewController. После запуска видео я поворачиваю устройство так, чтобы видео воспроизводилось в альбомном режиме. Затем я нажимаю крестик и AVPlayerViewController отклоняется. Контроллер под ним остается в ландшафтном режиме и не вращается назад. shouldAutorotate должен быть ложным в моем случае. Когда я делаю отладку представления, это показывает, что корневой UIWindowScene начинает находиться в ландшафтном режиме. Я не нашел API для принудительного поворота. В ios 12 и более ранних версиях все работает просто отлично.

...