在Cordova项目中创建简单的iOS插件

来源:互联网 发布:.win域名 编辑:程序博客网 时间:2024/05/16 11:16

Step1、添加自己的插件类,在类中添加方法

#import <Cordova/CDV.h>@interface CDVToast : CDVPlugin- (void)toast:(CDVInvokedUrlCommand *)command;@end
#import "CDVToast.h"@implementation CDVToast- (void)toast:(CDVInvokedUrlCommand *)command{    NSLog(@"调用Native代码成功");}@end

Step2、编辑这个插件的js

cordova.define("cn.com.quantdo.myToast", function(require, exports, module) {               var exec = require("cordova/exec");               function Toast() {};               Toast.prototype.toast = function (doToast) {               exec(doToast, null, 'CDVToast', 'toast', []);               };               var myToast = new CDVToast();               module.exports = myToast;               });

Step3、在config.xml添加配置

<feature name="CDVToast">        <param name="ios-package" value="CDVToast" />    </feature>

Step4、在html中引入该插件的js文件

<script type="text/javascript" src="plugins/cn.com.quantdo.myToast/myToast.js"></script>

Step5、在html中添加button,设置id

<input type="button" name="button" id="toast" value="Welcome!!!">

Step6、在html对应的js文件中调用该插件(方法写在onDeviceReady里面)

var toastBtn = document.getElementById('toast');        toastBtn.addEventListener('click',function(){                                  console.log('clicked!!!');                                  cordova.exec(                                               function callback(data){                                               alert(data);                                               },                                               function errorHandler(err){                                               alert('Error');                                               },                                               'CDVToast',                                               'toast',                                               []                                               );                                  });

至此,启动工程,点击按钮打印出以下内容

2015-11-02 15:55:09.032 ArbitrageApp[2966:253333] 调用Native代码成功

网上有的教程说要在cordova_plugins.js里面添加描述信息,貌似不加也能够调用成功,不会报错。

以上的内容仅仅是我个人的试探,因为懂的js也不多,所以对这里面的语句也不是完全理解,只是能够暂时解决项目中的问题而已。

项目地址:http://download.csdn.net/detail/u011350527/9234059

0 0