Cordova

1.环境布置

iOS下JS与OC互相调用(七)--Cordova 基础 -

出错:

cordova -v 报错,必须用sodu cordova -v-布布扣-

sudo chown -R $USER:$GROUP ~/.npm

sudo chown -R $USER:$GROUP ~/.config


二 使 用 

来源:iOS下JS与OC互相调用(八)--Cordova详解+实战 -

1.在插件中实现JS要调用的原生方法,插件要继承自CDVPlugin,示例代码如下:


Cordova_第1张图片
haleyPlugin.h

2.配置插件,是在config.xml的widget中添加自己创建的插件。


Cordova_第2张图片
config.xml


3.JS调用OC。   cordova.exec()

// successCallback : 成功的回调方法

// failCallback : 失败的回调方法

// server : 所要请求的服务名字,就是插件类的名字

// action : 所要请求的服务具体操作,其实就是Native 的方法名,字符串。

// actionArgs : 请求操作所带的参数,这是个数组。

cordova.exec(successCallback, failCallback, service, action, actionArgs);


Cordova_第3张图片
xml


Cordova_第4张图片
haleyPlugin.h

haleyPlugin 控件中 实现JS调用OC

4.OC调用JS 

如何将Native的结果回调给JS ?

这里有两种方式:第一种是直接执行JS,调用UIWebView 的执行js 方法。示例代码如下:

// 将分享结果返回给jsNSString*jsStr = [NSString  stringWithFormat:@"shareResult('%@','%@','%@')",title,content,url];    

[self.commandDelegate evalJs:jsStr];

第二种是,使用Cordova 封装好的对象CDVPluginResult和API。

使用这种方式时,在JS 调用原生功能时,必须设置执行成功的回调和执行失败的回调。即设置cordova.exec(successCallback, failCallback, service, action, actionArgs)的第一个参数和第二个参数


5.如何获取JS 传过来的参数呢?

CDVInvokedUrlCommand参数,其实有四个属性,分别是arguments、callbackId、className、methodName。其中arguments,就是参数数组。


CDVInvokedUrlCommand.h

看一个获取参数的示例代码:


Cordova_第5张图片
xml文件


Cordova_第6张图片
HaleyPlugin.h

原理:iOS Hybrid 框架 ——PhoneGap -

你可能感兴趣的:(Cordova)