なぜこれが起こっているのかを理解するには、ファイルを追加するときのオプションを理解する必要があります。プロジェクトに画像またはファイルを追加する場合、次のオプションを有効または無効にできます。
アイテムを宛先グループのフォルダーにコピーします (必要な場合)。
では、これは正確には何を意味するのでしょうか。このオプションを選択 (チェック) すると、元のファイルのコピーが Xcode プロジェクト グループ フォルダーに作成されます。ソースからファイルを呼び出すと、プロジェクト グループ フォルダーにコピーしたファイルが参照されます。元のファイル (デスクトップ) はそのまま残ります。
注 - 「必要な場合」修飾子の意味は何ですか?
ファイルがプロジェクト グループ フォルダーに既に存在する場合、ファイルはフォルダーにコピーされません。プロジェクトナビゲーターに参照が追加されるだけです。これが意味をなさない場合は、実際の例を示します。大量の画像を作成し、それらをプロジェクト フォルダーに直接追加するとします。つまり、ファインダーを使用して(Xcode経由ではなく)Xcodeプロジェクトフォルダーにドラッグアンドドロップします。この時点でプロジェクトにファイルを追加しましたが、Xcode プロジェクトを開くと、ナビゲーターにファイルへの参照が表示されないことに気付くでしょう。したがって、これは if needed 修飾子がトリガーされるケースです。Xcode 経由で追加することにより、通常どおりファイルへの参照を追加する必要があります。ただし、今回は参照のみが行われ、プロジェクト フォルダーは既に存在するため、ファイルはコピーされません。
オプションをオフのままにするとどうなりますか?
Xcode はファイルへの参照を作成しますが、ファイルのコピーを作成してプロジェクトに追加することはしません。Xcode プロジェクトの参照は、ファイルの元の場所がどこであってもそれを指します。誤って元のファイルを削除すると、ファイルへの参照が壊れてしまうため、理由がわからず、これを行う必要がある場合を除き、これはお勧めしません。Xcode のファイル参照が赤で表示されるので、これがいつ発生するかがわかります。
あなたのケースに戻りましょう。あなたの状況で起こったことは、オプションをオフにしてプロジェクトにファイルを追加したことです。これにより、実際にファイルをプロジェクトに移動して、Xcode でファイルへの参照が作成されます。プロジェクトに 2 回目に追加すると、ファイルへの新しい参照が作成されますが、実際には移動やコピーなどのファイル操作を実行していないため、エラーは表示されません。
上記のオプションは常にオンにしておくことをお勧めします。これにより、重複したファイルをプロジェクトに追加したかどうかがわかります。また、将来のある時点でファイルへの参照を壊すことはありません。これが、物事の背後にある理由をもう少し理解するのに役立つことを願っています.