我正在使用CIFilter提供的CIQRCodeGenerator過濾器生成QR碼圖像。圖像生成良好,當它顯示時,我可以使用AVCaptureSession讀取圖像。但是,當我嘗試使用不同平臺(Android,BlackBerry,iOS 6)掃描QR碼時,則無法識別圖像。根據Apple的文檔,生成的圖像符合ISO/IEC 18004:2006標準。是否需要符合ISO 18004:2000標準的問題?iOS生成的QR碼未在其他平臺上識別
這裏是我使用來產生圖像的代碼:
NSData *stringData = [stringToEncode dataUsingEncoding:NSISOLatin1StringEncoding];
CIFilter *qrFilter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[qrFilter setValue:stringData forKey:@"inputMessage"];
[qrFilter setValue:@"M" forKey:@"inputCorrectionLevel"];
CIImage *qrImage = qrFilter.outputImage;
return [UIImage squareUIImageFromCIImage:qrImage withSize:size];
下面是一個簡單QR碼:
有誰知道是否有產生辦法使用CIFilter更全球公認的QR碼圖像?我真的不想回去使用ZXing。
謝謝!
QR代碼是QR代碼...這是一個標準。 – ceejayoz 2014-10-02 20:29:29
@ceejayoz這是一個標準,但有不同的文件覆蓋不同的實現。 ISO/IEC 18004:2000定義了QR碼模型1和2.ISO/IEC 18004:2006定義了QR碼2005符號,QR碼模型2的擴展(取自http://en.wikipedia.org/wiki/QR_code) 。 – mcsheffrey 2014-10-02 20:41:38