OC与JS交互

2017-04-24  本文已影响0人  爱笑的Mr张

OC与JS交互,经历了三个阶段,第一个阶段,是用JavaScriptCore.framework框架,直接用方法名调起的,但是安卓不能用,所以第二种阶段,是加.的,但是由于UIWebView的一些问题(获取h5必须是在网页加载完毕中进行,但h5需要获取地理坐标必须在没有完全进入页面的时候进行获取,所以这样就会出一些问题),又换成了SDWebView

第一阶段:

JavaScriptCore.framework的简单使用--JS与OC的交互篇

javaScriptCore是一种JavaScript引擎,主要为webKit提供脚本处理能力,javaScriptCore是开源webkit的一部分,他提供了强大的整合能力.下面以JS调用OC方法为例,OC调用JS为例说明.

JSContext, JSContext是代表JS的执行环境,通过-evaluateScript:方法就可以执行一JS代码

JSValue, JSValue封装了JS与ObjC中的对应的类型,以及调用JS的API等

JSExport, JSExport是一个协议,遵守此协议,就可以定义我们自己的协议,在协议中声明的API都会在JS中暴露出来,才能调用

问题一:微信登录成功之后,返回到应用会出现空白,所以需要把OC调h5放到主线程

OC调JS

需要放到主线程dispatch_async(dispatch_get_main_queue(), ^{

});

上一篇下一篇

猜你喜欢

热点阅读