iOS从相册读取二维码

2016-12-13  本文已影响90人  邵琼

分享的内容,大家看了后,不管有什么问题或者建议,都可以说出来,我都会一一做答,一起加油啦

原理和我的上一篇 << 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];

}

}

上一篇 下一篇

猜你喜欢

热点阅读