Я работаю над QR-сканером в swift, который должен открыть URL-адрес и разобрать QR-данные в URL-адрес перед загрузкой в недавно созданный веб-просмотр.Swift iOS 9 QR-сканер
Для этого я создал строку со своим URL-адресом и получателем, но добавив отсканированные данные.
При сканировании без функции данные анализируются на метку «lblQRCodeResult» без проблем, однако в какой-то момент при попытке открыть веб-просмотр, загружая адрес, приложение выйдет из строя.
Любые предложения?
Мой код, который в настоящее время выглядит следующим образом:
func captureOutput(captureOutput: AVCaptureOutput!, didOutputMetadataObjects metadataObjects: [AnyObject]!, fromConnection connection: AVCaptureConnection!) {
if metadataObjects == nil || metadataObjects.count == 0 {
vwQRCode?.frame = CGRectZero
lblQRCodeResult.text = "NO QRCode text detacted"
return
}
let objMetadataMachineReadableCodeObject = metadataObjects[0] as! AVMetadataMachineReadableCodeObject
if objMetadataMachineReadableCodeObject.type == AVMetadataObjectTypeQRCode {
let objBarCode = objCaptureVideoPreviewLayer?.transformedMetadataObjectForMetadataObject(objMetadataMachineReadableCodeObject as AVMetadataMachineReadableCodeObject) as! AVMetadataMachineReadableCodeObject
vwQRCode?.frame = objBarCode.bounds;
if objMetadataMachineReadableCodeObject.stringValue != nil {
let newString = "http://192.168.2.1/qr.php?type=buy&prod=" + objMetadataMachineReadableCodeObject.stringValue;
lblQRCodeResult.text = newString
let webV:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
webV.loadRequest(NSURLRequest(URL: NSURL(string: newString)!))
webV.delegate = self;
self.view.addSubview(webV)
}
}
}
Если ваше приложение аварийно, что сообщение об ошибке? – Larme