2012-12-14 55 views
2

我使用下面的命令:如何從xcodebuild獲取構建變量?

xcodebuild -project eagle.xcodeproj -target eagle_test -showBuildSettings

但我需要提取OBJROOT作爲外部生成文件的一部分。我怎麼得到這個?

+0

該makefile是否作爲目標的構建階段運行? – ThomasW

+0

不,makefile中的目標是發佈過程的一部分,因此它構建,運行測試,檢查內容等等。我只想在我這麼說的時候運行目標(不是每個xcode編譯) –

+0

這是一個makefile文件在Unix中'make'? – ThomasW

回答

0

高級別答案:作爲生成文件的一部分,運行xcodebuild -project eagle.xcodeproj -target eagle_test -showBuildSettings命令並解析輸出值爲OBJROOT

+0

這是hacky,但我試圖做到這一點: XCODE_BUILD_SETTINGS ='xcodebuild -project eagle.xcodeproj -target eagle_test -showBuildSettings | grep的OBJROOT' OBJROOT ='回聲$$ {XCODE_BUILD_SETTINGS:14}' 但是'回聲$$ OBJROOT'只是打印'回聲$ {XCODE_BUILD_SETTINGS:14}'蜱 –

2

她你走了。很好地解釋。

xcodebuild -project eagle.xcodeproj -target eagle_test -showBuildSettings | grep "OBJROOT" | sed 's/[ ]*OBJROOT = //' 
+0

我把它用'OBJROOT =「xcodebuild聯編工作 - 項目eagle.xcodeproj -target eagle_test -showBuildSettings | grep OBJROOT |剪切-c15''(單引號是蜱) –

+0

我更新了我的正則表達式你不想要的數據。但你的作品也是如此。 –