Я кодирую приложение, где использование может просматривать широкий спектр видео. Я открываю видео в полноэкранном режиме при нажатии кнопки, и пользователь может использовать элементы управления воспроизведением для изменения размера окна. Проблема, с которой я сталкиваюсь, заключается в том, что когда пользователь делится своим Интернетом через точку доступа, в верхней части приложения есть синий бар. При изменении размера окна в этот момент произойдет сбой в структуре AVKit (я считаю). Использование Swift 2.3, Xcode 7.3.1. Мой телефон, iPhone 6s, использует iOS 10, и я также пробовал его на iOS 9 iPhone 6 Plus, той же самой проблемой.Авария AVPlayer при изменении размера окна во время полноэкранного просмотра в режиме hotspotting
Катастрофа:
Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child view controller:<AVFullScreenPlaybackControlsViewController: 0x102933000> should have parent view controller:<AVPlayerViewController: 0x10212d800> but actual parent is:<AVFullScreenViewController: 0x10884d900>'
Мой код:
private let playerController = AVPlayerViewController()
private var player: AVPlayer!
private func playVideo(media: Media) {
player = AVPlayer(URL: NSURL(string: media.url)!)
playerController.player = player
presentViewController(playerController, animated: true, completion: {
self.playerController.player?.play()
self.playerController.delegate = self
})
}
Если я не разделяю мой интернет на моем телефоне (при этом не синий бар), то он работает отлично, никаких проблем вообще. Кому-то удалось скрыть эту синюю полосу или испытать подобную проблему?
Я также видел эту аварию на производство приложении. Вы когда-нибудь находили решение? – FelipeOliveira
@FelipeOliveira, к сожалению, нет. Я был вынужден жить с этим. Если вы когда-нибудь найдете решение, сообщите мне. :) – ClockWise
Я нашел две радиолокационных деталей об этой аварии http://www.openradar.me/20488804 https://openradar.appspot.com/29919046 Поскольку авария происходит на частный вызов, там не так много Я могу сделать. Я сообщу, если найду решение. – FelipeOliveira