【发布时间】:2020-06-16 10:32:56
【问题描述】:
我目前有几个应用程序依赖 PhoneGap Build 来为 Andriod 和 iOS 创建原生应用程序。似乎 Adobe 即将放弃 iOS 兼容性,未能升级到最新的 Cordova iOS 版本以满足 Apple 的要求。是时候迁移到 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”构建正确的分发版本。它似乎有效,但苹果拒绝了二进制文件,理由是错误的配置文件。幸运的是,我可以通过 XCode 提交(使用在 XCode 中手动设置的完全相同的配置文件和证书)并且 Apple 接受了它。这对我现在有效。我喜欢记录我发送的每个 ipa,但我可以通过 XCode 导出它们。顺便说一句,在构建分发时,取消选中包括符号。这似乎导致它上传了 1000 的 MB。
更新 4:
- 阻止我构建正确 .ipa 的问题是您需要在 cordova build 命令行上同时指定 --release 和 --device。你会认为 --release 自己会做正确的事,但事实并非如此。
我现在可以正常提交了。感谢您的帮助!
【问题讨论】:
-
我也在迁移到 CLI,我创建了一个新项目并移动了所有文件 www,我合并了 config.xml(因为有一个新的命名空间 cdv,所以我保留了它),然后总是当我改变一些我必须使用“cordova platform rm ios”并再次添加它,否则会发生一些奇怪的问题,问题是我必须用xcode打开iOS项目并再次添加签名,但效果很好,没有得到所有这些问题。现在,我正在努力迁移到 cordova-ios-6.0.0。我遇到了一些错误,可能是因为 UIWekView 不再存在并且某些插件对此有引用。