(Cordova)使用plugman自定义插件

2022-05-04  本文已影响0人  布呐呐u

一)安装plugman

npm install -g plugman

二)使用plugman

plugman create --name TestPlugin --plugin_id cordova-plugin-testplugin --plugin_version 0.0.1

三)添加插件支持的平台

plugman platform add --platform_name ios

四)创建package.json文件

npm init
  "name": "cordova-plugin-photobrower",
  "version": "0.0.1",
  "description": "miaos",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"

五)修改配置plugin.xml文件

<?xml version="1.0" encoding="utf-8"?>
<plugin id="cordova-plugin-testplugin" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
    <name>TestPlugin</name> 
        <!-- src="www/TestPlugin.js",JavaScript资源路径 -->
    <js-module name="TestPlugin" src="www/TestPlugin.js">
        <!-- 可以自定义,调用时 TestPlugin.coolMethod -->
        <clobbers target="TestPlugin" />
    </js-module>
    <platform name="ios">
        <config-file parent="/*" target="config.xml">
            <!-- name="TestPlugin",与www/TestPlugin.js 文件中调用名称'TestPlugin'一致 -->
            <feature name="TestPlugin">
                <!-- value="TestPlugin",iOS类名 -->
                <param name="ios-package" value="TestPlugin" />
            </feature>
        </config-file>
        <!-- src="src/ios/TestPlugin.m",iOS资源路径 -->
        <source-file src="src/ios/TestPlugin.m" />
    </platform>
</plugin>

六)编写插件

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

exports.coolMethod = function (arg0, success, error) {
    exec(success, error, 'TestPlugin', 'coolMethod', [arg0]);
};
- (void)coolMethod:(CDVInvokedUrlCommand*)command
{
    CDVPluginResult* pluginResult = nil;
    NSString* echo = [command.arguments objectAtIndex:0];

    if (echo != nil && [echo length] > 0) {
        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo];
    } else {
        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
    }

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

七)安装插件

cordova plugin add /Users/XXXX/Desktop/TestPlugin

八)使用插件

TestPlugin.coolMethod('一个测试字符串')
上一篇 下一篇

猜你喜欢

热点阅读