用AVFoundation读取二进制QR码
是否有可能读AVFoundation二进制编码QR码?
我可以得到.type
AVMetadataObjectTypeQRCode
的AVMetadataMachineReadableCodeObject
对象,但是这只有一个stringValue
属性,这将无法正常工作,因为QR码中包含的数据不能转换为string友好表示。
我应该用ZXING吗?
谢谢
原始数据确实存在于AVMetadataMachineReadableCodeObject
,但是它不能通过公共getter获得。
但是,您可以使用KVO将其解压缩,但Apple可能会拒绝您的应用程序。 此外,未来的iOS版本可能会更改其私有API,并且您的代码可能会失效(因为硬编码的私钥)。
迅速:
readableCodeObject.valueForKeyPath("_internal.basicDescriptor")!["BarcodeRawData"]
Objective-C的
[readableCodeObject valueForKeyPath:@"_internal.basicDescriptor"][@"BarcodeRawData"];
我testing了这个iOS 8和9。