[Camera] Failed to read exposureBiasesByMode dictionary: Error Domain=NSCocoaErrorDomain Code=4864 "*** -[NSKeyedUnarchiver _initForReadingFromData:error:throwLegacyExceptions:]: data is NULL" UserInfo={NSDebugDescription=*** -[NSKeyedUnarchiver _initForReadingFromData:error:throwLegacyExceptions:]: data is NULL}
今天在测试拍照时,只是切换前后摄像头多次后 会崩溃。,很是不解,各处搜索之后,问题解决。
首先要确保隐私授权在info.plist加了字段,可以调用相机Privacy - Camera Usage Description 需要您的同意,APP才能访问相机,用于上传头像
解决方法1.在modle的时候不能在继续model引起的崩溃
在继续model或push下一个界面时,先dismiss掉当前的页面
[picker dismissViewControllerAnimated:YES completion:^{
//去push或present}];
解决方法2. present时加在主线程
在回调里面进行present操作,Block块中present不是在主线程执行,会报错,需要在主线程进行present操作:
dispatch_async(dispatch_get_main_queue(), ^{
UINavigationController *NAV = (UINavigationController *)([UIApplicationsharedApplication].keyWindow.rootViewController);
[NAV presentViewController:picker animated:YES completion:nil];
});
解决方法3:
把[self presentViewController:imagePicker animated:YES completion:nil];
换成[self presentViewController:imagePicker animated:YES completion:NULL];
算解决了我的问题吧,来回切换了十来次,没再崩溃了
解决方法4:关闭键盘,self.view endEditing,或者让键盘收起来。
解决方法5:仔细检查代码UIImagePickerController初始化的时候是不是只alloc没有init。检查代码定位在哪里操作开始崩溃的好好排查
终极解决方法:还没有解决你的问题,又没找到原因,那就重写了拍照页面,不要使用使用系统UIImagePickerController