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>