2013-12-10 91 views
4

question是相關的,但並未解決我遇到的特定問題。在iOS項目和iOS模擬器中使用xcodebuild

我在OS X 10.7.5下使用Xcode 4.6.3。

我只是爲單個視圖iOS應用程序創建了默認項目,並且沒有更改項目設置。當然,這個項目建立在iOS模擬器的Xcode上。但是,當我嘗試從命令行使用xcodebuild時,xcodebuild失敗。

項目名稱就是:溫度

我想:

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 

and go t類似的結果:

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

已更新: 好像許多人在xcode 4中遇到這種問題,一般的解決方案似乎是強制你需要的體系結構並禁用「只激活」,這正是你試圖去做的。 。但對於模擬器,你需要指定的i386,而不是手臂*,例如:

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

*這催生下面的評論線程,仍然有一些有價值的參考原始響應: 這聽起來像你的項目我的不能設置爲64位。您應該能夠在您的構建設置中將arm64添加到您的有效體系結構中,並且我相信xcode會自動將其視爲x86_64以用於模擬器構建。

對於您嘗試的第二件事,您將硬件編碼爲IPhone架構的體系結構,同時針對模擬器,我相信這就是架構在那裏不可用的原因。

+1

Xcode應用程序可以在模擬器沒有任何問題的情況下構建它。只有當我嘗試從命令行使用xcodebuild時,它纔會失敗。如果Xcode應用程序可以構建它,xcodebuild應該能夠。我只需要知道傳遞給xcodebuild的參數。 – ericg

+1

嗯 - 好吧,從最初的問題看來,它似乎在試圖爲未爲此設置的項目構建64位目標。也許嘗試使用-arch i386來強制一個有效的體系結構? –

+0

是的,我也嘗試過,它仍然失敗,類似的結果。使用Xcode 5,這看起來更加穩定,但我需要它與Xcode 4.6.3一起工作。 – ericg