14

複数のターゲットで発生する最も一般的な問題の1つは、すべてのターゲットにファイルを追加するのを忘れることです。ファイルをインポートするのは簡単で、すべてのボックスにチェックマークを付ける必要はありません...

多くのターゲット

ビルドフェーズでは、ターゲットごとにコンパイルされたファイルのリストである「ソースのコンパイル」ビューがあります。ただし、ターゲットを比較して、一方にあるファイルと他方にはないファイルを確認する簡単な方法はありません。

特定のターゲットのメンバーではないファイルを見つける方法はありますか?おそらくスクリプト?

4

7 に答える 7

7

スクリプトを作成する方法はわかりませんが、ファイルの場合、関連するターゲットがチェックされているすべてのターゲットのリストを表示でき、そのリストからターゲットをチェックまたはチェック解除できます。

[ユーティリティ] ペインを開き、[ファイル インスペクター] を選択します。次にファイルを選択すると、関連するターゲットが File Inspector の Target Membership 領域に表示されます。

複数のファイルを選択することもできます。選択したすべてのファイルではなく一部のファイルに関連付けられているターゲットには、「-」のマークが付けられます。ターゲットをチェックすると、選択したすべてのファイルがそのターゲットに追加されます。

于 2012-07-04T16:02:02.977 に答える
3

ターゲットにあるファイルを抽出できるツールを作成しました

https://github.com/ConfusedVorlon/ProjectFileTool

これを、プロジェクト ディレクトリ内の .m ファイルのファイル検索と比較できます。

于 2015-01-14T15:17:38.200 に答える
3

Xcode 8 では、[ターゲット] -> [ビルド フェーズ] -> [コンパイル ソース] からファイルを一覧表示すると、各ターゲットのファイルの一覧が表示されましたが、見つからないファイルを簡単に見つける方法はありませんでした。すべてのファイルを選択してコピーすると、物理ファイルのコピーを一時ディレクトリに貼り付けることができます。両方のターゲットでこれを実行した後、別のフォルダーに、他のターゲットから欠落しているファイルのみが各フォルダーに残るまで、重複を削除できます。

ファイルがターゲットに含まれていないために「このクラスはキーのキー値コーディングに準拠していません」というクラッシュが発生したため、不足しているファイルを見つける必要がありました。効率的またはエレガントなソリューションではありませんが、仕事は完了しました。

于 2017-09-15T11:34:03.967 に答える
1

ターゲットに追加したファイルがわからない場合は、Build Phases->Compile Sources (または違いのあるセクション) に移動できます。次に、すべてを選択してコピーを押します。これを差分プログラムに貼り付け、他のターゲットを選択して繰り返します。

于 2013-04-14T14:17:58.300 に答える
0

(完全に)迅速で簡単な方法はわかりませんが、スクリプトを使用している場合は、これを実行できるライブラリがあります:https ://github.com/jasperblues/XcodeEditor

于 2013-04-14T14:28:17.360 に答える