Cordova-iOS自定义插件以及和老版本的差异

                                           Cordova-iOS端自定义插件

最近公司因为项目升级,今天就简单介绍一下Cordova自定义iOS端插件的问题,主要分为PhoneGap2.9.1和Cordova5.1.1两个版本之间的差异来说。

1.其实PhoneGap2.9.1和Cordova5.1.1自定义插件的差异我所知道的主要体现在两个方面。
第一:插件定义方法的不同
a.在PhoneGap2.9.1版本中插件方法定义如下:
- (void)share:(NSMutableArray *)arguments withDict:(NSMutableDictionary *)options;
arguments是从前端传过来的参数。
b.在Cordova5.1.1版本中插件方法定义如下:
- (void)share:(CDVInvokedUrlCommand*)command
而前端传过来的参数存储在command对象里面的arguments数组中。
注:这里用PhoneGap2.9.1和Cordova5.1.1来说明是因为公司项目直接从PhoneGap2.9.1升级到了Cordova5.1.1。
其实在Cordova3.0以后就有了这个变化了。
第二:在config.xml文件中得配置不同(即:插件的映射配置)
a.在PhoneGap2.9.1版本中config.xml配置如下:
<plugins>
<plugin name="pluginClass" value="CDVPluginClass" />
</plugins>
b.在Cordova5.1.1版本中config.xml配置如下:
<feature name="PluginClass"></span>
<param name="ios-package" value="CDVPluginClass" />
</feature>

name表示的是iOS的配置,value表示:插件的名称(CDVPluginClass.h)。


2.最后提一点这两个版本自定义插件的相同点和我在项目终于到的一些问题。
a.相同点:插件必须继承CDVPlugin这个类。
b.出现以下类似问题:1.插件没有继承CDVPlugin2.config.xml的配置有问题或者没有配置
ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
c.出现以下类似问题就是:插件中没有定义这个方法
ERROR: Method 'loadCompleted:' not defined in Plugin 'pluginClass'
d.PhoneGap2.9.1以前终端创建的iOS项目中就已经添加了很多的官方插件,而2.9.1之后的版本创建的iOS工程 是很“纯洁”的工程, 所要用的到插件必须一个个的手动添加(我在前一篇博客中介绍过搭建方法)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值