2016-09-16 12 views
0

私のアプリで最後に大きな問題を解決することによって、もう1つ、おそらくより大きな問題が発生します。私のアプリは肖像画だけですが、風景でビデオを見ることができるようにしたかったのです。これを行うには、このメソッドをAppDelegateに追加しました。UIInterfaceOrientationMaskのために "presentViewController"が見つからない場合

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask { 

    guard let vc = (window?.rootViewController?.presentedViewController) else { 
     return .Portrait 
    } 

    if (vc.isKindOfClass(NSClassFromString("AVFullScreenViewController")!)) { 
     return .AllButUpsideDown 
    } 

    return .Portrait 
} 

正常に動作します。しかし、私がアラートを表示したり、いくつかの共有ボタン(configureMailComposeViewController() or UIActivityViewController()を開く)をクリックすると、私のアプリがクラッシュする。

fatal error: unexpectedly found nil while unwrapping an Optional value 
2016-09-16 09:51:43.665772 App[1788:535789] fatal error: unexpectedly found nil while unwrapping an Optional value 

私はその問題を理解していません。その問題から私を守り、.Portraitを返さないでください。 メソッドを削除した場合、または.Portraitを返すだけの場合、すべての機能は風景を見るビデオのecxeptionで再び機能します。

私のアプリを作成するには、横向きの向き以外はすべてのコントローラで使用することをおすすめしません。私はそれを試みた、私の場合に働いていない。

答えて

0

あなたのAVFullScreenViewControllerでは、このviewcontrollerがポップまたはディスマイズすると、windowまたはstatusbarのインターフェイスの向きがポートレートに設定されます。 viewWillDisappearAVFullScreenViewControllerで管理できます。

+0

ええ、そのコントローラは私のものではありません。 iOSはwebview(youtube)からのビデオを提示することでそれらを自動的に呼び出します。あるいは、エクステンションなどで作業する方法はありますか?その機能に慣れていない – kuemme01

+0

どうすれば 'AVFullScreenViewController'に到達できますか? – kuemme01

関連する問題