1. 程式人生 > >在Cordova專案中建立簡單的iOS外掛

在Cordova專案中建立簡單的iOS外掛

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也不多,所以對這裡面的語句也不是完全理解,只是能夠暫時解決專案中的問題而已。