私はこのようなエラーが出ています:
[警告]警告:出力ファイルに対する複数のビルドコマンド/Developer/B/Be/build/Release-iphonesimulator/BB.app/no.png
[警告]警告:出力ファイルに対する複数のビルドコマンド/Developer/B/Be/build/Release-iphonesimulator/BB.app/d.png
[警告]警告:出力ファイルに対する複数のビルドコマンド/Developer/B/Be/build/Release-iphonesimulator/BB.app/n.png
しかし、私はXcodeをチェックしました、そして、私はまったくそのようなファイルのどんな重複も見ません。 Appleメーリングリストの この記事 にあるように、重複はありません。
実はこれに対する答えはとても簡単です。
あなたのXcodeの中で警告を発生させるファイルを検索し、そして単にそれを削除してください。
Xcodeは検索結果にそのファイルの参照を1つだけ表示しますが、そこで停止しないで先に進んで削除してください。 (削除操作の前にプロジェクトファイルにバックアップを取ってください)
ビルドを実行すると、警告が消えます。 (この答えは以前のバージョンのxcode用です)
プロジェクトナビゲータで、Xcodeプロジェクトファイルを選択します。これにより、プロジェクト設定とプロジェクト内のターゲットが表示されます。 「Copy Bundle Resources」ビルドフェーズを見てください。あなたは二度そのリストに問題のあるファイルを見つけるべきです。重複した参照を削除してください。
Xcodeはあなたがあなたのアプリケーションに同じファイルを2回バンドルしようとしていると不平を言っています。
これはgitベースのサブプロジェクトを追加するときに簡単に起こります。 Xcodeは、Finderから見ることができなくても.gitサブフォルダを無視するほど賢くはありません。そのため、 "master"または "exclude"という名前のファイルが複数あることが非常に混乱します(標準のgitリポジトリファイル)。 Xcode4では、プロジェクト(左のツリーのルート)に行き、あなたのアプリのターゲットをクリックして "Copy Bundle Resources"を展開し、それから.gitへの全ての参照を削除してください。
これはXcodeのバグではありませんが、警告メッセージは実際の原因を説明するのに十分なほど役に立ちません。
このエラーメッセージは、プロジェクトに同じ名前のファイルが複数ある場合に発生します。重複した名前でファイルを削除するか名前を変更するだけで問題は解決します。
これは、プロジェクトに同じ名前のファイルが2つある場合に起こります。プロジェクトがコンパイルされたときにファイルがXCodeのグループに入っていても、すべてのファイルが同じディレクトリに入ります。つまり、/ group1/image.jpgと/group2/image.jpgがある場合、コンパイルされたプロジェクトには2つのimage.jpgファイルのうちの1つしかありません。
前述のように、この問題は、同じ名前を持つ複数のファイルがプロジェクトナビゲータの異なるグループ(黄色いフォルダ)にある場合に発生する可能性があります。私の場合、これは意図的なものでした。それぞれに "preview.jpg"というサブバンドルがあり、それをアプリバンドルにコピーしたいのです。
このような場合は、Xcodeがグループだけでなく、ディレクトリの参照(青いフォルダアイコン)を認識するようにする必要があります。
問題のあるファイルを削除して[参照の削除]を選択します(したがって、それらを完全に削除することはしません):
プロジェクトナビゲータにドラッグして再度プロジェクトに追加します。表示されたダイアログで、[追加したフォルダのフォルダ参照を作成]を選択します。 :
プロジェクトナビゲータにファイルの青いフォルダアイコンが表示されます。
ターゲットのビルドフェーズの「Copy Bundle Resources」セクションを見ると、ディレクトリ内に含まれる各項目のエントリではなく、フォルダ全体のエントリが1つあることがわかります。コンパイラはそれらのファイルに対する複数のビルドコマンドについて不平を言いません。
これはバグではありません。 Xcodeアシストがお手伝いします。プロジェクトナビゲータの左側にあるターゲットを選択します。設定の下部にある[設定の検証]をクリックします。 Xcodeは設定を確認し、可能であれば重複を削除します。
ヘッダービルド段階で重複がある場合、この状況の別のバージョンが発生する可能性があります。
これを修正するには…
Build Phases
を選択してくださいHeaders
ビルドフェーズを選ぶ+|-
ボックスを見つけます-
ボタンをクリックしてください。私の場合、問題はグループ内のターゲットとフォルダの同じ名前が原因でした。
問題を解決するには、競合するファイルまたはフォルダの名前を変更するだけです。
私はこれのためのかなり簡単な解決策を見つけました:
警告は消えました!この画像を参考にしてください。
少なくともこれが私が遭遇したケースでは、私はこれがXCode 4バグによって引き起こされることができるとかなり確信しています。
同時にプロジェクトに複数の言語依存ファイルを追加した場合に起こります。私はこれをgitの違いから見てみました。私はコミットには何もしませんでしたが、ローカライズされた新しいnibファイルをいくつか追加します。しかし、project.pbxprojファイルの違いを振り返ってみると、以前にプロジェクト内に存在していたファイルに対して追加された新しい重複参照が多数示されています。これが行ったファイルも私にはランダムに見えました。
私はこれとまったく同じ動作を何度も再現しました。
これらのファイルをプロジェクトから削除しても、元の参照だけが削除され、重複する部分が残るため、問題は解決されません。それを修正する唯一の方法は、コミットを取り消して最初からやり直すか、プロジェクトファイルを手作業で編集することです。たくさんの異なる場所で。
Xcode 4は私にとって大きな失望です。
これは、 "no.png"、 "d.png"、および "n.png"がリソース内で重複しているために発生します。削除重複ファイルを探して削除してください。
同じファイルの参照が複数ある場合、エラーが表示されるようです。同じ名前のファイルが2つあり、このエラーが発生しました。それらの1つを削除するとエラーは消えます..
この問題に関するもう一つのバリエーション。私は同じメッセージを出して、以前に提案された解決策のどれも問題を解決しなかった(私は間違いなく例えば問題のあるファイルのコピーを1つだけ持っていた)。
私の解決策は、(XCodeを終了し、ファイルをバックアップした後で)project.pbxprojファイルをテキストエディタで編集し、問題のあるファイルへの参照をすべて削除することでした。それから、XCodeを再び起動した後、私は手動でファイルをプロジェクトに追加し直しました、そして、すべては大丈夫でした。
(私の疑いは、この問題はマニュアルのせいで私に起こりました、すなわち、XCode以外のプロジェクトファイルのマージです。)
私は数分前に同じ問題を抱えていました。 「展開ターゲット」を変更して問題を解決したと述べました。
プロジェクトのFrameworksフォルダを開き、内部にフレームワークだけがあることを確認してください。誤ってDeveloperフォルダ全体を追加しました。
Swift:(そして古いバージョンも)重複したアセットがあると起こります。この問題でファイルの名前を変更するだけで、すべてうまくいきます。
Assets.xcassets
を作成し、重複を新しい名前に変更したときにも発生する可能性があるので、念のため忘れてフォルダ参照を追加するために削除しますが、重複ファイルの問題に戻ります。
私にとってうまくいったこと:
git remote add <url.git>
、またはgit remote set-url <url.git>
これは絶対に私のために働いた。私の場合では、とんでもない理由で、ローカルの依存関係のためにgit pull upstream develop
を実行したとき、git
は複数のコミットから重複したファイルを引き込み/生成します。
上記の手順を実行した後、問題は解決し、git pull upstream develop
は一度に複数のコミットから引っ張ることはなくなりました。おそらく私のレポには奇妙なgit
キャッシュがありました。
私の場合、Target> Build Settings> Packaging> Product Nameは、私のアプリに固有の.plistファイルで参照されている別の値と同じものに設定されていました。最終的に私達の構築プロセスのためにこれは重複ファイルを作成します。
キーはpod deintegrate
とrm *.workspace
ファイルをすることでした!なんて時間の無駄です!
簡単な方法の1つは、