我想在我的应用程序中使用QRCodeReader的功能 我的应用程序是用cocos2d-x开发的 我想我必须使用本机代码(Android / iOS) 有一些方法可以在iOS中使用QRCodeReader。 (ZXing,ZBar和iOS中的QR功能(http://www.renaudpradenc.com/?p=453))
但我的代码无论如何都不能正常工作...... 有谁知道怎么办?
它可能与此问题无关,以下代码可以在iOS中调用Camera。
void NativeLauncher::ShowCameraView(){
AppController *appController = (AppController *)[UIApplication sharedApplication].delegate;
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
[appController.viewController presentModalViewController:imagePicker animated:YES];
}
答案 0 :(得分:1)
答案 1 :(得分:1)
对不起,迟到了。
你可能会考虑2种策略,因为没有本地cocos2d-x支持QRCode解码。
1)开发Objective-C - > C ++包装器
在objc端实现AVFoundationFramework方法,并为您将使用的图像解码助手 在cocos2d-x项目中的C ++包装类上调用这些方法(以Carlo的Google Game Services作为起点:https://github.com/cpinan)。
2)使用任何QRCode C ++库
c ++中有许多QRCode解码器,但您需要确保针对所需的archtectures的库。 (例如https://github.com/zxing/zxing)
希望它有所帮助。干杯!
答案 2 :(得分:0)
如果您的应用适用于iOS 7以上,则可以使用AVCaptureMetadataOutputObjectsDelegate
在应用内部实施QRCode扫描。如果你不知道如何实现AVCaptureMetadataOutputObjectsDelegate
这里是一个简单的实现。
https://github.com/dilumnavanjana/MetaQR
添加MetaQR.h& .m文件到您的项目&添加此代码,
MetaQR *metaQR = [[MetaQR alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
metaQR.delegate = self;
[self.view addSubview:metaQR];
此委托方法将为您提供QRCode的数据
-(void)capturedMetaOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection
答案 3 :(得分:0)
对于7.0或更高版本的部署目标,您可以使用AVFoundationFramework读取Qr代码。
以下是执行此操作的教程:http://www.ama-dev.com/iphone-qr-code-library-ios-7/
这个问题也在这里得到解答:QR Code Scanning in ios application