J'ai le même problème décrit dans cette question (link), mais dans mon cas je l'utilise à la place AVPlayerViewController
MPMoviePlayerController
, alors j'ai essayé d'appliquer la même logique de la réponse, mais AVPlayer
a seulement unknow, readyToPlay et l'état échoué et je ne peux pas savoir quand le contrôleur est fermé.Comment puis-je savoir quand le AVPlayerViewController
est fermé ou comment puis-je résolu le même accident causé par l'orientation?iOS App accident quand il revient à UIViewController précédente
mes méthodes d'orientation viewController:
override var shouldAutorotate : Bool {
return false
}
override var supportedInterfaceOrientations : UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.portrait
}
c'est la méthode qui ouvre la AVPlayerViewController
:
func playVideo(at videoUrl: URL) {
let controller = AVPlayerViewController()
controller.player = AVPlayer(playerItem: AVPlayerItem(url: videoUrl))
self.present(controller, animated: true, completion: {
controller.player?.play()
})
}
MISE À JOUR:
journal Crash:
Fatal Exception: UIApplicationInvalidInterfaceOrientation
0 CoreFoundation 0x183dc2fe0 __exceptionPreprocess
1 libobjc.A.dylib 0x182824538 objc_exception_throw
2 CoreFoundation 0x183dc2f28 -[NSException initWithCoder:]
3 UIKit 0x189fe7f78 -[UIViewController _preferredInterfaceOrientationForPresentationInWindow:fromInterfaceOrientation:]
4 UIKit 0x18a8c5b68 -[_UIFullscreenPresentationController _adjustOrientationIfNecessaryInWindow:forViewController:preservingViewController:]
5 UIKit 0x18a2421a4 -[UIPresentationController _dismissWithAnimationController:interactionController:target:didEndSelector:]
6 UIKit 0x18a2689a4 -[UIViewController _dismissViewControllerWithAnimationController:interactionController:completion:]
7 UIKit 0x18a01dc04 -[UIViewController _dismissViewControllerWithTransition:from:completion:]
8 UIKit 0x189fc5a98 -[UIViewController dismissViewControllerWithTransition:completion:]
9 UIKit 0x18a267c4c -[UIViewController _performCoordinatedPresentOrDismiss:animated:]
10 UIKit 0x189fc55ec -[UIViewController dismissViewControllerAnimated:completion:]
11 AVKit 0x191667f28 -[AVPlayerViewController(AVPlaybackControlsViewControllerActions) doneButtonTapped:]
12 AVKit 0x19168d614 -[AVPlaybackControlsViewController doneButtonTapped:]
13 UIKit 0x189f29010 -[UIApplication sendAction:to:from:forEvent:]
14 UIKit 0x189f28f90 -[UIControl sendAction:to:forEvent:]
15 UIKit 0x189f13504 -[UIControl _sendActionsForEvents:withEvent:]
16 UIKit 0x189f28874 -[UIControl touchesEnded:withEvent:]
17 UIKit 0x189f28390 -[UIWindow _sendTouchesForEvent:]
18 UIKit 0x189f23728 -[UIWindow sendEvent:]
19 UIKit 0x189ef433c -[UIApplication sendEvent:]
20 UIKit 0x18a6ee014 __dispatchPreprocessedEventFromEventQueue
21 UIKit 0x18a6e8770 __handleEventQueue
22 UIKit 0x18a6e8b9c __handleHIDEventFetcherDrain
23 CoreFoundation 0x183d7142c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
24 CoreFoundation 0x183d70d9c __CFRunLoopDoSources0
25 CoreFoundation 0x183d6e9a8 __CFRunLoopRun
26 CoreFoundation 0x183c9eda4 CFRunLoopRunSpecific
27 GraphicsServices 0x185708074 GSEventRunModal
28 UIKit 0x189f59058 UIApplicationMain
29 selftv 0x10006c124 main (AppDelegate.swift:15)
30 libdyld.dylib 0x182cad59c start
Je pense que vous n'avez pas arrêté lecteur tout en disparaissant de currentviewcontroller. Je pense que lorsque vous revenez au contrôleur précédent, arrêtez le lecteur. –
@AshokLondhe l'accident dit: Exception fatale: UIApplicationInvalidInterfaceOrientation comme la question que j'ai liée – Roran
Que vous n'avez pas mentinoded dans Question s'il vous plaît vérifier votre question aussi dans le lien que je ne l'ai pas l'air. –