美文网首页专精技术iOS DeveloperiOS 开发
iOS平台创建Cordova项目及自定义插件plugin

iOS平台创建Cordova项目及自定义插件plugin

作者: XDUZ | 来源:发表于2016-09-11 23:17 被阅读270次

    创建Cordova项目

    一、环境配置(mac版):

    1.安装node.js(https://nodejs.org/en/

    2.使用node的依赖包管理工具npm来进行cordova安装。打开终端输入命令:

    sudo npminstall-gcordova

    二、创建cordova的项目

    1.新建一个cordova的项目

    打开终端输入命令:

    cordovacreatehellocom.example.helloHelloWorld[--template

    templatePath]

    注:hello:为你的项目生成一个hello目录;com.example.com: App ID;helloWorld:应用程序的项目名。

    2.添加平台

    2.1、所有后续命令需要在项目的目录中运行,其范围内或任何子目录:

    cd hello

    2.2、添加iOS平台

    cordova platform add ios

    3.添加自带插件

    以console插件为例:

    cordova plugin add cordova-plugin-console

    插件的调用:

    在调用插件的Html的js中添加:

    document.addEventListener("deviceready",onDeviceReady, false);

    functiononDeviceReady() {

    console.log("console.log workswell");

    }

    此断代码执行后,才可调用console代码。

    console.log(‘console.log执行’);

    创建自定义插件

    1.创建一个自定义cordova插件的文件夹(文件夹内有plugin.xml、src文件夹(内有ios文件夹)、www文件夹)

    1.1配置plugin.xml (这个文件是对这个插件的总体配置)

    有几个关键的字段需要解释下:

    id:插件的标识,即发布到plugins.cordova.io的ID

    name:插件的名称

    description:描述信息

    js-module:对应我们的javascript文件,clobbers元素说明了module.exports自动添加到window对象,让插件方法能够在窗口级别使用。

    platform:支持的平台,这里仅仅用到了ios

    header-fileOC的.h文件路径

    source-fileOC的.m文件路径

    1.创建js文件

    var exec =require('cordova/exec');

    module.exports = {

    alert: function(message, completeCallback,title, buttonLabel) {

    exec(completeCallback, null,"Notification", "test", []);

    },

    };

    创建完成后放入www文件夹内

    参数说明:

    exec(successCallback, errorCallback,Notification,test, [arguments]);

    successCallback成功回调

    errorCallback失败回调

    Notification:被调用方法的native对象,即在配置plugin.xml时feature的name。

    test:要执行的方法,即native中的方法

    arguments:参数数组

    2.创建iOS插件

    创建CDVNotification类含.h和.m文件

    .h文件:

    #import

    @interfaceCDVNotification : CDVPlugin

    - (void)test:(CDVInvokedUrlCommand*)command;

    @end

    .m文件

    #import"CDVNotification.h"

    #import

    @implementationCDVNotification

    - (void)test:(CDVInvokedUrlCommand*)command

    {

    UIAlertView *alertview =[[UIAlertView alloc] initWithTitle:@"标题"message:@"你好世界!"delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];

    [alertview show];

    }

    @end

    创建好之后将.h .m文件放入src下的ios文件夹内

    参数说明:CDVInvokedUrlCommand是个model类,含有属性:arguments,callbackId,classname,methodname。

    若方法要给js返回成功回调:

    CDVPluginResult* pluginResult =nil;

    pluginResult=[CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo];

    [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];

    若要返回失败:

    pluginResult=[CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];

    [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];

    3.项目添加插件

    cordova plugin add(自定义插件的文件夹目录)#名称,也可以是git的地址

    完成自定义插件。

    相关文章

      网友评论

      本文标题:iOS平台创建Cordova项目及自定义插件plugin

      本文链接:https://www.haomeiwen.com/subject/exfpettx.html