微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐