如何创建iOS环境下的cordova插件

很多跨平台开发的项目,会希望通过cordova插件调用iOS的原生API,实现JS与OC 的通信,集成iOS的一些相关功能。网上查了一些资料,再加上自己的理解,将一些心得分享给大家。下面将以调用系统相册或摄像头实现截图功能为例,将cordova的创建过程分享给大家。


一、开发环境的准备(Mac环境

1.安装nodejs和npm,可到到nodejs官网(https://nodejs.org)上下载安装包直接下载或者用Homebrew(http://brew.sh/)安装。


brew install nodejs npm

2、安装命令行工具

sudo npm install -g cordova
sudo npm install -g ios-sim #用于从命令行启动iOS模拟器
sudo npm install -g plugman #插件管理工具
3、

4、 安装XCode的Command Line Tools(仅针对Mac上开发iOS应用)

到XCode->Preferences中相应的设置页中安装

或者在终端用命令安装,可参考http://www.07net01.com/2015/07/879465.html


二、插件的开发,使用plugman来创建插件工程

1、创建插件的名字: plugman create -name CropperPlugin --plugin_id com.wxz.Cropper --plugin_version 0.1

name:插件名字

plugin_id:插件的id

plugin_version:插件的版本

这三个参数的内容自己根据喜好去设定

2、切换到创建好的插件目录下

cd CropperPlugin/

3、添加iOS版本

plugman platform add --platform_name ios


如何创建iOS环境下的cordova插件


这时在CropperPlugin下就会生成三个文件

如何创建iOS环境下的cordova插件


如何创建iOS环境下的cordova插件

没有.h文件,但是不影响使用,可以自己建个.h文件,但是要记得在plugin.xml文件中加上

<source-file src="src/ios/CropperPlugin.h" />

然后可以将.m中的

@interface MyPlugin : CDVPlugin {

  // Member variables go here.

}


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

@end


移动到.h文件中

(如果需要引用第三方,可将第三方的包放到ios那个文件夹中,同时要记得写.xml文件,否则无法使用第三方);

三、cordova应用的创建

cordova create CropperPluginDemo "com.wxz.CropperDemos" "CropperPluginDemos"
cd PluginDemo/
cordova platform add ios


如何创建iOS环境下的cordova插件

这时的效果如图:


如何创建iOS环境下的cordova插件


这时候我们需要将刚才创建好的CropperPlugin插件添加到CropperPluginDemo的plugin文件夹中,这样工程中才会有我们创建的插件(将CropperPlugin文件放到和plugins文件同一个级别上,执行以下命令)

ionic plugin add CropperPlugin 


ionic platform add ios


ionic build ios


如何创建iOS环境下的cordova插件

然后工程就中就能使用我们写好的插件了。


然后就能正常去实现需要的功能了。


[objc] view plain copy
  1.   

如何创建iOS环境下的cordova插件

如何创建iOS环境下的cordova插件


创建CropperViewController.m 和CropperViewController.m 用来进行截图的具体操作

CropperViewController.m 代码如下

如何创建iOS环境下的cordova插件


CropperViewController.m 代码如下

如何创建iOS环境下的cordova插件


如何创建iOS环境下的cordova插件




如何创建iOS环境下的cordova插件


如何创建iOS环境下的cordova插件

如何创建iOS环境下的cordova插件

很多跨平台开发的项目,会希望通过cordova插件调用iOS的原生API,实现JS与OC 的通信,集成iOS的一些相关功能。网上查了一些资料,再加上自己的理解,将一些心得分享给大家。下面将以调用系统相册或摄像头实现截图功能为例,将cordova的创建过程分享给大家。


一、开发环境的准备(Mac环境

1.安装nodejs和npm,可到到nodejs官网(https://nodejs.org)上下载安装包直接下载或者用Homebrew(http://brew.sh/)安装。


brew install nodejs npm

2、安装命令行工具

sudo npm install -g cordova
sudo npm install -g ios-sim #用于从命令行启动iOS模拟器
sudo npm install -g plugman #插件管理工具
3、

4、 安装XCode的Command Line Tools(仅针对Mac上开发iOS应用)

到XCode->Preferences中相应的设置页中安装

或者在终端用命令安装,可参考http://www.07net01.com/2015/07/879465.html


二、插件的开发,使用plugman来创建插件工程

1、创建插件的名字: plugman create -name CropperPlugin --plugin_id com.wxz.Cropper --plugin_version 0.1

name:插件名字

plugin_id:插件的id

plugin_version:插件的版本

这三个参数的内容自己根据喜好去设定

2、切换到创建好的插件目录下

cd CropperPlugin/

3、添加iOS版本

plugman platform add --platform_name ios


如何创建iOS环境下的cordova插件


这时在CropperPlugin下就会生成三个文件

如何创建iOS环境下的cordova插件


如何创建iOS环境下的cordova插件

没有.h文件,但是不影响使用,可以自己建个.h文件,但是要记得在plugin.xml文件中加上

<source-file src="src/ios/CropperPlugin.h" />

然后可以将.m中的

@interface MyPlugin : CDVPlugin {

  // Member variables go here.

}


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

@end


移动到.h文件中

(如果需要引用第三方,可将第三方的包放到ios那个文件夹中,同时要记得写.xml文件,否则无法使用第三方);

三、cordova应用的创建

cordova create CropperPluginDemo "com.wxz.CropperDemos" "CropperPluginDemos"
cd PluginDemo/
cordova platform add ios


如何创建iOS环境下的cordova插件

这时的效果如图:


如何创建iOS环境下的cordova插件


这时候我们需要将刚才创建好的CropperPlugin插件添加到CropperPluginDemo的plugin文件夹中,这样工程中才会有我们创建的插件(将CropperPlugin文件放到和plugins文件同一个级别上,执行以下命令)

ionic plugin add CropperPlugin 


ionic platform add ios


ionic build ios


如何创建iOS环境下的cordova插件

然后工程就中就能使用我们写好的插件了。


然后就能正常去实现需要的功能了。


[objc] view plain copy
  1.   

如何创建iOS环境下的cordova插件

如何创建iOS环境下的cordova插件


创建CropperViewController.m 和CropperViewController.m 用来进行截图的具体操作

CropperViewController.m 代码如下

如何创建iOS环境下的cordova插件


CropperViewController.m 代码如下

如何创建iOS环境下的cordova插件


如何创建iOS环境下的cordova插件




如何创建iOS环境下的cordova插件


如何创建iOS环境下的cordova插件

如何创建iOS环境下的cordova插件