返回

Xcode 14.1 使用 Rosetta 解决打包 iOS App 失败问题

Android

使用 Xcode 14.1 在 macOS Monterey 上打包 iOS App 遇到 "ibrealmcore-ios.a for architecture arm64" 错误的解决方法

问题

在 macOS Monterey 上使用 Xcode 14.1 打包 iOS App 时,如果指定模拟器,可能会遇到以下打包失败的错误:

ld: warning: ignoring file /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-egrvkyuugzpmyubfyemxbzyfynjre/Build/Intermediates.noindex/MyApp.build/Debug-iphoneos/MyApp.build/Objects-normal/arm64/ibrealmcore-ios.a, file was built for archive which is not the architecture being linked (arm64)

解决方法

要解决此问题,可以使用以下方法:

  1. 确保使用 Rosetta 打开 Xcode

    • 在访达中找到 Xcode 的应用程序图标,通常位于 "/Applications" 文件夹中。
    • 右键单击 Xcode 的图标,然后选择 "显示简介"。
    • 在 "打开方式" 部分,勾选 "使用 Rosetta 打开"。
    • 关闭 "显示简介" 窗口。
    • 重新打开 Xcode。

为什么此方法有效?

此方法之所以有效,是因为它允许 Xcode 在 Intel 架构上运行。这对于使用 Apple 硅芯片的 Mac 电脑上的 Xcode 来说非常重要,因为 Xcode 尚未完全针对 Apple 硅进行优化。

其他可能的解决方案

如果上述方法无法解决问题,可以尝试以下其他方法:

  • 确保您使用的是最新的 Xcode 版本。
  • 确保您使用的是正确的打包设置。
  • 尝试在不同的模拟器上打包 iOS App。
  • 尝试清理 Xcode 的构建文件夹。
  • 尝试重新安装 Xcode。

常见问题解答

1. 此方法会影响 Xcode 的性能吗?

是的,此方法可能会对 Xcode 的性能产生轻微影响。但是,这种影响通常可以忽略不计。

2. 如果我仍然无法成功打包 iOS App,该怎么办?

您可以尝试以下方法:

  • 确保您使用的是正确的打包设置。
  • 尝试在不同的模拟器上打包 iOS App。
  • 尝试清理 Xcode 的构建文件夹。
  • 尝试重新安装 Xcode。

3. 为什么 Xcode 尚未针对 Apple 硅进行优化?

Xcode 是一个复杂的应用程序,需要时间才能完全针对 Apple 硅进行优化。苹果一直在努力优化 Xcode,但该过程仍在进行中。

4. 如何检查 Xcode 是否使用 Rosetta 打开?

您可以通过以下步骤检查 Xcode 是否使用 Rosetta 打开:

  • 在 Xcode 中,选择 "Xcode" 菜单,然后选择 "关于 Xcode"。
  • 在 "关于 Xcode" 窗口中,查找 "使用 Rosetta 2" 部分。
  • 如果 "使用 Rosetta 2" 已选中,则 Xcode 使用 Rosetta 打开。

5. 如果我使用 Apple 硅 Mac,是否仍然需要使用 Rosetta 打开 Xcode?

是的,在 macOS Monterey 上,即使您使用 Apple 硅 Mac,也需要使用 Rosetta 打开 Xcode。这是因为 Xcode 尚未完全针对 Apple 硅进行优化。

结论

在 macOS Monterey 上使用 Xcode 14.1 打包 iOS App 时,如果您遇到 "ibrealmcore-ios.a for architecture arm64" 错误,可以尝试使用 Rosetta 打开 Xcode 来解决问题。如果此方法不起作用,可以尝试其他列出的解决方案。