Xcodebuild无法为模拟器sdk构建框架库

Xcodebuild cannot build framework library for simulator sdk

我在尝试使用 xcodebuild 构建框架时遇到了一些问题。我的 xcode 版本是 6.1。

这条线路运行良好:

xcodebuild -target Knot3DLib -configuration Release -sdk iphoneos

然而它不起作用:

xcodebuild -target Knot3DLib -configuration Release -sdk iphonesimulator

它说:

No architectures to compile for (ARCHS=i386 x86_64, VALID_ARCHS=arm64 armv7 armv7s).

我在我的项目中既没有将 i386 也没有将 x86_64 定义为 archs,那么为什么 xcodebuild 会尝试构建 i386?这是我的架构构建设置:

我可以在模拟器和设备中 运行 来自 Xcode 的项目。

我试过其他类似的问题,但 none 对我有用。

模拟器就是模拟器。 Xcode 构建在您计算机上的模拟环境中运行的代码。您的计算机有一个英特尔 CPU 而您的 phone 有一个 ARM CPU。编译器为这些处理器生成不同的代码。

错误:

No architectures to compile for (ARCHS=i386 x86_64, VALID_ARCHS=arm64 armv7 armv7s).

告诉您您尝试编译的体系结构:ARCHS=i386 x86_64 不在 VALID_ARCHS 的列表中。

i386x86_64 是 intel CPU 使用的架构。如果您正在尝试使用 xcodebuild 构建框架并且您希望能够 link 针对模拟器 sdk,则需要将 i386x86_64 添加到 VALID_ARCHS