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

2024-01-05

@离子/角度:6.0.1 & 科尔多瓦-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 **

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

基本上,您必须从您的项目和 Pod 项目中排除模拟器架构的 arm64,

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

https://stackguides.com/questions/63607158/xcode-12-building-for-ios-simulator-but-linking-in-object-file-built-for-ios 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. 右键单击罗塞塔终端并单击“获取信息”
  5. 选中“使用 Rosetta 打开”
  6. 通过 Rosetta-Terminal 进行构建

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

重复终端


对我来说,除了罗塞塔之外,什么都不起作用。

对我有用的步骤:

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

软件更新--安装-rosetta

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

  2. Cmd+Shift+K -> 运行构建

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 M1 Mac 上构建适用于 iOS 的 ionic cordova 应用程序 的相关文章

随机推荐