2017-10-21 5 views
1

私はswiftとxcode 8.1を使ってxcodeアプリケーションを開発しています。 写真や.plistファイルなどのファイルを私のストーリーボードでメインフォルダに追加し続けますが、どのターゲットに追加したいのかを尋ねるたびに続けます。それを私のテストターゲットにも追加するべきですか?もしそうなら、なぜですか?どのターゲットを追加するかを知るルールとは何ですか?私のファイルをxcodeプロジェクトに追加する対象は何ですか?

答えて

2

いいえの場合は、ファイルをテスト対象に追加しないでください。ユニットテストターゲットは、とにかくアプリケーションファイルにアクセスできます。

アップルdocumentationによれば、ターゲットは単一ビルドアーティファクトです。そのため、特定のターゲットのビルディングブロックであるファイルのみを追加してください。

ターゲットはビルドする製品を指定し、プロジェクトまたはワークスペース内のファイルセットから製品をビルドするための手順を含みます。ターゲットは単一の製品を定義します。その製品をビルドするために必要なビルドシステム(ソースファイルとそのソースファイルを処理するための命令)への入力を構成します。プロジェクトには1つ以上のターゲットが含まれ、それぞれが1つのプロダクトを生成します。最も基本的なシナリオでは

1つの適用対象と2回のテストで

  • 適用対象にアプリケーションクラスを追加し、次のように一般的なルールがあるターゲット。
  • ユニットテストケースクラスをユニットテストターゲットに追加します。
  • UIテストクラスをUIテストターゲットに追加します。

さらに複雑なシナリオでは、アプリケーションにさらに多くのターゲットを配置できます。あなたはiMessageエクステンション、エクステンションを共有することができます。同じアプリケーションのバリアントを作成するための複数のターゲットを持つこともできますが、一般的なルールはそのままです。

+0

私は理解していると思います。ありがとうございました!あなたが手伝ってくれるもう1つの問題があります。いくつかのファイルを追加しました(これを読んでからすべてのターゲットに追加しました)。ちょうどいくつかの画像(そして1つのクラス)。私はそれらのイメージのいくつかを削除して、今は "ファイル__が作業コピーから抜けている"という警告を受けています。私はまだこれらのファイルを参照しているかどうか分かりません –

+0

完全に削除したい場合は、各ターゲットをクリックし、そこに存在する場合はビルド設定タブをチェックインできます。たぶんあなたは何かを見逃してしまったでしょう。 1つのターゲットから(または少なくともすべてのターゲットではなく)それらを削除したい場合は、ディスクからファイルを削除した可能性があり、Xcodeはそのターゲットを特定できません。別のターゲットにファイルを追加するとコピーが作成されません。それは私の最高の推測です。 –

関連する問題