我的Cordova iOS插件中的冗余问题
我不明白Cordova(最新版本6.1)是如何处理插件的。我的应用程序有以下项目:我的Cordova iOS插件中的冗余问题,ios,cordova,cordova-plugins,Ios,Cordova,Cordova Plugins,我不明白Cordova(最新版本6.1)是如何处理插件的。我的应用程序有以下项目: myapp (only relevant folders and files shown) +-config.xml +-platforms | +-ios | +-CordovaLib | +-MyApp | +-Plugins | +-com-myproj-myplugin | |-myplugin.h | |-myplugin.m +-plugin
myapp (only relevant folders and files shown)
+-config.xml
+-platforms
| +-ios
| +-CordovaLib
| +-MyApp
| +-Plugins
| +-com-myproj-myplugin
| |-myplugin.h
| |-myplugin.m
+-plugins
| +-com-myproj-myplugin
| |-plugin.xml
| +-src
| +-ios
| |-myplugin.h
| |-myplugin.m
+-www
如您所见,此项目有一个插件myplugin
,位于2个目录中:
- 根
文件夹-Here文件plugins
不包含任何代码实现(只包含签名和函数中的空内容)myapp\plugins\com myproj myplugin\src\ios\myplugin.m
- iOS应用程序特定的
文件夹-Here文件Plugins
实际上包含实现myapp\platforms\iOS\myapp\Plugins\com.myproj.myplugin\myplugin.m
cordova构建ios
myapp\plugins\
中的资源复制到myapp\platforms\…\plugins\
插件
文件夹复制到特定于平台的插件
文件夹中
插件这是我的插件的plugin.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" id="com.myproj.myplugin" version="0.1.0">
<name>MyPlugin</name>
<description>Just my plugin</description>
<license>Me</license>
<js-module src="www/myplugin.js" name="myplugin">
<clobbers target="myplugin" />
</js-module>
<!-- ios -->
<platform name="ios">
<config-file target="config.xml" parent="/*">
<feature name="MyPlugin">
<param name="ios-package" value="MyPlugin"/>
<param name="onload" value="true"/>
</feature>
</config-file>
<header-file src="src/ios/myplugin.h" />
<source-file src="src/ios/myplugin.m" />
</platform>
</plugin>
我的插件
只是我的插件
我
我的问题我应该如何开发插件以避免这种冗余?代码是否应仅放在平台特定的
插件
文件夹中?但是放在genericplugins
文件夹中的plugin.xml
怎么样?您想创建自己的插件吗?您必须创建包含类和plugin.xml文件的plugin文件夹。plugin.xml文件是告诉cordova复制什么的文件。@jcesarmobile:Yes,但是,为什么Cordova不将这些文件复制到特定于平台的插件文件夹中?您有plugin.xml文件吗?是的,我有该特定插件的文件,并且头文件和源文件是特定的。如果您从CLI安装插件,并且有plugin.xml,则应将文件复制到正确的位置