如果VALID_ARCHS设置为armv7 armv7a,那么xcode如何为模拟器构建?

时间:2013-01-24 10:34:29

标签: xcode architecture simulator

我正在努力解决一个神秘的谜题,我非常感谢你的解释,因为这将有助于我理解这些工具,并对我的工作充满信心。

在启动xcodebuild命令行来构建我的iPhone应用程序时,我遇到了这个难题。我发现它拒绝'-sdk iphonesimulator6.0“这条消息: “没有要编译的架构(ARCHS = i386,VALID_ARCHS = armv7)。

然后我看到我的VALID_ARCHS被设置为armv7,这似乎解释了为什么xcodebuild拒绝为模拟器构建(我让自己相信是英特尔)。 但是我的XCode IDE如何绕过它并设法为模拟器构建(它的确如此)?

将VALID_ARCHS更改为: VALID_ARCHS =“$(ARCHS_STANDARD_32_BIT)”;(扩展为armv7和armv7a) 要么 VALID_ARCHS = armv7 i386 似乎已经满足xcodebuild足以同意为模拟器构建。请注意,第一个案例仍然没有列出i386!我必须得出结论,在某些情况下,i386是隐含的。任何人都可以确认和/或扩展这些吗?

1 个答案:

答案 0 :(得分:1)

当在i386上构建xcode时,它会更改这些变量,您可以在xcode日志导航器中见证这一点......

这些是变量xcode操作,以便允许在i386上运行

VALID_ARCHS = I386 ARCHS = I386

您可以通过以下方式调用xcodebuild命令来执行相同的操作:

xcrun xcodebuild VALID_ARCHS=i386 ARCHS=i386 ONLY_ACTIVE_ARCH=NO -arch i386 -sdk iphonesimulator7.1 -configuration Debug