Название почти все описывает, но здесь подробно ... Для воспроизведения видео в моем приложении я использую AVPlayerViewController, который я представляю модально.
let player = AVPlayer.init(url: url)
let playerViewController = AVPlayerViewController.init()
playerViewController.player = player
parentViewController.present(playerViewController, animated: true, completion: {...})
Все работает нормально, видео воспроизводится в полноэкранном режиме, и я могу повернуть устройство в альбомную ориентацию и снова в портретную ориентацию ... все же все работает плавно.
Когда я касаюсь речевого пузыря в правом нижнем углу, чтобы изменить настройку звука или субтитров, этот тип UIAlertController отображается в портретном режиме (iPhone 7 плюс портрет):
При нажатии той же кнопки в альбомном режиме это выглядит так (в основном то же самое, но будет отображаться в портретной ориентации, iPhone 7 в альбомной ориентации):
То же самое на iPad Air 2 в горизонтальной ориентации выглядит так:
Теперь актуальная проблема: при воспроизведении фильма на устройстве 6 / 6s / 7 PLUS в альбомной ориентации и нажатии на облачко с текстом приложение вылетает! Вот что отображается в выводе отладчика и трассировке стека:
10.08.2017, 12:08: 18.683184 + 0200 MyApp [27739: 6396143] [Assert] transitionViewForCurrentTransition не задано! (‹_UIFullscreenPresentationController: 0x7ffe3e586000>)
Для меня это похоже на ошибку Apple, потому что я здесь не делаю ничего особенного (по крайней мере, я так думаю) и потому, что сбой проявляется только при использовании плюсового устройства, которое является единственным, имеющим комбинацию класса компактного и обычного размера. .
Кто-нибудь знает, что здесь происходит?