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也不多,所以对这里面的语句也不是完全理解,只是能够暂时解决项目中的问题而已。