Cordova 不适用于 iOS 多个目标

Posted

技术标签:

【中文标题】Cordova 不适用于 iOS 多个目标【英文标题】:Cordova doesn't work with iOS Multiple targets 【发布时间】:2015-07-06 12:06:03 【问题描述】:

Cordova ios3.8.0 科尔多瓦:5.1.1

我必须为我的项目创建两个额外的目标(具有不同的包 ID)。当我这样做时,当我这样做时:

$ cordova prepare ios

我的终端出现此错误:

could not find -Info.plist file, or config.xml file

我需要为每个目标创建不同的 config.xml 文件吗?如果是,我该怎么做?


重现“错误”的步骤:

    创建一个空的 HelloWorld 项目:

    cordova create hello com.example.hello HelloWorld

    cordova platforms add ios

    在 xcode 中打开项目,复制一个目标。

    然后做,例如:

    cordova plugin add cordova-plugin-inappbrowser

由于同样的错误,插件将无法安装。

【问题讨论】:

我无法重现此问题。您能否详细说明复制目标?从您提到的内容来看,您将现有目标复制了两次,并在新目标上更改了捆绑 ID。你改方案了吗?你还做了什么? 可能类似于this? 【参考方案1】:

显然 Cordova 有多个目标的问题。

有一个带有修复的拉取请求:https://github.com/apache/cordova-lib/pull/219

在 Codova 修复此问题之前,这里有一个手动解决方法:

    获取修补的cordova-lib:

git 克隆http://github.com/ogoguel/cordova-lib

    编辑 /usr/local/lib/node_modules/cordova/package.json 以使用修补版本:

替换:

“依赖”:

"cordova-lib": "5.0.0",

“依赖”:

“cordova-lib”:“文件:PATH_TO_PATCHED_LIB/cordova-lib/cordova-lib”,

(PATH_TO_PATCHED_LIB - 应该是您在步骤 1 中克隆的 cordva-lib 文件夹的绝对路径)

    更新 npm 安装:

cd /usr/local/lib/node_modules/cordova

sudo npm 安装

【讨论】:

【参考方案2】:

你检查过这个工具吗? http://tarifa.tools/

它是cordova之上的一个强大的层,可以生成多个应用程序ID(即1个用于测试/1个用于客户端/1个用于生产......)

【讨论】:

以上是关于Cordova 不适用于 iOS 多个目标的主要内容,如果未能解决你的问题,请参考以下文章

Ngbdropdown点击事件不适用于带有角度8运行cordova的ios phonegap

带有 facebook/gmail 的 OAuth 不适用于 iOS 模拟器(Cordova 应用程序 + Firebase)

cordova-plugin-ionic-webview - 自定义方案不适用于 Android

Cordova 插件 Geolocation 不适用于 Android 版本 Kitkat

Cordova 功能不适用于服务器

通知不适用于 ios8 - Pushwoosh + phonegap