ios corodova开发自己的插件

相关链接:

使用Cordova进行iOS开发 (环境配置及基本用法) http://www.jianshu.com/p/d24219c008b6

1.使用plugman创建插件模板。

最简单的一个插件实例:

http://blog.csdn.net/b2259909/article/details/52471178?locationNum=2

源码地址:http://download.csdn.net/download/snala/10130087

命令:

1)创建插件模板:

plugman create --name MqttHelper --plugin_id MqttHelper --plugin_version 1.0.0

2)

cd MqttHelper

3)

plugman platform add --platform_name ios
plugman platform add --platform_name android

4)修改plugin.xml文件,编辑src下文件和js文件

5)打开要添加插件的项目目录(ABCD):

cd ABCD

显示已经安装的插件链表

cordova plugin list

 

6)添加插件(add 后面是插件文件夹所在目录,我的插件和项目根目录在一个目录)

 cordova plugin add ../MqttHelper

7)删除插件(SimpleMath)

 

以上插件实例只是最简单的,还有时候要引用第三方框架,比如实时通讯的框架MQTTClient,要把第三方框架导入到插件里,需要以下知识:

1.cordova Plugin.xml 详解 http://www.jianshu.com/p/92dd69ae7d8f

重点在于framework的使用,首先要把要用的程序打包成库,在java中是jar包,在ios oc下就是.framework文件

(1)Xcode8如何创建Framework静态SDK库

http://blog.csdn.net/sinat_16714231/article/details/52857222

(2)[iOS]Xcode8 搭建 .framework

http://blog.csdn.net/sz_vcp2007/article/details/52606254

2.把第三方框架打包后,放到插件(例如MqttHelper)目录(src/ios/framework/xx.frameworl)下,如下图。其中,framework文件夹下是其他代码文件,调用了framework里的部分方法。

3.plugin.xml文件的写法:

<?xml version='1.0' encoding='utf-8'?>
<plugin id="MqttHelper" version="1.0.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
    <name>MqttHelper</name>
    <js-module name="MqttHelper" src="www/MqttHelper.js">
        <clobbers target="cordova.plugins.MqttHelper" />
    </js-module>
   
   <platform name="ios">
        <config-file parent="/*" target="config.xml">
            <feature name="MqttHelper">
                <param name="ios-package" value="MqttHelper" />
            </feature>
        </config-file>
        <header-file src="src/ios/MqttHelper.h" />
        <source-file src="src/ios/MqttHelper.m" />
        <header-file src="src/ios/MQTTClientManager.h" />
        <source-file src="src/ios/MQTTClientManager.m" />
        <header-file src="src/ios/MQTTStatus.h" />
        <source-file src="src/ios/MQTTStatus.m" />
        <header-file src="src/ios/messageDelegate.h" />
        <framework src="src/ios/framework/MqttFramework.framework" custom="true" />
    </platform>
</plugin>

 4.关于package.json文件,不重要但必不可少,“main”的js文件一定要和www目录下js文件一样,否则出错。其他不重要

{
  "name": "mqtthelper",
  "version": "1.0.0",
  "description": "mqtthelper plugin",
  "main": "MqttHelper.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "mqtt"
  ],
  "author": "a",
  "license": "ISC"
}

 

 

 

 

 

 

 

posted @ 2017-11-23 15:48  mmmmgxt  阅读(461)  评论(0编辑  收藏  举报