Xcode 10 个静态库不包含 x86_64 arch

Xcode 10 static library doesn't include x86_64 arch

我正在构建一个静态库以用于我正在处理的另一个项目,最终它将包含在我正在开发的框架中。当我将库引入我的项目时,arm 构建工作正常,但模拟器构建失败,缺少 x86_64 构建的符号。我已将库中的构建架构设置为

arm64 arm64e armv7 armv7s x86_64

我尝试了各种设置,例如 $(ARCHS_STANDARD) 都无济于事。我也尝试了所有我能在 SO 上找到的潜在解决方案,其中大部分都很旧。

如有任何建议,我们将不胜感激。

如评论和编辑中所述,您必须构建一个胖库,但所有答案中都缺少步骤,其中许多已严重过时。希望这会有所帮助。

  1. 为 iPhoneOS 和 iPhoneSimulator 构建静态库版本。
  2. 在命令行中,cd 到项目的派生数据目录。
  3. 您将看到 OS 和模拟器库的目录。
  4. 执行如下lipo命令

    lipo -create -output [所需的 fat 库名称] [iPhone 路径OS 库] [iPhoneSimulator 库路径]

  5. 将 fat 库从 finder 拖到目标项目中。

您或许可以使用构建脚本自动执行此操作,但我在截止日期前完成,因此仅构建和拖动会更快。如果您想出了一个好的脚本,请随时 post 这里。

P.S。 Agile Warrior post 中提供的脚本无效。