使用xcodebuild与iOS项目和iOS模拟器

时间:2013-12-10 20:45:53

标签: ios xcode ios-simulator xcodebuild

question是相关的,但无法解决我遇到的具体问题。

我在OS X 10.7.5下使用Xcode 4.6.3。

我只是为单个视图iOS应用创建了默认项目,并且没有对项目设置进行任何更改。当然,该项目使用Xcode为iOS模拟器构建。但是,当我尝试从命令行使用xcodebuild时,xcodebuild失败。

项目名称只是:temp

我试过了:

xcodebuild -scheme temp -sdk iphonesimulator6.1

并产生了结果:

Build settings from command line:
    SDKROOT = iphonesimulator6.1

=== BUILD NATIVE TARGET temp OF PROJECT temp WITH CONFIGURATION Debug ===
Check dependencies
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).


** BUILD FAILED **


The following build commands failed:
    Check dependencies
(1 failure)

根据其他SO问题,我尝试了:

xcodebuild ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -scheme temp -sdk iphonesimulator6.1

得到了类似的结果:

Build settings from command line:
    ARCHS = armv7 armv7s
    ONLY_ACTIVE_ARCH = NO
    SDKROOT = iphonesimulator6.1

=== BUILD NATIVE TARGET temp OF PROJECT temp WITH CONFIGURATION Debug ===
Check dependencies
No architectures to compile for (ARCHS=armv7 armv7s, VALID_ARCHS=i386).


** BUILD FAILED **


The following build commands failed:
    Check dependencies
(1 failure)

我需要执行哪些xcodebuild命令才能使用xcodebuild构建?

谢谢。

1 个答案:

答案 0 :(得分:1)

更新: 好像许多人在xcode 4中遇到这种麻烦,一般的解决方案似乎是强制你需要的架构并禁用'仅活动',这是你试过的...但对于模拟器,你需要指定i386而不是arm *,如下所示:

xcodebuild ARCHS="i386" ONLY_ACTIVE_ARCH=NO -scheme temp -sdk iphonesimulator6.1

* ORIGINAL响应产生了下面的评论帖子,仍然有一些有价值的参考: 这听起来像你的项目我没有为64位设置。您应该能够在构建设置中将arm64添加到有效的体系结构中,并且我相信xcode会自动将其视为x86_64用于模拟器构建。

对于您尝试的第二件事,您正在将您的架构硬编码为IPhone架构,同时针对模拟器,我相信这就是为什么架构在那里不可用。