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

时间:2015-01-07 15:37:04

标签: ios xcode

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

这条线很好用:

xcodebuild -target Knot3DLib -configuration Release -sdk iphoneos

但它不起作用:

xcodebuild -target Knot3DLib -configuration Release -sdk iphonesimulator

它说:

  

没有要编译的架构(ARCHS = i386 x86_64,VALID_ARCHS = arm64   armv7 armv7s)。

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

build settings

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

我尝试过其他类似的问题,但没有一个能为我效劳。

1 个答案:

答案 0 :(得分:8)

模拟器只是一个模拟器。 Xcode构建在计算机上的模拟环境中运行的代码。您的计算机有一个intel CPU,而您的手机有一个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构建框架,并且希望能够链接到模拟器sdk,则需要将i386x86_64添加到VALID_ARCHS列表中