Phonegap/Cordova 到没有 Phonegap 构建的 ipa 文件

Phonegap/Cordova to ipa file without Phonegap build

我使用 Phonegap Build 创建我的 Android 和 iOS 应用程序文件。但是我想在我的计算机上本地编译文件,而不是使用 Phonegap Build。我已经为 Android 成功完成了此操作(请参阅此处:https://cordova.apache.org/docs/en/latest/guide/platforms/android/),但 iOS 更复杂。我对苹果知之甚少。

有没有人知道关于如何将 Phonegap 插件导入 xcode 环境的任何好的教程...对于背景不是 Apple 开发人员的人来说是一个理想的教程。

我自己设法做到了,但我自己回答了 post 以帮助可能处于类似情况的其他人 - 请注意,截至 2019 年底,这是正确的,我已经之前通过Phonegap Build成功上传了一个IPA文件到应用商店。我在这里所做的就是直接在 Mac 上编译我的 Phonegap/Cordova 项目 IPA 文件,而不是使用 Phonegap Build:

1) 您将需要 mac 和开发人员许可证(如预期的那样)。您将尽可能使用终端 window 和 Xcode.

2) 证书和供应是撒旦的恶梦。但请确保您在 developer.apple.com 帐户上设置了 "App store distribution" 个人资料。如果您不知道如何处理证书和规定,请阅读此处 https://medium.com/ios-os-x-development/ios-code-signing-provisioning-in-a-nutshell-d5b247760bef。 但请记住,您只需要将证书下载到您的 Mac,并将其添加到您的 "My Certificates" 区域。规定可以自动downloaded/linked到viaXcode.

3) 在您的 Mac 上安装 Xcode 11。忘记所有其他版本。

4) 使用终端在 Mac 上安装 Cordova CLI - 打开终端 window 并输入: sudo npm install -g cordova

5) 创建一个新的 cordova 项目 - 不要试图通过拔掉您已经在 PC 上使用过的项目来变得聪明:

cordova create hello com.example.hello HelloWorld ...您可能需要在其前面添加 "sudo" 。不要将任何 html 文件或插件复制并粘贴到其中!

6) 如果您的 Mac 可能会给您带来 read/write 访问问题。因此,找到整个文件夹,ctrl+单击项目文件夹,选择 "get info" ...在弹出窗口的右下角 window 单击锁定图标并输入您的密码。现在将所有设置更改为 "read and write",然后单击齿轮图标和 select "Apply to enclosed items"。

7) 创建平台:sudo cordova platform add ios@5.1.0...注意,如果您使用的是 firebase 或推送通知,请不要使用 ios5.1.1,因为它似乎与 5.1.1 不兼容.

8) Apple 可能(再次)只授予对您的新 platforms/ios 文件夹的读取权限,因为它讨厌您并希望您受苦。因此,如有必要,请重复第 6 步。

9) 按以下方式打开 Xcode... 在您的项目名称/platforms/ios/ 文件夹中找到 .xcworkspace 文件。这是您用来打开项目的文件。不要使用 .xcodeproj 文件,因为它适用于旧的 Xcode 版本(它只会破坏你整个该死的项目)。同时转到文件-> 工作区设置并确保构建系统设置为 "Legacy Build System".

10) 现在将您的 config.xml 文件拼凑起来,将您需要的位从您以前的配置文件中提取到新的配置文件中。不要费心移动任何 android-specific 位。

11 a) Apple 为您带来新鲜的 cocoa pods - Swift 和 Objective-C 的依赖管理器。如果您的应用程序使用某些东西,例如推送通知(例如 firebase),您将需要安装它。您可以通过终端 window 安装它。首先....关闭 Xcode。 NEXT 转到 projectname/ 并键入:sudo gem install cocoapods。最后转到 projectname/platforms/ios/ 并输入 pod install.

11 b) 有一个错误……一个非常重要的错误。此时您的 cocoapods 将失败。所以你需要在这里做一些黑客攻击。导航到目录 projectname/platform/ios/Pods/TargetSupport Files/Pods-yourproject 并查找 Pods-yourproject.debug.xconfig 和 Pods-yourproject.release.xconfig

您需要将这些文件的内容复制到platform/ios pods-debug-xconfig 和 pods-release.xconfig 分别----谢谢 kyale-mwendwa 的提示....https://github.com/phonegap/phonegap-plugin-push/issues/1825#issuecomment-359155007

12) 现在将您的 www 文件夹复制并粘贴到您的新项目中。您已准备好构建您的项目...

13) 使用 .xcworkspace 文件重新打开 xcode。现在您需要确保为您的发布正确设置您的供应。单击左侧栏顶部的项目名称(在显示 config.xml 的正上方)。现在在主 window 中单击 "Targets" 部分下的应用程序名称。现在select"Signing and Capabilities"。如果您设法正确设置证书和规定,您应该能够 select 您的 "team" (不,我也不知道,只是 select 您可以在这里选择的任何选项),然后输入识别出正确的包 (com.whatever.whatever)。

14) 好的,您已准备好创建 IPA 文件。还有头发??奖励积分给你!

就在下一点之前,转到 Xcode 并在屏幕顶​​部看到项目名称后跟“> iPad(第 7 代)”或类似内容。单击此按钮并确保选择 "Generic iOS device"。

现在回到终端输入 sudo cordova build ios。您不必从 windows 构建的 cordova 文件夹中传输插件文件。 Cordova 将从您的 config.xml 中检测到您需要的插件并适当地安装它们。

15) 如果没有错误,您现在可以创建您的 IPA 文件,甚至可以直接将其提交到 App store(Xcode 的这一点实际上非常好)。在 Xcode 中,从顶部的菜单中单击 "Product",然后单击 "Archive"。按照屏幕上的说明进行操作。此时您的 IPA 文件已创建。 您可以选择自动将您的文件分发到 Appstore,但我建议先单击 "Validate App" 选项,这将重新请求正确的 certificates/provisions 并为您提供所有问题的摘要。如果没有问题,您可以单击 "Distribute App",它会将 IPA 文件上传到您的 Appstore Connect(以前称为 iTunes Connect)区域。