Bug 修复时,心情很好,然后找Bug 是一件 XXX 的事, 最近在 QR 扫描的界面在 Crashlytics 上老报错, 详情如下
很奇怪,因为自己的设备上跑的很正常啊,后来 PM 把相机的权限给关掉,问题复现了啊,激动啊
对权限没有判断啊,所以添加判断即可
- (void)checkAVAuthorizationStatus
{
AVAuthorizationStatus status = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
NSString *tips = NSLocalizedString(@"AVAuthorization", @"您没有权限访问相机");
if(status == AVAuthorizationStatusAuthorized) {
// authorized
[self setupCamera];
} else {
[SVProgressHUD showWithStatus:tips];
}
}
另外 AVCaptureMetadataOutput 还有一个坑,那就是 addOutput: 必须放在addOutput 之前
if ([_session canAddOutput:output]){
[_session addOutput:output];
}
// 条码类型 AVMetadataObjectTypeQRCode
output.metadataObjectTypes =@[AVMetadataObjectTypeQRCode];
本文介绍了一个QR扫描界面在Crashlytics上报错的问题,并详细解释了解决方案:通过增加相机权限检查来避免应用崩溃。
2039

被折叠的 条评论
为什么被折叠?



