iOS开发笔录快速入门iOSiOS开发

iOS-使用Cordova框架实现原生与H5交互

2017-04-27  本文已影响186人  一张小A

1.环境搭建

       可以参考http://www.knowsky.com/884672.html这篇文章。里面有详细介绍,这里不详述。

2.集成Cordova

2.1生成LIbCordova.a

Cordova目录

        环境搭建好之后你会有一个工程文件,沿上图路径打开CordovaLib.xcodeproj。这个其实是静态库生成的一个工程。按照静态库生成方法导出LIbCordova.a文件,并且需要用到 lipo -create命令合并真机和模拟器包,这里不多说。

生成的.a文件

2.2将项目集成LIbCordova

        新建一个工程,将生成的框架包拖到项目中,另外将config.xml、PLigins文件夹以及WWW文件夹拖入项目中,其中WWW使用folder references的形式添加。

在Library Search Paths 中加入LibCordova.a 的路径(正常导入xcode会默认给你添加上)。

Other Linker Flags 上加入-ObjC,否则程序会崩溃。

        运行一下工程,如果没报错或者崩溃,则说明集成Cordova成功了。

3 Cordova的使用

        首先你需要一段H5代码,并把H5代码放到www目录下的index,html文件中。我的代码如下:

3.1 H5调原生

3.1.1 添加插件

        创建HJPlugin001类(名字随意),并继承CDVPlugin。并实现test方法,这个方法名为H5调用时规定的。可见H5代码Cordova.exec(successFunction, failFunction, "001","test", [password]);。

3.1.2 config.xml中添加插件配置

        将下图那段代码加入到widget中即可。

        完成上面两个步骤,H5调原生就大功告成了。

3.1.3 H5调原生的回调

H5调原生的回调实现

完成以上几个步骤,就可以运行代码看看效果啦。

3.2 原生调H5

  有些时候原生需要主动调H5,其实H5调原生的回调就是一种原生调H5。IOS在webView中封装了调用JS代码的方法,Cordova在这基础上封装了一个原生调H5的方法(evalJs:)。这是CDVCommandDelegate中的一个代理方法,H5调原生的回调方法也可以在里面找到。原生调H5的具体实现如下图。

原生调H5

运行代码后效果如下:

最后附上dome:https://github.com/jswsjian/H5-.git

上一篇 下一篇

猜你喜欢

热点阅读