AVPlayerViewController详细攻时的媒体选择按钮,在景观上的iPhone加上设备
标题几乎一切都说明,但在这里崩溃... 要在我的应用程序播放视频,我使用它我提出模态AVPlayerViewController详细攻时的媒体选择按钮,在景观上的iPhone加上设备
的AVPlayerViewControllerlet player = AVPlayer.init(url: url)
let playerViewController = AVPlayerViewController.init()
playerViewController.player = player
parentViewController.present(playerViewController, animated: true, completion: {...})
所有工作正常,视频以全屏播放,我可以将设备旋转到风景并再次回到肖像......仍然一切都运行平稳。
当我点击在右下角的对话泡泡来改变音频或字幕设置这种UIAlertController的显示在肖像模式(iPhone 7加人像):
当敲击在横向模式下相同的按钮它看起来像这样(基本上是相同的,但会出现在纵向,iPhone 7横向):在景观
现在的实际问题:在横屏模式下在6/6s/7 PLUS设备上播放电影并点击对话框时,应用程序崩溃!这是在调试器输出和堆栈跟踪显示:
2017年8月10日12:08:18.683184 + 0200 MyApp的[27739:6396143] [断言] transitionViewForCurrentTransition未设置! (< _UIFullscreenPresentationController:0x7ffe3e586000>)
对我来说,它看起来像一个苹果的错误,因为我没有做什么特别的东西在这里(至少我是这么认为的),也因为使用加设备时死机仅显示,这是唯一具有紧凑和常规尺寸组合的产品。
有没有人知道这里发生了什么?
我得到同样的问题再重现这个问题,我用下面的代码固定它AppDelegate.m
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
for (UIView *transitionView in window.subviews) {
if ([transitionView isKindOfClass:NSClassFromString(@"UITransitionView")]) {
for (UIView *subView in transitionView.subviews) {
id nextResponder = [subView nextResponder];
if ([nextResponder isKindOfClass:NSClassFromString(@"AVFullScreenViewController")]) {
return UIInterfaceOrientationMaskAll;
}
}
}
}
return (1 << UIInterfaceOrientationLandscapeRight) | (1 << UIInterfaceOrientationLandscapeLeft);
}
请正确格式化您的答案。 –
相同我面临的问题,你找到一个解决方案? – karthikeyan
@karthikeyan查看我的回答 – Kai