我正在编写一个应用程序,用户可以在其中观看各种视频。我在按钮点击时全屏打开视频,用户可以使用播放控件来调整窗口大小。我遇到的问题是,当用户通过热点共享他的互联网时,应用程序顶部有一个蓝色条。此时调整窗口大小会导致 AVKit 框架崩溃(我相信)。使用 Swift 2.3、Xcode 7.3.1。我的手机 iPhone 6s 使用 iOS 10,我也在 iOS 9 iPhone 6 Plus 上尝试过,同样的问题。
迷恋;撞车;崩溃:
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
})
}
如果我不在手机上共享我的互联网(因此没有蓝条),那么它可以正常工作,没有任何问题。有人设法隐藏了这个蓝条,或者遇到过类似的问题吗?