横屏下调用相机崩溃问题

注:这个问题在最新的系统iOS11上是没有问题的,但是我们要兼容之前的版本,最起码要兼容iOS10的

在项目处于横屏状态下,调用相机或者相册,出现崩溃,
报错内容为:'UIApplicationInvalidInterfaceOrientation', reason: 'Supported orientations has no common orientation with the application, and shouldAutorotate is returning YES.

原因为当前的项目只支持横屏,不支持竖屏,相册只能在竖屏下显示,这就导致的项目的崩溃

解决办法就是在调用相机的时候,修改项目支持的方向,包含竖屏就可以,在AppDelegate中有一个项目支持的方向的方法,

- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
if (self.interfaceOri == 1) {
    return UIInterfaceOrientationMaskAllButUpsideDown;
}else if (self.interfaceOri == 2){
    return UIInterfaceOrientationMaskLandscapeRight;
}else {
    return UIInterfaceOrientationMaskPortrait;
}
}

只需要修改其中的self.interfaceOri参数(这个参数自己定义一个全局的数据就好,最好是某个单例里面的数据)即可,系统会自动调用这个方法

你可能感兴趣的:(横屏下调用相机崩溃问题)