上一篇是介绍如何创建ionic工程,虽然工程本身带有一些插件,但远远不够满足我们的需求的,所以我们要制作专属插件来满足自己的需求,首先分本地插件和网络插件两种情况,两者的区别是,前者只能自己拿来使用,后者是网络共享,只要知道地址,别人也可以使用。好了,进入正题,首先呢,先介绍一下一个很方便、快捷的插件创建工具plugman,想要细了解的话,找度娘。
cordova官网地址:【http://cordova.axuer.com/docs/zh-cn/latest/】
【iOS版,Mac环境】
一.安装plugman插件
1.npm install -g plugman
2.plugman -v --------查看是否安装成功
二.创建自己的插件
1. 到放插件的文件里
cd 文件夹路径
注意:非桌面就行【亲试】,这个文件夹只是放插件用的,以防创建好了却找不到。
2.创建插件
plugman create --name 【插件名字,例如LZPlugin】 --plugin_id 【插件id,必须小写,例如com.lz.lzplugin】 --plugin_version 【版本号,例如1.0.0】
3. 到插件里
cd 【插件路径】
4.添加支持平台类型(我这里仅以iOS为例)
plugman platform add --platform_name ios
5.安装自定义插件
<1.>先cd 到ionic工程文件路径下
cd 【 ionic项目路径】
<2.>添加插件
cordova plugin add 【插件路径】
新环境可能会报“Error: Invalid Plugin! /Users/用户名/项目名/插件名 needs a valid package.json”错误,这需要手动添加package.json文件.
(1)cd 到插件里
sudo plugman createpackagejson 【插件路径】//注意此命令行的格式,“createpackagejson”是无空格的!
(2)一直按回车就可以了,都是在打印package.json文件的内容而已。
(3)查看插件里是不是出现了package.json文件。
(4)出现了之后,再cd到工程里,然后再一次执行
cordova plugin add 【插件路径】
即可。
<3.>插件卸载
想卸载插件的话: cordova plugin remove 【plugin_id】
三.device插件的安装与卸载
1.安装
cordova plugin add 【plugin_id】
2.卸载
cordova plugin remove 【plugin_id】
最后附上GitHub的Demo地址:
https://github.com/xinniangdeweidao/LZPlugin_1.git
切记:如果插件只支持iOS平台,那么只有iOS环境的ionic工程才能添加进去,否则就会报错,如果你的ionic工程是兼容iOS和安卓的,那么插件必须也要兼容iOS和安卓才能使用命令方式添加进去。
【同时支持iOS和android环境的项目,使用命令安装的话,需要同时支持iOS和android平台的插件,否则执行命令行后会报错,但是可以手动导入只支持iOS平台的插件,在iOS 平台下的插件文件同级下创建一个文件夹,把需要的东西放进去,然后把里面相应的文件拖入工程,再创建一个继承于CDVPlugin的类就行(如果没有的话),然后把“#import<Cordova/cordova.h>”换成“#import<Cordova/CDVPlugin.h>”即可,m文件里这样写:#import@interface CDVViewController(类名)
@end
@implementation CDVViewController(类名)
@end
@implementation WNSPlugin_ios
@end