iOS学习征服iOSiOS 开发每天分享优质文章

ios JSPatch使用中调用一些function框架偏门AP

2017-03-15  本文已影响26人  简鱼7819

之前工作中遇到的一种事实需求,要求在js文件中实现照片功能的实现,同时在OC中控制,项目中借助了JSPatch。

代码中涉及到AVCaptureSession、AVCaptureDevice、AVCaptureDeviceInput、AVCaptureStillImageOutput等类。在调用下面这个函数来获取拍摄照片的Data数据时,JSPatchConvertor转换过来的js代码,始终不能成功。

- (void)captureStillImageAsynchronouslyFromConnection:(AVCaptureConnection *)connection completionHandler:(void (^)(CMSampleBufferRef imageDataSampleBuffer, NSError *error))handler;

因为这个函数回调block中的imageDataSampleBuffer实例为null。

下面来说遇到这一类情况,我的解决方法!

在oc代码自己创建一个组件类,until.h和until.m文件,在这个组件类中实现方法回调。

依然拿上面的例子说话,上面的block回调中我想要获取照片的Data数据,那么我在.h文件中

.m文件

其中我声明一个myblock的block用来获取stillImageOutput 中block线程中数据,这样做是为了解决block线程问题。

在js文件

首先要借助JSPatch声明一下自己创建的组件类, require('until');

因为是类方法直接调用,没问题能够拿到需要的照片data数据!

虽然这种方法不是很完美,是一种折中的方法,但是对于借助强大的JSPatch的项目来说,部分问题算是解决了!!!

个人编辑,分享给大家,不喜勿喷,谢谢!!

上一篇下一篇

猜你喜欢

热点阅读