开发 ios android插件,cordova插件开发iOS篇(初级入门)

[self.commandDelegate sendPluginResult:result callbackId:_callbackId]; 该方法为cordova封装好的回调的方法,我们不必关心其内部实现,只需要传入需要的参数“pluginResult”,调用该方法即可实现对js端的回调。

现在我们已经在原生中实现了我们想要的功能,并把该方法公开作为接口,原生代码的编写已经完成。

② 书写调用原生的js文件

js文件提供了前后交互的桥梁。每个插件至少应该有一个js文件,并且应该放在插件中www的目录下。

283e0c09d26d032196f4135db8ed9dca.png

说明:

(1)在书写js代码的时候我们需要按照cordova的规范,引入cordova的exec函数,与后端交互。

(2)exec函数的参数分别为:

onSuccess:成功回调

onError:失败回调

“voiceManager”:xml文件中iOS平台下配置的feature 即:

“setPlayMode”:原生代码中接口方法的名字

[mode]:调用方法时传入的参数

③ 配置plugin.xml文件

通过xml文件的配置,我们可以完成js与native的桥接,并且给该平台添加特殊的设置。iOS与Android公用一个plugin.xml文件,关于公共的配置,本文不做详细介绍,详情参考另一篇文章《cordova插件开发Android篇(初级入门)》

配置该文件有好多的写法,本文只作为一个简单的示例。在plugin.xml文件中添加如下代码,

voiceMode

Switch audio playback mode

④ 配置plugin-ex.xml文件

该文件是对plugin.xml文件的扩展。通过该文件的配置,我们可以给插件配置打包时候的参数,由于此插件没有参数,本文不错详细说明。

音频控制插件

通过参数调节手机播放音频

⑤ 书写plugin.js.xdoc文件

该文件的作用是在调用该插件书写代码的时候提供代码提示。我们已经做好了实现的逻辑,开发者只需要按照规范书写即可。示例如下:

/**

@name com.justep.cordova.plugin.voiceManager

@class

@model Native

@category plugin

@description 选择设备音频的播放模式,可选听筒模式和外放模式

@declareVar navigator.voiceManager

*/

/**

@name com.justep.cordova.plugin.voiceManager.setPlayMode

@function

@param {Int} mode 参数

@param {Function} onSuccess 执行成功回调函数

@param {Function} onError 执行失败回调函数

@returns {void}

@description 当设置mode为“CALL”时,则为听筒模式,如果为“NORMAL”时,则为外放模式

*/

⑥ 整合插件

现在我们已经有了一个x5平台下cordova插件所需的全部文件,现在我们要做的就是将他们按照规范整合起来,放到x5的plugin目录下。

如下图所示:

a06f1985854b6b67d5521add617c4d34.png

注意:插件的包名必须与插件的id保持一致,否则打包的时候会无法找到插件。

至此,我们已经完成了一个简单的cordova插件的全部开发。

3、打包测试

现在我们就需要测试该插件。首先在页面创建一个按钮,导入插件,并在它的点击事件中调用插件的接口。

如下:

c75acd2ea94b227851a1eb2e4fb99830.png45d61a16a5fa33627e821781c4a628f7.png

然后在打包的时候勾选voiceManager插件,或者勾选自动追加插件。

注意 :如果插件列表中找不到voiceManager插件,请检查plugin.xml文件是否有书写错误。

119121da9e643407adb511c848051e5d.png

待生成应用后即可测试插件,如下:

67254cb7b9dc082ef043741b67a89596.png              42e6dbfffc9b872408d13ad6e4dc4d62.png

测试后发现点击按钮可以实现听筒模式与外放模式的切换,现在我们成功开发了一个cordova插件。

注:本文由起步科技整理发布,如果有什么疏漏和错误,欢迎到北京起步科技开发者论坛中cordova插件板块(http://bbs.wex5.com/forum.php)提出讨论!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值