自定义 Cordova iOS 插件

Posted

技术标签:

【中文标题】自定义 Cordova iOS 插件【英文标题】:Custom Cordova iOS plugin 【发布时间】:2015-03-12 08:35:15 【问题描述】:

我是使用cordova 开发的新手,想从文件系统中添加一个自定义编写的ios 插件。我使用 Cordova 4.3.0 版和 iOS 3.8.0 版。

尝试使用 " $ cordova plugin add ../my_plugin_dir" 添加插件时,出现以下错误:

Error during processing of action! Attempting to revert...
Failed to install 'at.researchstudio.knowledgepulse.reminder':Error: Uh oh!
".../plugins/at.researchstudio.knowledgepulse.reminder/src/ios/Kpreminder.m" not found!

但是m-source文件在这个文件夹里!!!我究竟做错了什么?? 插件结构:

at.researchstudio.knowledgepulse.reminder/
  plugin.xml
  src/
    ios/
      Kpreminder.h
      Kpreminder.m
  www/
      reminder.js

plugin.xml 如下所示

<?xml version="1.0" encoding="UTF-8"?>

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
        id="at.researchstudio.knowledgepulse.reminder" version="0.0.1">
    <name>Kpreminder</name>
    <description>Reminder Functionalities for KP</description>
    <keywords>KnowledgePulse reminder</keywords>

    <js-module src="www/reminder.js" name="reminder">
        <clobbers target="reminder" />
    </js-module>

    <platform name="ios">
        <config-file target="config.xml" parent="/*">
            <feature name="Kpreminder">
                <param name="ios-package" value="Kpreminder"/>
            </feature>
        </config-file>
        <header-file src="src/ios/Kpreminder.h" />
        <source-file src="src/ios/Kpreminder.m" />
    </platform>

   </plugin>

【问题讨论】:

您使用的是哪个科尔多瓦版本? cordova 版本 4.3.0 尽量不要在文件夹名称上使用点。 返回的错误是给定路径中缺少文件...尝试将插件添加到插件文件夹并使用命令 cordova build ios。 更改文件夹名称时不成功(不带点);将其添加到插件文件夹时没有成功 【参考方案1】:

我想你可以把你的插件放在'plugins'文件夹中,放到其他文件夹中 像 $project_folder/myplugins/at.researchstudio.knowledgepulse.reminder 然后安装它

【讨论】:

以上是关于自定义 Cordova iOS 插件的主要内容,如果未能解决你的问题,请参考以下文章

Cordova自定义插件开发 iOS

在 iOS 中使用自定义框架的 Cordova 插件错误

Cordova iOS 自定义插件:处理内存警告

如何让 Cordova 通过插件自动嵌入自定义 iOS 框架?

自定义 Cordova 插件 iOS index.js 无法识别我的 .js 文件

ionic cordova build ios 使用 xcode swift 3 框架安装自定义插件失败