2017-08-10 7 views
2

タイトルにメディア選択ボタンをタップするほぼすべてを記述しているが、ときに私は私がモーダルAVPlayerViewController詳細にここでiPhone上の風景に加えて、デバイス

を提示していますAVPlayerViewController使用しています私のアプリで動画を再生するには... をクラッシュ
let player = AVPlayer.init(url: url) 
let playerViewController = AVPlayerViewController.init() 
playerViewController.player = player 
parentViewController.present(playerViewController, animated: true, completion: {...}) 

すべて正常に動作しています。動画はフルスクリーンで再生され、デバイスを横向きに、縦向きに回転させることができます。まだすべてがスムーズに動作しています。

私はUIAlertControllerのこの種を設定するオーディオまたは字幕を変更するには、右下の隅に吹き出しをタップポートレートモード(iPhone 7プラスポートレート)で示しています audio & subtitle settings in portrait

風景モードで同じボタンをタップそれは(基本的には同じですが、縦向き、iPhone 7風景の中に存在します)次のようになります。風景の中にiPadのエア2に audio & subtitle settings launched from landscape but showing in portrait

行う同じことが次のようになります。 audio & subtitle settings in landscape on iPad

実際の問題:風景モードで6/6/7 PLUSデバイスで映画を再生し、吹き出しをタップすると、アプリがクラッシュします。これは、デバッガの出力とスタックトレースに表示されます。

2017-08-10 12:08:18.683184 + 0200 MyApp [27739:6396143] [Assert] transitionViewForCurrentTransitionが設定されていません!私の場合:(< _UIFullscreenPresentationController 0x7ffe3e586000>) Stack trace

私はここに特別な何かをやっておりませんので、(少なくとも私はそう思う)プラスデバイスを使用しているときにクラッシュにのみ表示されているので、それはAppleのバグのように見えますコンパクトでレギュラーなサイズクラスの組み合わせを有する唯一のものである。

誰でもここで何が起こっているのか考えていますか?

+0

次のコードでそれを固定iOSの10バグであったに違いありません問題私は直面している、解決策を見つけましたか? – karthikeyan

+0

@karthikeyan私の答えを参照してください – Kai

答えて

0

これは私が、私は同じ問題を取得するiOSの11

+1

私はiOS 11デバイスのみを取得しています、iOS 10ではありません – karthikeyan

0

でもうこの問題を再現することはできませんので、私は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); 
} 
+0

あなたの答えを正しくフォーマットしてください。 –

関連する問題