2016-09-16 4 views
0

내 앱에서 마지막으로 큰 문제를 해결하면 또 다른 문제가 발생할 수 있습니다. 내 앱은 초상화 일 뿐이지 만 가로로 동영상을 볼 수있게하고 싶었습니다. 이렇게하려면 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를 반환하는 경우 가로보기 동영상의 ecxeption으로 모든 항목이 다시 작동합니다.

가로 방향을 제외한 모든 앱을 내 컨트롤러로 설정하거나 사용하지 않도록 설정하지 않는 것이 좋습니다. 나는 그것을 시도했다, 나의 경우에는 일하지 않았다.

답변

0

귀하의 AVFullScreenViewController에서이 뷰 컨트롤러가 터지거나 window 또는 statusbar의 세로 방향으로 인터페이스 방향을 설정 해제 할 때. viewWillDisappearAVFullScreenViewController에서 관리 할 수 ​​있습니다.

+0

그래,하지만 그 컨트롤러는 내 것이 아니야. iOS는 webview (youtube)에서 비디오를 발표하여 자동으로 호출합니다. 아니면 확장 프로그램 등으로 작업 할 수있는 방법이 있습니까? 해당 기능에 익숙하지 않은 분 – kuemme01

+0

어떻게'AVFullScreenViewController'에 접근 할 수 있습니까? – kuemme01