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(), ^{
});
网友评论