2010-11-20 90 views
214

我在Xcode4(測試版5)中設置/定位我的輸出文件時遇到問題。他們被放置在~/Library/Developer/ugly_path/...的某處。我甚至不能在我的產品上選擇「show in finder」。簡單的C項目,Foundation工具甚至Cocoa包也是如此。調試工作正常。Xcode 4 - 編譯輸出目錄

您能否指出我在哪裏以及如何設置/構建輸出目錄? (我知道這聽起來很愚蠢,我已經在Xcode3中編寫了幾個月,但我無法在Xcode4 beta中找到它)。

非常感謝。

回答

341

從頂部的Xcode菜單中,單擊首選項,選擇位置選項卡,查看構建位置選項。

你有2種選擇:

  1. 將建立產品獲得的數據的位置(推薦)由目標
  2. 指定位置
  3. 地方重新建造的產品

更新: 上的Xcode 4.6.2您需要單擊派生數據文本字段下方右側的高級按鈕。構建位置選擇傳統。

+27

這個答案解釋了爲什麼這個改變是作出了:http://stackoverflow.com/questions/5331270/why-doesnt-xcode-4-create-any-products – toofah 2011-03-25 22:48:54

+0

Xcode 5沒有這些設置了。 – 2013-10-06 13:29:20

+3

驕傲的會員,你是什麼意思,這些不在Xcode 5中?它們位於首選項 - >位置 - >派生數據 - >高級。 – 2013-12-16 18:36:50

8

您可以通過查看構建日誌查看器,然後將路徑複製到終端窗口中,隨時查找構建目錄。

我用它來分析我的iOS.app包,然後安裝它們以確保沒有包含任何迷路文件。

+0

如此輕鬆的Apple。不! – zaph 2011-09-26 17:21:20

+0

'通過查看生成日誌查看器' - 偉大的一點! – 2012-10-23 09:46:39

+0

我在哪裏可以找到這個構建日誌?在Xcode中搜索「構建日誌」幫助返回0個結果。 – devios1 2013-03-27 22:17:23

13

如果您將Xcode 4構建位置設置設置爲「將構建產品置於派生數據位置(推薦)」,它應該位於〜/ Library/Developer/Xcode/DerivedData中。一個目錄,項目名稱將與一幫生成的字母的附加所以仔細看

1
+0

沒有那與派生的位置/傳統(每個目標)位置行爲無關 – 2012-03-13 15:17:08

+0

是的。它以任何方式工作。從文檔:「目錄路徑。標識用於激活構建配置的所有與構建相關的文件的目錄。」 – 2012-03-13 19:16:18

+0

nope。而不是xcode4,它依賴於「Xcode>首選項>位置>派生數據」設置,詳見最多投票答案。 +你所指的文件最近在2010年更新了 – 2012-03-13 19:40:29

140

如果從構建命令行,你可以直接設置輸出ory以下面的方式:

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \ 
      -scheme 'SCHEME_NAME' \ 
      -configuration 'Release' \ 
      -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY' 
+0

爲了使我的sh腳本正常工作,我需要刪除單引號並只寫CONFIGURATION_BUILD_DIR =/Users/... – 2013-10-31 02:53:51

+0

@occulus,你是絕對正確的,因爲在構建項目之後,這將無法建立測試目標,我認爲如果你只是在構建它,可能沒問題,但更好地使用絕對路徑! – 2014-06-02 14:56:36

+0

如果其他人試圖解決類似的問題,我說服XCode 6.x將鏈接的二進制*精確地放置在需要使用這個組合的地方:'''/ Users/moi/src/mozbuilds/xul3604/$配置)/ dist/bin''' – 2015-03-30 16:06:15

-1

這太惱人了。打開你的項目,點擊目標,打開構建階段標籤。檢查您的複製包資源是否有任何紅色項目。

10

保留派生數據,但使用DSTROOT指定目標。

使用DEPLOYMENT_LOCATION強制部署。使用未公開的DWARF_DSYM_FOLDER_PATH也可以複製dSYM。

這使您可以使用來自xcodebuild的派生數據位置,而不必做古怪的東西來找到應用程序。

xcodebuild -sdk "iphoneos" -workspace Foo.xcworkspace -scheme Foo -configuration "Debug" DEPLOYMENT_LOCATION=YES DSTROOT=tmp DWARF_DSYM_FOLDER_PATH=tmp build 
2

如果使用新的工作區Xcode4,您可以更改導出的數據位置文件 - >工作區設置...

29

在Xcode中5:Xcode的菜單>首選項... item>地點選項卡>地點子選項卡>高級...按鈕>自定義選項。

然後選擇例如相對於工作空間

+8

願你活到一百歲,健康,健康的先生。 *謝謝*! – WhozCraig 2014-05-01 02:32:41

3

對於誰想要找到一個腳本生成目錄,但並不想改變它,運行以下命令以獲取所有的構建設置指向的文件夾中DerivedData列表:

xcodebuild -showBuildSettings | grep DerivedData 

如果您運行自定義的目標和計劃,請把它們放在那裏還有:

xcodebuild -workspace "Foo.xcworkspace" -scheme "Bar" -sdk iphonesimulator -configuration Debug -showBuildSettings | grep DerivedData 

查看輸出以找到您想要的設置輸出,然後:

xcodebuild -showBuildSettings | grep SYMROOT | cut -d "=" -f 2 - | sed 's/^ *//' 

最後一部分在等號處剪切字符串,然後在開始處修剪空白。

0

另一件事來檢查你開始與Xcode的喜好播放前的是:

選擇目標並轉到生成設置>包裝>包裝擴展

的值應該是:應用

如果沒有雙擊它並輸入「app」而沒有qoutes。