在Cordova專案中建立簡單的iOS外掛
阿新 • • 發佈:2019-02-04
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也不多,所以對這裡面的語句也不是完全理解,只是能夠暫時解決專案中的問題而已。