分享的内容,大家看了后,不管有什么问题或者建议,都可以说出来,我都会一一做答,一起加油啦
原理和我的上一篇 << iOS二维码的直接扫描读取>> 一样
代码如下:
#pragma mark - UIImagePickerControllerDelegate
- ( void )imagePickerController:( UIImagePickerController *)picker didFinishPickingMediaWithInfo:( NSDictionary *)info
{
[picker dismissViewControllerAnimated:YES completion:nil];
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
if (!image){
image = [info objectForKey:UIImagePickerControllerOriginalImage];
}
NSArray *features = [self.detector featuresInImage:[CIImage imageWithCGImage:image.CGImage]];
if (features.count >=1) {
CIQRCodeFeature *feature = [features objectAtIndex:0];
// scannedResult
NSString *scannedResult = feature.messageString;
// 过滤
[self filterStr:scannedResult];
NSLog(@"-----scannedResult=%@----",scannedResult);
NSError *error = nil;
NSDictionary *stringdic = [NSJSONSerialization JSONObjectWithData: [scannedResult dataUsingEncoding:NSUTF8StringEncoding]
options: NSJSONReadingAllowFragments
error: &error];
// 如果字典为空,弹出提示框
if (stringdic == nil) {
dispatch_async(dispatch_get_main_queue(), ^{
[self alertView];
});
[_coverView removeFromSuperview];
[_session startRunning];
return;
}
NSLog(@"----Img-stringdic-----%@",stringdic);
ZKImportKeyViewController *keyInfoVC = [[ZKImportKeyViewController alloc]init];
keyInfoVC.scanResultDict = stringdic;
[self.navigationController pushViewController:keyInfoVC animated:YES];
}
}
网友评论