Cordova自定義插件配置

增加一個(gè)自定義插件test.js蠢笋,其中實(shí)現(xiàn)一個(gè)方法testLog,打印js傳給native的字符串

config.xml配置

config.xml是Cordova的配置文件鳞陨,Cordova在初始化的時(shí)候會(huì)加載其中的配置昨寞,自定義插件需要在其中注冊

<feature name="Test">
    <param name="ios-package" value="TestPlugin" />
    <param name="onload" value="true" />
</feature>

feature中是插件的映射信息,name="Test"中Test對應(yīng)的是JS中調(diào)用類名
value="TestPlugin"中TestPlugin是native端映射的OC類名

cordova_plugins.js配置

cordova.define('cordova/plugin_list', function(require, exports, module) {
  module.exports = [
  {
    "id": "cordova-plugin-test",
    "file": "plugins/test.js",
    "pluginId": "cordova-plugin-test.test",
    "clobbers": [
                 "Test"
                 ]
    }
  ];
  module.exports.metadata = {
    "cordova-plugin-test.test": "1.0.0"
  };
});

id是唯一標(biāo)識(shí)符厦滤,對應(yīng)插件test.js中的id援岩,兩者必須相同。file是插件的相對路徑掏导。clobbers是JS中調(diào)用插件的接口

test.js配置

cordova.define("cordova-plugin-test", function(require, exports, module) {
    var exec = require('cordova/exec');
    function Test() {};
    Test.prototype.testLog = function (suc, err, arg) {
        exec(suc, err, 'Test', 'testLog', [arg]);
    };
    var test = new Test();
    module.exports = test;
});

"cordova-plugin-test"就是cordova_plugins.js中的id享怀,兩者相同。exec()方法中有4個(gè)參數(shù)趟咆,分別為成功回調(diào)添瓷,失敗回調(diào)梅屉,類名(config.xml中的name),OC中TestPlugin類中的方法名鳞贷,參數(shù)列表坯汤。

OC中的映射類配置

新增一個(gè)繼承于CDVPlugin的類,類名TestPlugin搀愧。新增一個(gè)實(shí)例方法testLog惰聂。

@implementation TestPlugin

- (void)testLog:(CDVInvokedUrlCommand*)command {
    NSString *arg = command.arguments.firstObject;
    NSLog(@"TestPlugin-testLog ==> %@", arg);
    CDVPluginResult *result;
    if(arg.length > 0) {
        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:arg];
    } else {
        result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:arg];
    }
    [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
}

@end

index.html配置

在script中添加

function success(arg) {
    alert(arg);
}
function error() {
    alert(arg);
}
Test.testLog(success, error, "123");

JS調(diào)OC:Test.testLog(success, error, "123");TestPlugin類中的testLog被調(diào)用,并且傳過去的字符串“123”被打印咱筛。

OC調(diào)JS:TestPlugin類中[self.commandDelegate sendPluginResult:result callbackId:command.callbackId];把字符串“123”當(dāng)做結(jié)果回調(diào)給JS搓幌,JS中的success被調(diào)用。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末迅箩,一起剝皮案震驚了整個(gè)濱河市鼻种,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌沙热,老刑警劉巖叉钥,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異篙贸,居然都是意外死亡投队,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進(jìn)店門爵川,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敷鸦,“玉大人,你說我怎么就攤上這事寝贡“桥” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵圃泡,是天一觀的道長碟案。 經(jīng)常有香客問我,道長颇蜡,這世上最難降的妖魔是什么价说? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮风秤,結(jié)果婚禮上鳖目,老公的妹妹穿的比我還像新娘。我一直安慰自己缤弦,他們只是感情好领迈,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般狸捅。 火紅的嫁衣襯著肌膚如雪兵迅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天薪贫,我揣著相機(jī)與錄音,去河邊找鬼刻恭。 笑死瞧省,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鳍贾。 我是一名探鬼主播鞍匾,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼骑科!你這毒婦竟也來了橡淑?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤咆爽,失蹤者是張志新(化名)和其女友劉穎梁棠,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體斗埂,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡符糊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呛凶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片男娄。...
    茶點(diǎn)故事閱讀 40,146評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖漾稀,靈堂內(nèi)的尸體忽然破棺而出模闲,到底是詐尸還是另有隱情,我是刑警寧澤崭捍,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布尸折,位于F島的核電站,受9級特大地震影響殷蛇,放射性物質(zhì)發(fā)生泄漏翁授。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一晾咪、第九天 我趴在偏房一處隱蔽的房頂上張望收擦。 院中可真熱鬧,春花似錦谍倦、人聲如沸塞赂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宴猾。三九已至圆存,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仇哆,已是汗流浹背沦辙。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留讹剔,地道東北人油讯。 一個(gè)月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像延欠,于是被迫代替她去往敵國和親陌兑。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容