cordova - 在 M1 Mac 上构建适用于 iOS 的 ionic cordova 应用程序

标签 cordova ionic-framework cocoapods apple-m1 cordova-ios

@ionic/角度:6.0.1 & Cordova -ios:6.2.0

嘿,

我刚刚安装了新的 M1 Macbook Pro,正在尝试运行命令

ionic cordova build ios

失败了

building for iOS Simulator, but linking in object file built for iOS, file 'FILE_PATH' for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

...

** BUILD FAILED **

我用谷歌搜索了这个,我在网上找到的所有内容都说

Basically you have to exclude arm64 for simulator architecture both from your project and the Pod project,

并提供有关如何通过 XCode 示例执行此操作的教程

https://stackguides.com/questions/63607158/xcode-12-building-for-ios-simulator-but-linking-in-object-file-built-for-ios .

当我查看 XCode 时,我没有看到“排除的架构”部分。即使我确实看到了这一点,我的构建流程也会删除并添加回 ios 平台,因此我每次都必须执行此操作...

然后我看到人们说向 PodFiles 添加 post_install 脚本。使用 Cordova/Ionic 时,如何为 PodFile 添加 post_install 脚本?

如果我在构建过程中将手机插入计算机,它可以工作,但这不是一个理想的解决方案,因为我希望它能够构建一堆白标应用程序,而不需要将我的手机插入我的手机在此过程中计算机。

有人对此/信息有任何解决方案吗?

更新: 我使用 Rosetta 的终端打开成功完成了构建。 重现步骤:

  1. 进入“应用程序”->“实用程序”
  2. 重复的终端
  3. 将第二个终端重命名为 Rosetta-Terminal
  4. 右键单击 Rosetta-terminal 并单击“获取信息”
  5. 选中“使用 Rosetta 打开”
  6. 通过 Rosetta-Terminal 进行构建

现在一切似乎都正常......我确信这不是“理想”的解决方案,但它现在有效

重复的终端

最佳答案

对我来说,除了 Rosetta 之外,没有任何效果。

对我有用的步骤:

  1. 已安装 Rosetta(因为尚未安装)(在终端中执行):

softwareupdate --install-rosetta

  • 右键单击 xcode,选中用 Rosetta 打开,然后打开 XCode。

  • Cmd+Shift+K -> 运行构建

  • 它将在模拟器/设备中打开应用程序

    关于cordova - 在 M1 Mac 上构建适用于 iOS 的 ionic cordova 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70789326/

    相关文章:

    html - ionic : Floating Menu

    ios - Sinch Integration in swift 项目

    android - 在 ionic 中生成适用于 API 级别 19 的 Apk

    cordova - 当我点击按钮时,它会触发两次(在手机中)(jquery+phonegap)

    android - 第一个标记错误前的非空白

    ios - UIWebView 向 Apple 提交 ionic 应用程序时出错

    javascript - 如何检查所有文档是否都已使用 Firebase.util 分页加载

    iOS:Xcode 中的 ImageMagick 编译器警告

    ios - FBSDK LoginManager 通过 Cocoapods "No visible @interface..."

    ios - 如何在 iOS 上使用 Admob Phonegap 插件