[急]swift扫描二维码程序报错!!!

whsfer 2016-01-01 09:16:47
各位大神好。。。
新手想写一个扫描二维码的程序,在下边标注的地方一直报错说:
2016-01-01 21:18:32.738 QrcodeScan[9016:3630006] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[AVCaptureMetadataOutput setMetadataObjectTypes:] - unsupported type found. Use -availableMetadataObjectTypes.'
*** First throw call stack:
(0x181021900 0x18068ff80 0x1873123a8 0x10001c8b8 0x10001ce1c 0x185d140c0 0x185d13cc4 0x185d1aab4 0x185d17fa0 0x185d8dcd0 0x185fb8358 0x185fbc4b8 0x185fb95c0 0x1825d7790 0x1825d7b10 0x180fd8efc 0x180fd8990 0x180fd6690 0x180f05680 0x185d82580 0x185d7cd90 0x10001e1e8 0x180aa68b8)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb)

我就尝试着把 availableMetadataObjectTypes 都打印出来,发现全都为空,急求大神前来相助。。在线等。。。。
~~~~~~~~~~~~~~~我是代码:)~~~~~~~~~~~~~~~~~~~~~~
//获取摄像设备
let device = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeAudio)
//创建输入流

let input:AVCaptureDeviceInput? = try! AVCaptureDeviceInput(device: device)



//创建输出流
let output:AVCaptureMetadataOutput = AVCaptureMetadataOutput()
print(output.availableMetadataObjectTypes)
//设置代理 在主线程里刷新
output.setMetadataObjectsDelegate(self, queue: dispatch_get_main_queue())

print(output.availableMetadataObjectTypes)
//初始化链接对象
let session = AVCaptureSession()
//高质量采集率
session.sessionPreset = AVCaptureSessionPresetHigh

//为链接添加输入输出流
session.addInput(input)
session.addOutput(output)

//设置扫码支持的格式
//output.metadataObjectTypes = [AVMetadataObjectTypeQRCode]
print(output.availableMetadataObjectTypes)

let layer:AVCaptureVideoPreviewLayer = AVCaptureVideoPreviewLayer.init(session: session)
layer.videoGravity = AVLayerVideoGravityResizeAspectFill
layer.frame=self.view.layer.bounds
self.view.layer.insertSublayer(layer, atIndex: 0)
session.startRunning()
...全文
114 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧