Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果将VALID_ARCHS设置为armv7 armv7a,那么xcode如何为模拟器构建?_Xcode_Architecture_Simulator - Fatal编程技术网

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

如果将VALID_ARCHS设置为armv7 armv7a,那么xcode如何为模拟器构建?,xcode,architecture,simulator,Xcode,Architecture,Simulator,我正试图解决一个神秘的难题,我真的很欣赏这个解释,因为这将帮助我理解工具,并对我所做的事情充满信心 我在启动xcodebuild命令行构建iPhone应用程序时遇到了这个难题。我发现它拒绝了“-sdk iphonesimulator6.0”,并显示以下消息: 没有可编译的体系结构(ARCHS=i386,有效的\u ARCHS=armv7)。 然后,我看到我的VALID_arch被设置为armv7,这似乎解释了为什么xcodebuild拒绝为模拟器(我让自己相信是英特尔)构建。 但我的XCode

我正试图解决一个神秘的难题,我真的很欣赏这个解释,因为这将帮助我理解工具,并对我所做的事情充满信心

我在启动xcodebuild命令行构建iPhone应用程序时遇到了这个难题。我发现它拒绝了“-sdk iphonesimulator6.0”,并显示以下消息: 没有可编译的体系结构(ARCHS=i386,有效的\u ARCHS=armv7)。

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

将有效拱门更改为: VALID_ARCHS=“$(ARCHS_标准_32_位)”;(扩展到armv7和armv7a) 或 有效_ARCHS=armv7 i386
似乎已经满足了xcodebuild的要求,同意为模拟器构建。请注意,第一种情况仍然没有列出i386!我必须得出结论,在某些情况下,i386是隐式的。有人可以确认和/或扩展其中任何一种吗?

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

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

有效拱门=i386 ARCHS=i386

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

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