为啥 PhoneGap 会为同一个应用创建不同的 config.xml 文件?

Posted

技术标签:

【中文标题】为啥 PhoneGap 会为同一个应用创建不同的 config.xml 文件?【英文标题】:Why does PhoneGap create different config.xml files for same app?为什么 PhoneGap 会为同一个应用创建不同的 config.xml 文件? 【发布时间】:2013-09-14 13:54:24 【问题描述】:

我使用 PhoneGap 3.0 CLI 通过以下命令创建示例应用程序:

phonegap create MyTestApp com.example.mytestapp MyTestApp

然后我看到了两个不同的config.xml文件,下面是我在项目根www文件夹中看到的:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.mytestapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">

其中 id 属性正确且版本为 1.0.0

但我在 /platforms/ios/MyTestApp/config.xml 中看到的有点不同:

<widget id="io.cordova.helloCordova" version="2.0.0" xmlns="http://www.w3.org/ns/widgets">

id 错误,版本是 2.0.0

为什么它们不同?要知道,每次我们运行 phonegap build ios 命令时,都会重新创建 iOS config.xml 文件。

【问题讨论】:

【参考方案1】:

如果您仔细阅读 CLI 命令创建的内容,那么看到不同的 config.xml 文件可能会让人感到困惑。在您的根 www 文件夹中有一个示例 config.xml,当通过 PhoneGap Build(通过 phonegap build 远程命令)远程构建项目时使用该示例。

但是,当您在本地为平台构建时,您将对位于不同位置的每个平台的 config.xml 文件进行特定于平台的更改。例如,对于 android,您会在类似 yourprojectroot/platforms/android/res/xml/config.xml 的路径下找到它。

对于 ios,您可以在 yourprojectroot/platforms/ios/yourprojectname/config.xml 下找到它。如果您不注意,这可能会导致混淆,因为您还会在从根项目复制下来的平台 www 文件夹中看到示例。平台特定目录中的那个是要更新和修改的。

PhoneGap 3.0 – Stuff You Should Know

【讨论】:

谢谢!亲爱的phonegap,多么直观:/

以上是关于为啥 PhoneGap 会为同一个应用创建不同的 config.xml 文件?的主要内容,如果未能解决你的问题,请参考以下文章

编译后Phonegap构建压缩应用程序?为啥要这样做?

您会为高流量的 Web 应用程序选择啥实时框架,为啥?

为啥 `npm install` 会为同一个 `package.json` 文件生成不同的 `package-lock.json` 文件?

为啥 phonegap ipa 正在安装循环?

为啥 GCC 会为几乎相同的 C 代码生成如此完全不同的程序集?

为啥 emacs 会为修改过的文件创建临时符号链接?