警告:バンドルリソースのコピービルドフェーズには、このターゲットのInfo.plistファイルが含まれています


270

プロジェクトを2つのビルドに分割し、それぞれにplistファイルを指定しました。すべて正常に動作しますが、次のビルド警告が表示され続けます。

警告:バンドルリソースのコピービルドフェーズには、このターゲットのInfo.plistファイル 'MyApp-Info.plist'が含まれています

ビルドしようとすると、これが表示されMyAppます。2番目のターゲット用にビルドすると、同じエラーが発生します(SecondTarget-Info.plist警告内)。ビルドにそのファイルを含めたいので、なぜ警告なのかわかりません.plist。各.plistファイルには、1つのターゲットメンバーシップがあります(独自のビルド用)。

この警告はどういう意味ですか?それをなくす方法はありますか?


各ターゲットにInfo.plistを追加する必要はありません。代わりに、各ターゲットビルド設定->パッケージング-> Info.plistファイル->ターゲットInfo.plistへの場所
onmyway133

回答:


595

https://developer.apple.com/library/content/qa/qa1649/_index.html

抜粋:

図に示すように、Info.plistファイルをバンドルリソースのコピーのビルドフェーズに追加した可能性があるため、この警告が表示されます。

ここに画像の説明を入力してください

INFOPLIST_FILEビルド設定は、ターゲットに関連付けられたInfo.plistの名前を指定します。ターゲットをビルドするとき、Xcodeはこのビルド設定を読み取り、参照されているInfo.plistをアプリケーションバンドルにコピーします。XcodeはInfo.plistを自動的に処理するため、バンドルリソースのコピービルドフェーズに追加したり、ターゲットメンバーにしたりしないでください。

この警告を解決するには、図1に示すように、バンドルリソースのコピービルドフェーズからInfo.plistを選択し、削除(–)ボタンをクリックしてフェーズから削除します。


これが解決されなかった場合、どのような問題が発生しますか?
Hasan

2
@ hasan83の場合、ビルド警告が表示され、ビルドされた製品には少しスペースをとるInfo.plistの追加コピーが含まれます。
JWWalker、2015年

1
@kraftydevil、あなたのプロジェクトにはサブプロジェクトがありますか?そのため、警告はあなたが調べたもの以外のターゲットを参照しているかもしれませんか?
JWWalker、2015

5
7年後も関連性があります。
jungledev 2017年

1
解決策はXcode 9で私にとってうまくいきました。@ jungledevは依然として適切です。なぜなら、Appleは常に奇妙な数字の奇妙なエラーの解決策を示すためにXcodeを開発するのではなく、Swiftバージョンの更新に忙しいからです。
MBH、2017年

65

xcode 4で修正するには:

1)info.plistファイルへの参照を削除するには、それを選択して削除します。

2)info.plistファイルを再度追加しますが、宛先を選択せず​​、「ターゲットに追加」オプションをオフにします。


2
この問題が発生したのは、plistファイルをプロジェクトにコピーするときに「ターゲットに追加」のチェックを外さなかったためです。問題を修正するために、上記の「正解」の手順に従いましたが、ターゲットに追加せずに削除して再度追加することもできました。=)
RanLearns、

1
これはXcode 6.4で機能しました。選択した答えはしませんでした。
kraftydevil

2

Xcode 3でこれに遭遇した場合、修正するには、左側の列の[グループとファイル]の下にある.plistファイルをクリックし、右上の領域で、列の.plistファイルの名前の横にあるチェックボックスをオフにします。ブルズアイアイコンの下。チェックボックスを表示するには、エディタをズームアウトする必要があります([表示]-> [エディタをズームアウト])。


0

別の解決策は:

「ターゲットメンバーシップ」のコアデータからプロジェクトファイルを誤って削除した可能性があります。

  1. 左側のプロジェクトナビゲーターからMain.storyboardを選択します。

  2. 右側の「ファイルインスペクタ」(最初のタブ)に移動します

  3. 「対象会員」リストを探す

  4. チェックボックスを有効にする

  5. 処理には少し時間がかかりますが、その間に、LaunchScreen.storyboard、.xcdatamodelid、Assets.xcassets、およびプロジェクト内のすべての.swiftファイルも確認してください。これらはすべてターゲットメンバーシップに対して有効になっている必要があります。

  6. 注:Info.plistでは、ターゲットメンバーシップのチェックを有効にしないでください。

お役に立てれば。


-2

ちょうどメモとして...私はそれについて素晴らしいレーダーを書こうと思いますが、ローカリゼーションがXcodeのストーリーボードで処理される方法は本当に奇妙です。「Finderで表示」と尋ねると、選択された.storyboardファイルは表示されず、そのファイルを含むフォルダーが表示されます。ストーリーボードのローカリゼーションに関係していると思います。それを英語からドイツ語に変更すると(つまり、ファイルがrootにもen.lprojにもなくなった)、すぐに問題が発生し始めました。

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