Xcode 4-ビルド出力ディレクトリ


217

Xcode4(ベータ5)での出力ファイルの設定/検索に問題があります。それらはのどこかに配置され~/Library/Developer/ugly_path/...ます。製品で「ファインダーに表示」を選択することもできません。シンプルなCプロジェクト、Foundationツール、Cocoaバンドルでも同じです。デバッグは正常に機能します。

出力ディレクトリを設定/構築する場所と方法を教えてもらえますか?(私はそれが馬鹿げているように聞こえることを知っています、私は何ヶ月もXcode3でコーディングしてきましたが、Xcode4ベータではそれを理解することができません)。

どうもありがとう。

回答:


342

上部のXcodeメニューから、[設定]をクリックし、[場所]タブを選択して、ビルド場所オプションを確認します。

次の2つのオプションがあります。

  1. ビルドデータを派生データの場所に配置する(推奨)
  2. ターゲットで指定された場所にビルドプロダクトを配置します

更新:xcode 4.6.2では、派生データテキストフィールドの下の右側にある詳細ボタンをクリックする必要があります。ビルド場所はレガシーを選択します。


27
この変更が行われた理由の答えは説明する:stackoverflow.com/questions/5331270/...
toofah

3
誇り高きメンバー、これらはXcode 5にはないというのはどういう意味ですか?それらは[設定]-> [場所]-> [派生データ]-> [詳細]にあります。
Richard Venable

わかりましたので、私のビルドは.../XCode/DerivedData/フォルダに移動します。非常に簡単です。サブフォルダがそうであるということを除いてAppName-asdflkjqwergoobledygook。スクリプトからビルドしているので、実際にビルドを見つけたいので(それをパッケージ化してTestFlight経由で送信できるようにします):多くのMyAppName-xxxx-sのうちどれが正しいものかをどのように判断しますか?ありがとう!
Olie 2014年

@Olie派生データの場所を自分で選択したパスに変更することもできます
Gerard

@ジェラード:できるけど、それは私がやりたいことではない。リポジトリからソースをチェックアウトし、コマンドラインでビルドしています。ビルドの場所を知りたいのですが。私のビルドスクリプトがどのような方法でプロジェクトを変更することは不適切である(プロジェクト設定を変更することで、言う。)
Olie

140

コマンドラインからビルドする場合は、次の方法で出力ディレクトリを設定できます。

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

私のshスクリプトは、私は、単一引用符と書き込みだけCONFIGURATION_BUILD_DIR = /ユーザーを削除するために必要な動作を決定付ける/ ...
スタニスラフPankevich

@occulus、これはプロジェクトのビルド後にテストターゲットのビルドに失敗するため、完全に正しいです。ビルドするだけの場合は問題ないかもしれませんが、絶対パスを使用することをお勧めします。
モスタファベルク

他のケースの誰もが同じような問題を解決しようとしている中で、私は、リンクされたバイナリを置くためにXCodeの6.xのを確信させたまさにそれがこの組み合わせを使用して、必要に応じた場所:/Users/moi/src/mozbuilds/xul3604/$(CONFIGURATION)/dist/bin
J・エヴァンス

29

Xcodeの5:Xcodeのメニュー> [ 環境設定... item>の場所 ]タブ> [ 場所]サブタブ> [ 詳細設定 ]ボタン> [ カスタムオプション。

次に、たとえば[ ワークスペースを基準]を選択します。


8
あなたは百歳で、強くて健康なサーになるために生きますように。よろしくお願いします
WhozCraig、2014年

13

Xcode 4のビルド場所の設定を「ビルドデータを派生データの場所に配置する(推奨)」に設定している場合は、〜/ Library / Developer / Xcode / DerivedDataに配置する必要があります。このディレクトリには、プロジェクトがディレクトリとして存在します。プロジェクト名には一連の生成された文字が追加されるので、注意深く確認してください。


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

8

ビルドログビューアでパスをターミナルウィンドウにコピーすると、ビルドディレクトリをいつでも見つけることができます。

私はこれを使用して、インストール前にiOSの.appバンドルを分析して、迷惑ファイルが含まれていないことを確認します。


とても便利なアップル。ない!
-zaph

1
そして、このビルドログはどこにありますか?Xcodeヘルプで「ビルドログ」を検索すると、0件の結果が返されます。
devios1 2013年

1
ん、吹き出しのような「ログナビゲーター」を見つけた。
devios1 2013年

4

スクリプトからビルドディレクトリを見つけたいが、変更したくない場合は、次のコマンドを実行して、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/^ *//'

最後の部分では、等号で文字列を切り取り、最初の空白を削除します。


2

新しいXcode4ワークスペースを使用する場合、[ファイル] -> [ ワークスペース設定]派生データの場所を変更できます。


1

CONFIGURATION_BUILD_DIR環境変数を使用して出力ディレクトリを設定できます。

ソース:http : //developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/0-Introduction/introduction.html#//apple_ref/doc/uid/TP40003931-CH1-SW1


いいえ、それは、派生した場所/レガシー(ターゲットごと)の場所の動作とは無関係です
Gregory Pakosz

はい、そうです。どちらの方法でも機能します。ドキュメントから:「ディレクトリパス。アクティブなビルド構成のすべてのビルド関連ファイルが配置されるディレクトリを識別します。」
ヒース国境

いいえ。xcode4ではXcode > Preferences > Locations > Derived data、最も投票された回答で説明されている設定に依存しません。+参照しているドキュメントの最終更新日は2010年
Gregory Pakosz

実際にこの設定を使用して、xcodebuildのxcode4でビルドディレクトリを構成しました。試してみる。
ヒースボーダーズ

1
Xcode 4.3.1(IDEから)を試しましたが、グローバル設定を変更せずに、製品はで~/Library/Developer/Xcode/DerivedData/指定したディレクトリ内ではなく、どこかにビルドされていますCONFIGURATION_BUILD_DIRCONFIGURATION_BUILD_DIR敬意を表したい場合は、Xcodeで派生したデータの設定を「レガシー」に切り替える必要があります
Gregory Pakosz

0

Xcodeの設定で遊んでみる前に確認すべきもう1つのことは次のとおりです。

ターゲットを選択し、ビルド設定>パッケージング>ラッパー拡張に移動します

あるべき値:app

そうでない場合は、それをダブルクリックして、qoutesなしで「app」と入力します。


-1

これはとても迷惑でした。プロジェクトを開き、「ターゲット」、「ビルドフェーズを開く」タブをクリックします。赤いアイテムがないか、コピーバンドルリソースを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.