【问题标题】:Cordova iOS - issue adding pluginsCordova iOS - 添加插件的问题
【发布时间】:2014-09-22 05:00:18
【问题描述】:

我正在尝试通过终端将相机插件添加到我的 cordova 项目中,但无论我在哪里运行 cordova plugin add org.apache.cordova.camera,我都会遇到同样的错误。错误是

'Current working directory is not a Cordova based project'

我使用的是 Cordova 版本 3.4.1-0.1.0。文档很糟糕,到目前为止没有给我任何帮助。我在一个 android 项目上做了类似的事情,一切正常,这只发生在 iOS 中。

有没有一种方法可以在不通过命令行的情况下手动添加插件?我找到了this link,它允许我下载插件的文件,但我不知道它们应该去哪里。

压缩包中包含的文件如下:

doc (folder)
plugin.xml
src (folder containing the ios folder)
    ios (folder)
        CDVCamera.h
        CDVCamera.m
        CDVExif.h
        CDVJpegHeaderWriter.h
        CDVJpegHeaderWriter.m
www (folder containing js files)

我已经在这里坐了几个小时,试图浏览大量糟糕的文档,但似乎没有任何效果。任何帮助将不胜感激,干杯!

【问题讨论】:

    标签: ios cordova plugins


    【解决方案1】:

    你应该跑

     cordova plugin add org.apache.cordova.camera
    

    来自项目根文件夹,而不是 iOS 或 android 文件夹。当您运行它时,它会为该插件支持的所有已安装平台安装该插件。

    我正在运行 3.5.0-0.2.4。我从/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova 中的util.js 中提取了这个函数(在Mac 上)

    function isRootDir(dir) {
        if (fs.existsSync(path.join(dir, 'www'))) {
            if (fs.existsSync(path.join(dir, 'config.xml'))) {
                // For sure is.
                if (fs.existsSync(path.join(dir, 'platforms'))) {
                    return 2;
                } else {
                    return 1;
                }
            }
            // Might be (or may be under platforms/).
            if (fs.existsSync(path.join(dir, 'www', 'config.xml'))) {
                return 1;
            }
        }
        return 0;
    }
    

    这是它如何确定它有一个cordova根目录

    【讨论】:

    • 这就是我所做的,仍然没有运气。我什至尝试从其他文件夹运行它,但仍然遇到同样的错误。
    • 你用cordova cli创建项目了吗?
    • [编辑] 我刚刚阅读了科尔多瓦的源代码。它在根项目目录中查找 www、config.xml 和平台。 config.xml 有吗?
    • 是的,我做到了。是的,config.xml 文件在那里
    • 我找不到那个文件,但是我可以为我的 android 项目找到!
    猜你喜欢
    • 2015-07-17
    • 2019-02-07
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    • 2013-11-25
    • 2019-11-18
    • 1970-01-01
    • 2021-03-15
    相关资源
    最近更新 更多