iOS上的UIApplicationInvalidInterfaceOrientation crash

参考:作者:leonwei的IOS上的UIApplicationInvalidInterfaceOrientation crash

最近在做上传视频、图片、文件的功能,其中视频播放横屏展示,在打开相册选择图片上传功能时,真机运行的时候,会crash,并给出这样的信息:

'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES.

UIImagePickerController只支持Portrait,而在上传文件列表界面支持Landscape,所以就粗心的在Appdelegate的- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window中也只支持了Landscape。

一个UIViewController支持的朝向在- (NSUInteger)supportedInterfaceOrientations中定义。

当一个UIViewController启动时,它会根据当前的手机朝向和它的shouldAutorotateToInterfaceOrientation接口来确定这个view的旋转,确定好后,还要看这个app的supportedInterfaceOrientationsForWindow中是否有它要做的朝向,如果没有就会crash。

解决办法就是将supportedInterfaceOrientationsForWindow中返回UIInterfaceOrientationMaskAll,以支持所有的朝向

你可能感兴趣的:(iOS上的UIApplicationInvalidInterfaceOrientation crash)