从 PhoneGap Build 转换为本地 Cordova CLI

srk*_*man 9 cordova phonegap-build

我有几个目前依赖 PhoneGap Build 为 Andriod 和 iOS 创建本机应用程序的应用程序。由于未能升级到最新的 Cordova iOS 版本来满足 Apple 的要求,Adobe 似乎即将放弃 iOS 兼容性。是时候转向 CLI 了。我希望以前做过这件事的人可以提供一些关于他们如何做到这一点的提示。特别是对工作流程、处理密钥和 config.xml 等的更改。

更新 1:我一直在使用自动化工作流程取得进展,这是我到目前为止所学到的(在 MacOS 上):

  • 加载 Cordova 是脆弱的。我不得不在互联网上搜索了几次,以克服在加载所有内容时遇到的问题。
  • 创建 Cordova 项目目录时,您应该添加 ios 和 android 平台之前使用您的内容填充 config.xml、res 和 www 。否则“cordova clean”会中断。
  • 如果您使用 build.json,如果在使用之前更改它,则必须“cordova clean”。
  • 为 iOS 构建,然后在 XCode 中打开 {cordovaDir}/platforms/ios/{proj}.xcworkspace,然后加载您的证书和配置文件(选择顶级目录以获取常规设置页面)。您必须关闭“自动管理签名”才能设置所有内容。
  • 我无法让“自动”签名工作(请参阅 Cordova CLI 9.X 文档)。我使用了手动过程。通过使用文本编辑器编辑配置文件并搜索“UUID”来获取 UUID。
  • 在 Cordova CLI 构建过程中,代码签名者会多次询问您的密码。自动化就这么多。有没有办法解决?

如果我有什么问题,请告诉我。

更新 2:

  • 设置 iOS(手动)登录新项目时。您需要关闭“自动管理签名”,设置您的配置文件,然后退出 XCode。然后重新打开 xcworkspace 文件并打开“自动管理签名”。您需要这最后一步才能使手动签名工作。您需要在两者之间退出,否则,当您返回“自动管理签名”时,XCode 将不会记住您的配置文件。奇怪的。
  • 在构建 apk 和 ipa 时,我发现我必须手动输入密码 4 次。您必须授予钥匙串访问权限才能自动让协同设计者使用您的密钥以避免这种情况。

更新 3:

  • 我无法使用“cordova build”构建正确的分发版本。它似乎有效,但 Apple 以错误的配置文件为由拒绝了该二进制文件。幸运的是,我可以通过 XCode 提交(使用在 XCode 中手动设置的完全相同的配置文件和证书)并且 Apple 接受了它。这现在对我有用。我喜欢记录我发送的每个 ipa,但我可以通过 XCode 导出它们。顺便说一句,在构建分发时,取消选中包含符号。这似乎导致它上传了 1000 的 MB。

更新 4:

  • 阻止我构建正确的 .ipa 的问题是您需要在cordova 构建命令行上同时指定--release 和--device。你会认为 --release 会自己做正确的事情,但不是。

我现在可以正常提交了。谢谢您的帮助!

Tar*_*ior 0

这些是我遵循的步骤:

要求

  • IOS:MacOS运行、XCode、XCode命令行工具
  • Android:Windows/MacOS、Android Studio 和 SDK、JDK

配置

  1. 您必须安装NPMCordova CLI工具。
  2. 我建议使用创建一个新的 cordova 项目cordova create并将文件移动到此文件夹
  3. 在phonegap和cordova上使用的config.xml没有太大区别,基本上我复制了所有内容
  4. 如果您正在升级 cordova 平台版本(因为我们大多数人都从 cordova-ios-5.x 升级到 cordova-ios-6.x),可能您的某些插件将无法构建,因此您必须检查每个插件插件,如果有与您的平台兼容的版本,如果没有,您将不得不删除它(例如:cordova-plugin-console)。
  5. 尝试使用 添加您的平台cordova platform add [android/ios],在 cordova 网站上检查当前的 iOS 版本,Apple 不会接受在旧平台上制作的版本。您可能需要告知 cordova iOS 版本(例如:cordova platform add ios@6.1.0

建筑

  1. 尝试使用构建cordova platform build [android/ios]
  2. 如果成功,此时您可以在平台文件夹中调试打开项目(使用 XCode 或 Android Studio,具体取决于您正在构建的平台)
  3. 如果还无法构建,请仔细检查可能的错误信息,大多数错误都出在config.xml或插件上,如果你不知道问题所在,请尝试删除所有插件,一一构建并添加。当您遇到一些错误并修复它时(主要是在配置或插件上),我建议使用cordova platform rm [ios/android]和删除平台cordova clean,然后再次添加平台(请参阅设置步骤 5)

签署应用程序

  • 构建 iOS/Android 的发布版本需要对您的应用程序进行签名

  • 我建议使用 build.json 您可以在其中设置团队名称、证书等,这样您就不需要每次都打开 IDE 来签署应用程序或插入密码

查看有关在 cordova 上使用 build.json 的更多详细信息的链接: https: //cordova.apache.org/docs/en/latest/guide/platforms/ios/index.html#signing-an-app https://cordova。 apache.org/docs/en/latest/guide/platforms/android/index.html#signing-an-app