博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
phoneGap iOS插件开发(二)插件自动安装配置
阅读量:6470 次
发布时间:2019-06-23

本文共 1742 字,大约阅读时间需要 5 分钟。

前面写了一下简单的插件的开发过程,那么现在问题来了,开发一个简单的插件自然是很简单的,但是如果开发的是一个比较复杂的插件,包括需要对一些配置文件进行修改的时候,手动将插件集成到项目中就显得很麻烦了,不过不用担心,这个问题自然可以解决,phoneGap/cordova 插件是可以做成自动安装的,包括一些配置信息和依赖库,都可以通过自动安装解决,那么接下来就是如何让自己的插件能够自动安装并且自动将需要的信息配置好。

首先,生成自动安装插件,需要我们配置一个plugin.xml的文件,这是自动安装的核心,自动安装所有的操作都是通过它来完成的。

上图是一个非常简单的一个插件的配置文件,下面对它(下面统称为:配置文件)进行讲解:

1.这是一个xml文件,首先是根标签

这是配置文件的根标签, 中 id 是插件的标识,应与插件文件夹名称一致、version 是插件版本号

2.在根标签中就是配置插件的各种信息,首先是插件的基本信息:

a.pluginTest 就是插件的名称

b.Plugin for Phonegap是插件的描述

c.MIT这个不太清楚,貌似是遵循某些协议或者许可的东西吧,如果有认清楚希望不吝赐教

d.phonegap, cordova是标签,类似博文中的标签那样的东西

3. 插件对于cordova版本的支持

name="cordova"version=">=3.0.0"/>

4. js 文件的配置

src="www/pluginTest.js"name="MyPlugin">

target="window.myPlugin"/>

在这里要说一点,配置成自动安装的插件,js文件就不能写那种简单的形式,而是要写成下图中的形式

且配置文件中 target="window.myPlugin" 中myPlugin 这部分,应该与js中 var myPlugin 一致。

5.配置平台,在这里只讲解iOS平台的配置

配置平台的标签为name="ios">name为平台名称

在这里,主要是

(1).将插件中的文件添加到项目中,并将项目中插件文件在config.xml 文件中进行引用。

添加文件:

添加源文件:<source-filesrc="src/ios/pluginTest.m"/>

添加头文件:<header-filesrc="src/ios/pluginTest.h"/>

添加资源文件:src="src/ios/MMPSilence.wav"/>

添加库文件:<frameworksrc="src/ios/myTset.framework"custom="true"/>

其中src为文件在插件文件夹中的相对路径

添加引用:

光把文件添加进入工程中还不行,还需要对其添加引用,这里只需要对与js进行通讯的文件添加引用就可以了

图中name="pluginTest">,name为文件名,name="ios-package"value="pluginTest"/>中value与文件名相同

(2).修改平台对应的配置文件,如ios中的info.plist等配置文件,如下图:

图中为在iOS的info.plist文件中添加 UIBackGroundModes,NSLocationAlwaysUsageDescription 两个键值对,target 为info.plist 文件名,parent 为添加的key ,中间部分为添加的value值

(3).添加插件的依赖库,如图:

src填写需要添加的库文件名称即可

到这里基本已经配置完成,新建一个工程,检验一下成果

注:插件文件夹结构一般为:

以上plugin.xml文件中src可根据实际插件目录结构进行修改

将插件添加到项目中:

cd进入项目文件夹,输入命令:cordova plugin add {插件文件夹路径}

添加之后:cordova build 编译一下

然后xcode打开,如图:

我们的插件已经添加进去了,framework也在里面,然后看一下info.plist有没有修改成功

可以看到,我们添加的信息,都已经出现在里面了

这个时候我们在index.js中调用一下

最终结果调用成功了

转载地址:http://ugjko.baihongyu.com/

你可能感兴趣的文章
梯度下降(Gradient descent)
查看>>
Windows平台分布式架构实践 - 负载均衡
查看>>
Android快速开发常用知识点系列目录
查看>>
最容易理解的对卷积(convolution)的解释
查看>>
《机器学习实战》知识点笔记目录
查看>>
完美解决NC502手工sql的查询引擎排序及合计问题
查看>>
windows 7/mac编译cocos2d-x-3.2*的android工程报错
查看>>
MYSQL导入导出.sql文件(转)
查看>>
git review报错一例
查看>>
《信息安全系统设计基础》 课程教学
查看>>
Linux平台下使用rman进行oracle数据库迁移
查看>>
全栈工程师学习Linux技术的忠告
查看>>
iOS自定制tabbar与系统的tabbar冲突,造成第一次点击各个item图片更换选中,第二次选中部分item图片不改变...
查看>>
SVN服务器使用(二)
查看>>
反射获取内部类以及调用内部类方法
查看>>
C语言 - pthread
查看>>
App里面如何正确显示用户头像
查看>>
DATAGUARD维护:从库宕机后如何恢复到管理恢复模式
查看>>
U-BOOT之一:BootLoader 的概念与功能
查看>>
我的路上
查看>>