ZXingObjC 崩溃问题解决方法

一,  二维码扫描,有众所周知的zxing,和zbar.zbar for iphone 已经一年没有更新了,都还没有支持ARC
zxing 各个平台都支持,也一直在更新.但是系统只提供了ZXingWidgetController里面解析二维码的代码比较多,且没有由相册读取图片进行解析的代码. 项目中我的viewController已经继承了一个CommonViewController,所以这ZXingWidgetController改起来比较麻烦.

二, 然后在github上翻了翻,找到了ZXingObjC 评价也挺高的,有600多个star. 添加,使用都挺简单的.
但在显示完扫描界面,跳到其他界面是,不到一秒,程序就会崩溃.崩溃信息如下:
Thread 7 name:  Dispatch queue: com.zxing.captureQueue
Thread 7 Crashed:
0   libsystem_kernel.dylib        	0x3a53a350 __pthread_kill + 8
1   libsystem_c.dylib             	0x3a4b111e pthread_kill + 54
2   libsystem_c.dylib             	0x3a4ed96e abort + 90
3   libsystem_c.dylib             	0x3a486398 free + 356
4   libobjc.A.dylib               	0x3a0393a8 object_dispose + 16
5   iHome                         	0x0013849e -[ZXCapture dealloc] (ZXCapture.m:490)
6   AVFoundation                  	0x3133fed6 __74-[AVCaptureVideoDataOutput _AVCaptureVideoDataOutput_VideoDataBecameReady]_block_invoke_0 + 294
7   libdispatch.dylib             	0x3a45411c _dispatch_call_block_and_release + 8
8   libdispatch.dylib             	0x3a457eca _dispatch_queue_drain$VARIANT$mp + 138
9   libdispatch.dylib             	0x3a457dbc _dispatch_queue_invoke$VARIANT$mp + 36
10  libdispatch.dylib             	0x3a45891a _dispatch_root_queue_drain + 182
11  libdispatch.dylib             	0x3a458abc _dispatch_worker_thread2 + 80
12  libsystem_c.dylib             	0x3a488a0e _pthread_wqthread + 358
13  libsystem_c.dylib             	0x3a4888a0 start_wqthread + 4

百度上没有ZXingObjC的任何消息,只得google,然后发现还是有很多人遇到这种问题的.终于,在 https://github.com/TheLevelUp/ZXingObjC/issues/26找到了答案:
dismiss之前,先要将capture layer remove 掉:
[self.capture.layer removeFromSuperlayer];
[self.capture stop];
[self dismissViewControllerAnimated:YES completion:nil];

完美解决!  ZXingObjC 崩溃问题解决方法 - 好好 - 奋斗的历程
转自:http://wangjianlewo.blog.163.com/blog/static/176568051201310181038161/
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值