web-dev-qa-db-ja.com

Xcode:プロジェクト構築時の問題「ファイルxxx.pngが作業コピーから欠落している」

プロジェクトにpngファイルをいくつか削除/追加した後、プロジェクトをビルドするときにメッセージが表示されます.

ファイルProjectPath\aaa\xxx.pngが作業コピーから欠落しています。

これらのファイルはすべてプロジェクト内にあり、アプリケーションは実行中です。しかし、これらのメッセージは厄介です。 .plistファイルに見えましたが、これらのファイルについての言及はありません。これらのメッセージを削除するにはどうすればいいですか。

265
Iban

変更を確定すると警告は消えます(Xcode 8)。

496

この問題にはさまざまな原因があると思われますが、ソース管理ソフトウェアに関連していることがよくあります。

私の場合は、Gitに行き、ファイルを再度追加して解決しました。次のコマンドを実行するという意味です。

git add .
97
nbloqs

また、チェックを外してソース管理を無効にすることもできます。

Xcode - >設定 - >ソース管理 - >ソース管理を有効にする

コマンドラインまたは他のアプリで管理している場合.

59
emrekyv

XCode - > SoureControlの場合:

Update + Refresh Statusは私のためにそれをしました。

58
coyer

私の場合は、ファイルがソース管理から欠落していました。
修正するには、このファイルを破棄する必要がありました(プロジェクト全体ではなく、欠落しているファイルのみを破棄してください)。

  1. Xcode - >ソース管理 - >コミット
  2. 見つからないファイルを右クリック
  3. 変更を破棄を選択
44
Ronen

ソース管理を無効にし、ビルドフォルダ(Alt+Shift+Cmd+K)を消去してから、再度ソース管理を有効にします。

Xcode - >設定 - >ソース管理 - >ソース管理を有効にする

19
George

私の場合、Xcodeはどういうわけか足りないファイルを参照している古い.svnディレクトリを見つけました。これらの.svnファイルを見つけるには、upプロジェクトフォルダの1つ上のレベルに移動する必要がありました。いったん削除したら、私はXcodeを再起動し、すべてが大丈夫だった。

18
kubi

私はまだXcode 7を使用していたときに長い間私のXcodeプロジェクトから削除されていた一握りのファイルに関して同様の問題を抱えていました。

私の解決策は、

  1. Xcodeが文句を言っていた名前のファイルを作成します(内容は不要です)。
  2. 自分のXcodeプロジェクトにファイルを追加する(Xcodeでメインプロジェクトディレクトリを右クリックし、my_project_nameにファイルを追加をクリックして、作成したファイルを選択します。
  3. 新しく追加したファイルを選択して削除します - ゴミ箱に入れるを選択します。

これは私のための警告を取り除きました。

12

Alexander Vaseninの答えを追加するには...

最初にコミットし、変更をプッシュしました

Xcodeのメインメニュー>ソース管理>コミット

それから私はすべての変更を破棄してエラーを取り除きました

Xcodeのメインメニュー>ソース管理>すべての変更を破棄

その後、「ファイルxxx.pngは作業コピーから欠落しています」というエラーは消えました。

9
EdwardM

これはXcodeでファイルを削除したときに起こりますが、それについてsvn serverに伝えませんでした。

コマンドラインツールに行き、ファイルを直接削除します。

svn delete missingFile.m 

そしてそれをコミットする

svn commit -m "Deleting file"

.svnフォルダを削除すると、警告は表示されなくなりますが、svnサーバーとの通信は失われます。

8
Kang Byul

私は同じ問題を抱えており、gitを追加することでそれを解決しました。コマンドラインツールを開く

cd "project folder path"
git add .

後でXcodeプロジェクトを再起動して、プロジェクトをもう一度開きます。

5
Ugur Atci

私はそれを解決しました。

サードパーティのSVNツールを開き、ミスファイルを見つけてください。それで全部です。

5
traximus

私は手動でTerminalに入り、git rm ProjectPath\aaa\xxx.pngでファイルを削除してからコミットしなければなりませんでした。その後、すべてうまくいった。

4
yesthisisjoe

ターゲットに表示 - >ビルドフェーズ - >コピーバンドルリソース。クリーンビルドフォルダコマンド+ shift + alt + k

4
BHASKAR

XCode 8に移行した後、プロジェクトごとにこれを取得しました。これで問題は解決しました。

Optionキーを押した状態で、(タイトルメニューの)Product - > Clean Build Folderです。

3
TomV

私の場合は、シミュレータの古いプロジェクトのデータが間違っていました。シミュレータのリセット内容と設定によって解決されます。

シミュレータ - >内容と設定をリセット...

2
Channel

私は同じ問題を抱えていて、Finderからプロジェクトナビゲータに指定されたファイルをドラッグし(ダイアログで「ファイルのコピー」が選択されていることを確認する)、ファイルをコミットすることでそれを解決しました。

1
user2698617

これらの警告は構築警告ではなく、あなたのSVNリポジトリに関するものです。

表示されているディレクトリがもう存在しないことは正しいのです。CocoaPodsはヘッダをPods/Headers/{Private,Public}に格納するようになりました。これらの変更を反映するように作業コピーを更新する必要があります。

1
Mutawe

私は警告を受けました、そしてまたXCodeの下で変更をコミットすることができませんでした(svnを使って)。 XCodeを再起動するだけで問題は解決しました。

1
Hugh Jeffner

これは私のために働く:Xcode - >( "option + click")製品 - > Clean Build Folder ...
xCodeを再起動するより

1
Mykyta Savchuk

私にとっては、以下がうまくいった:

私はGitを使用したことがなく、また使用したこともないので、新しいプロジェクトを作成しました(XCode 8、通常の "use Git"が表示されない、またはチェックマークが付いていました)。それから私はこの新しいプロジェクトの全てのファイルを素直に削除しました。古い混乱したプロジェクトに行き、プロジェクトフォルダ内のすべてをコピーし、新しく作成されたプロジェクトに戻って、古いものを貼り付け、それを開いて - 何ヶ月も前から存在していないファイルに関するすべての警告はなくなりました。指が交差しました。

1
TommyTheCat

私の場合は、Xcodeプロジェクトウィンドウにいくつかのファイルをドラッグアンドドロップして追加しました。それは私のソースディレクトリにコピーを作成しましたが、それらを私が行きたい場所に置きませんでした(それは私のディレクトリのルートに置き、私はサブディレクトリに置きたいと思いました)。考えもせずに、Finderでそれらをつかみ、それらを欲しいディレクトリに移動しました。プロジェクトウィンドウに戻った後、もちろんそれらを見つけることができなかったので、それらをウィンドウで削除して再度追加しました。コンパイルした後、これらのエラーが出始めました。

私は、それがgitの問題であると前述したように思いましたが、 "git ls-tree --full-tree -r HEAD"を実行したとき、ファイルがまったく表示されませんでした。

とにかくそれを修正するために私がしたすべては私がしたすべてのファイルをデフォルトの場所に追加するために "Add File ..."メニューコマンドを使ってクリーンビルドをし、それからプロジェクトウィンドウからそれらを削除することでした。それはすべてのエラーを取り除きました。

1
KevinR

これは間違いなくソース管理に関連しています。私はいくつかのコミットされていないplistファイルの名前を変更して移動し、このエラーを得ました。私はSVNを使用しています。私は古い参照ファイルを削除することでSource Control - Commit経由でこれを修正することができました。

0
Hahnemann

私の場合、それはgitと大文字と小文字を区別しないファイルシステムの問題でした。

私は、同じファイルを誤って2回送信しました。

MyProject/Resources/foo.png
MyProject/resources/foo.png

Xcodeは不足しているファイルの1つについて文句を言っていました。

問題のあるファイルを削除して再度追加することで修正されました。

cd MyProject
mv Resources/foo.png /tmp
git rm Resources/foo.png
git rm resources/foo.png
git commit
mv /tmp/foo.png Resources
git add Resources/foo.png
git commit
0
Darren