iOS自定义相机输出时崩溃的解决方法

使用自定义相机的时候在输出照片的时候一般使用以下方法

正常初始化代

但是有时候会奔溃在NSData*jpegData = [AVCaptureStillImageOutputjpegStillImageNSDataRepresentation:imageDataSampleBuffer];这个地方,并提示 “+[AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:] - NULL sample buffer.”这个的bug可能是你拍照太快导致的。

可能的原因是你把输出的代码放在主线程中了,这是错误的,因为captureStillImageAsynchronouslyFromConnection这个方法上写“Clients should not assume that the completion handler will be called on a specific thread.”所以你不能在主线程中调用它。

如果你只是正常的调用出现了这个问题,有如下两个解决方法:

1.判断出这个问题


方法一代码


2.将执行放在global里面,如果是同步执行将不会出现这个问题


方法二代码

以上是解决方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好...
    small_Sun阅读 4,021评论 0 0
  • 转:http://www.cocoachina.com/programmer/20151019/13746.htm...
    Style_伟阅读 5,129评论 0 3
  • 01 今天是重阳节,自从国庆回娘家那天起,妈妈一直在叨念着,重阳节我们一家一定要早点...
    燕子高飞阅读 3,897评论 2 11
  • 深秋夜半,孤卧僵床倦。冷月透窗残花伴,却照破房败院。耳边犹唤孩儿,喃喃呓语谁思?突变雷声惊起,枕边痴望帘吹。 (词...
    恨铁成钢阅读 1,917评论 2 7