cordova 自定义插件(iOS)

1.plugman安装
npm install -g plugman
如果提示 permission denied 需要加 sudo
sudo npm install -g plugman
2.创建插件
sudo plugman create --name 插件名 --plugin_id 插件id --plugin_version 0.0.1

在这里插入图片描述

3 创建package.json 文件
cd 上面床架的插件文件夹下,plugman createpackagejson [插件路径]

在这里插入图片描述

4.打开TestPlugin文件夹,在src下添加 ios文件夹,在ios文件中添加插件类

在这里插入图片描述

插件的类要继承至 CDVPlugin
.h

#import <Cordova/CDVPlugin.h>

@interface PluginDemo : CDVPlugin

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

@end

只输出一句话,检测我们的插件是否能够调起
.m

#import "PluginDemo.h"

@implementation PluginDemo

- (void)doTest:(CDVInvokedUrlCommand *)command {
    
    NSLog(@"插件被调起了");
    
    
}
@end

5.配置上面生成文件夹中的 plugin.xml

在这里插入图片描述

6.配置www文件下的TestPlugin.js

在这里插入图片描述

自定义插件完成

我们新建一个名为iosApp的cordova项目
将我们的插件导入到cordova项目中 去测试
sudo cordova plugin add [插件路径]

在这里插入图片描述

启动项目 在index.html中添加按钮 ,检测是否能调起插件的方法

在这里插入图片描述

index.html中的代码

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *;script-src * 'unsafe-inline'">
            
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
        <link rel="stylesheet" type="text/css" href="css/index.css">
        <title>Hello World</title>
    </head>
    <body>
        <div class="app">
            <h1>Apache Cordova</h1>
            <div id="deviceready" class="blink">
                <p class="event listening">Connecting to Device</p>
                <p class="event received">Device is Ready</p>
            </div>
            <Button onclick="TestPlugin.doTest()">测试</Button>
        </div>
        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
    </body>
</html>

相关文章

公司前端界面用的是vue,我要嵌入到Android中生成App第一步:...
Q:我用cordova开发项目,想在app内跳转外部链接,安装了cord...
我正在使用https://github.com/arnesson/cordova-plugin-fir...
一、Cordova的基础点在混合式应用中,我们通过现有的Cordova...
cordova自定义插件注意:存放自定义cordova插件目录不能有空...
一、问题VueAPP中有一个文件下载功能,用了各种方法来实现下...