插件规范 下面将为您介绍QDT官方插件开发流程. ios目前支持的插件工程可以包含以下资源文件 1,后缀名为.h .m .c .mm 的代码文件; 2,支持后缀名为.framework ,.a 的静态库文件; 3,任意的图片或者数据库文件。 不能包含以下文件: 1,命名为info.plist的文件; 2,与壳工程有重复的名称文件,[壳工程地址](http://https://git.oschina.net/chameleon/appengine-cordova-ios); 要上传自定义的插件工程,必须遵从以下规划: 1,代码编辑时没有错误发生; 2,把所有代码按照指定格式存放进行zip打包; 3,把zip包上传到服务器中; zip包格式如下图所示:  zip 包的根目录名称可以任意命名,一个zip只允许一个根目录,如上图的package.zip 的根目录命名为package 进入根目录后的目录结构如下图所示:  |-WebPlugin //插件ios源码以及资源目录(资源是通过工程结构被添加进去) |-www //被作为group格式添加的www目录(把当前目录的所有文件导进xcode工程中作为group格式的www目录下) |-config.json //zip包的配置描述文件,[必须] |-copy_info.plist //将会复制到壳工程的info.plist 信息 插件描述文档config.json说明: { "platform": "ios", "target":"7.0", "describe": "描述信息", "version": "1.0.0", "identifier":"com.foreveross.chameleon.user.plugin.ModuleOperationPlugin", "pluginEntry":[], "params":[ { "tips" : "应用扩展参数提示", "key" : "应用扩展参数对应要修改的模板的键值", "display" : "应用扩展参数显示的字段名", "default" : "设置默认值", "required" : true, "template" : [ "AirPay.plist" ] } ] "applicationEntry":[ "pluginInitialize" ], "copy_plist":"copy_info.plist", "copy_www":"www", "framework" :[{ "path" : "System\/Library\/Frameworks\/CoreFoundation.framework", "name" : "CoreFoundation.framework", "lastKnownFileType" : "wrapper.framework", "sourceTree" : "SDKROOT" }], "pluginReference":{ "WebPlugin\/Pay\/openssl\/des_old.h" : "Pay\/openssl" } } platform 插件版本,一般为ios target 插件支持的ios最低版本号 describe 描述信息 version 插件的版本号 params 插件需要对用户进行数据定制时,所必须的格式 identifier 插件的唯一标识,注:必须在服务器匹配是唯一的 pluginEntry 当插件支持cordova phonegap 接口输出时所携带的附加数据(输出插件的cordova 接口) applicationEntry 插件加载入主程序后,默认初始化的类 copy_plist 要复制到主程序的info.plist的参数 copy_www 要复制到主程序的以www为命名的group 组 framework 要加到主程序的system framework pluginReference 要加入的到主程序的文件 params 详细参数(详细使用请查阅《插件操作指引 - 自定义外界数据》): "params":[ { "tips" : "应用扩展参数提示", "key" : "应用扩展参数对应要修改的模板的键值", "display" : "应用扩展参数显示的字段名", "default" : "设置默认值", "required" : true, "template" : [ "AirPay.plist" ] } ] tips 应用扩展参数提示 key 应用扩展参数对应要修改的模板的键值 display 应用扩展参数显示的字段名 default 设置默认值 required 是否为必填字段 template 适合该参数更替的字段 pluginEntry 详细参数(详情使用请查询《插件操作指引 - 兼容cordova phonegap的html 插件输出 》): "pluginEntry" : [ { "name":"Alipay", "ios-package":"CDVAlipay", "onload":"true", "pluginParam":{ "file":"webplugin/com.justep.cordova.plugin.alipay/www/alipay.js", "id":"com.justep.cordova.plugin.alipay.alipay", "pluginId":"com.justep.cordova.plugin.alipay", "clobbers": [ "navigator.alipay" ] } } ] name ios-package onload 设置对应于主程序cordova phonegap 的config.xml 的输出插件参数的name ios-package onload属性 pluginParam 设置对应于主程序cordova phonegap 的cordova_plugins.js 的输出接口接点