Xcode 4へのアップグレード後に欠落ファイル警告が表示される


166

私は最近Xcode 4にアップグレードしました(これは素晴らしいアップグレードです)が、今は以前には得られなかったいくつかの警告が出ます。私はフォーラムや他のSOの投稿を調べましたが、これを修正する方法に遭遇していません。

表示される警告は、不足しているファイルに対するプロジェクトレベルの警告です。表示されているファイルは、プロジェクトナビゲータービューから削除されました(ファイルシステムからの削除も選択しています)。ただし、ファイルがプロジェクトナビゲーターに表示されなくなっても、プロジェクトにリンクされているように見えます。

私は周りを見回しましたが、これらのファイルがなくなったことをXcodeに伝える方法を見つけられませんでした。警告を表示しないでください。Xcode4で取得したスクリーンショットですが、Xcode 3では取得できません。

ファイル不足の警告Xcode 4


私があなただったら、ディスクへのリンクを保持するのではなく、常にプロジェクトにファイルをインポートします。後でファイルを移動する場合、頭痛の種から本当にあなたを救います。
sudo rm -rf

回答:


297

これらのソリューションは非常に困難です。問題は、ファイルシステムからプロジェクトを削除したが、SVNはまだそこにあると考えていることです。SVNからプロジェクトをデタッチすることは、.svnフォルダーを削除するのと同じように機能しますが、リポジトリを破壊します!

コンソールを開いてフォルダ(「cd / pathToYourFolder」)を参照し、次のコマンドを入力する方がはるかに簡単です。

svn delete nameOfMissingFile

欠落しているファイルの名前に@文字が含まれている場合(例:Retina固有のアートワーク)、ファイル名が@記号で終了していることを確認します。

svn delete nameOfMissingFile@2x.png@

GITリポジトリの場合:

git rm nameOfMissingFile


20
私は同じ問題を抱えており、ターミナルを使用してそれを解決しました:svn rm --force nameOfMissingFile
ReachWest

1
これは、正しいとマークされたものよりも良い答えです。SVNの制御下にあるプロジェクトからSVNフォルダーを削除するのは、大変な苦痛の種です。この問題を解決するには、SVNを使用するのが最適です。私は自分自身の問題を解決するためにこの答えに従いましたが、私にはCornerstoneの贅沢がありました。しかし、他の点ではクールです。ありがとう:)
ジョウイ

1
これは私にはうまくいかないようです。ファイルを再度追加してから削除しますが、同じ警告がビルドに表示されます。私はファイルをプロジェクトに追加して、それらを削除しようとしました。まだ同じ問題。
Yenyi 2011

10
それは私にとってはうまくいきましたが、svnを使用する場合に削除する前に、まずダミーファイルを作成する必要がありました。したがって、nameOfMissingFileに触れてから、svn delete nameOfMissingFile --force
Maciej Swic

9
さらに、問題を解消するには、xcodeを終了して終了する必要がありました。
Twilite

55

XCode 4.2。+(おそらく4+以降)では、手動の作業とコマンドラインを回避できます。

  1. プロジェクトProject Navigatorを選択(コマンド-1)
  2. [ファイル]-[ソース管理]-[コミット]メニューを選択します
  3. 左ペインの上部に3つのアイコンがあり、中央のアイコンを選択します-ファイルビュー
  4. 不足しているすべてのファイルのリストが表示されます
  5. それらをすべて選択して右クリックし、[変更を破棄]をクリックします。これにより、SVNサーバーからすべての削除済みファイルが復元され、ローカルのSVNフォルダーに配置されます
  6. それらのファイルをXCodeプロジェクトにドラッグアンドドロップします(FinderでSort-Date Modifiedを選択すると、簡単に見つけることができます)。
  7. XCodeを使用してこれらのファイルを適切に削除します(ファイルを選択し、[削除]を右クリックして選択します)
  8. プロジェクトをコミットする

以上です :)

これらの厄介な警告はすべてなくなりました。

さらにXcode 6+の場合:ファイルビューの「中央のアイコン」を選択した後-左側のチェックボックスをクリックすると、次回のコミット時にSVNで削除済みとしてマークされます!


1
手順5までのみ必要です。実際にはSVNにファイルがありませんでした。
Darren Reely 2013

私はいくつかの共有コードの別のプロジェクトcosに影響を与えるプロジェクトをリファクタリングしており、XCodeはSVNに関連する欠落ファイルについて不平を言っていました。手動でプロジェクトのソースxmlを調べても何も見つからなかったため、SVNの問題であることがわかりました。
ダンフォードハム2014年

50

Xcode5とXcode6では、以下の手順でうまくいきました

Xcode-> Preferences-> Source Control->uncheck Enable Source Control

その後

Xcode-> Preferences-> Source Control->check Enable Source Control


Xcode 8.3.2では、これは約10分間機能し、その後すべての警告がすぐに返されました。(
Bob

27

プロジェクトの.svn隠しフォルダと関係があります。

この問題は、svnからプロジェクトを切り離すことで解決しました。

a。ターミナルを開き、次のコマンドを入力します。

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

これにより、プロジェクト内の.svnフォルダーを表示できます

b。プロジェクトフォルダ/サブフォルダ内のすべての.svnフォルダを削除します

c。隠しファイルを再度有効にします。

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

d。これでプロジェクトがsvnから切り離され、ビルドの問題が発生しなくなりました。

e。プロジェクトをsvnなどに再度追加します。

私自身も初心者であり、これがその問題への私の対処法でしたので、これが最善の方法であるかどうかはわかりません。とにかく、問題は解決しました。


3
SVNの隠しフォルダーとファイルをいじくりまわすのは良い考えではありません。SVNのもつれごちゃごちゃになってしまう可能性があります。svn deleteコマンドを使用して、不足しているファイルを整理することをお勧めします。
ジョウイ

これが私が実際にたどった道です。はい、保存されたすべてのSVN情報が削除されますが、それは実際には、他の誰かが特定のプロジェクトに入れたもので、私が保持したくないものでした。私は最初からやりたかったので、特定のバージョン管理を維持する必要はありませんでした。
スコット

再起動して「killall Finder」を実行します。問題はもうなくなっています。ありがとう
JHHoang

9

これは私のために働きました:

File-> Source Control->Hide Working Copy Status

その後

File-> Source Control->Show Working Copy Status


6

私はそれを次の方法で解決しました:

  1. 欠落しているファイルへのパスを確認してください。
  2. プロジェクトディレクトリ内の適切な場所に不足しているファイルを作成する
  3. 「ファイルを「プロジェクト」に追加」を使用してそれらをプロジェクトに追加し、参照のみを作成します(ファイルをコピーしないでください)
  4. この時点で警告は消えます。
  5. Xcode内からファイルを削除します。デフォルトの「参照のみを削除」ではなく「削除」をクリックしてください。
  6. 完了です。

4

私はそのバグがあり、その位置に空のファイルを作成してからそれを削除する以外に解決する方法がありませんでした。これは、プロジェクトから削除したファイルで発生し、手動でDerived Dataディレクトリをクリーニング、ビルド、削除しても機能しませんでした。私はそれがバグであり、それがいくつかのファイル以上で発生した場合、それは非常に苦痛であると私は信じています。


悲しいことに、この問題を回避する簡単な方法があることを望んでいました。私は約20個のファイルを持っているので、作成してから削除するのはかなり面倒です。
スコット

4

私にもこの問題があり、user151215は.svnフォルダーが原因であると説明しています。

プロジェクト自体ではなく、プロジェクトの親フォルダーに古い.svnフォルダーがありました。

問題の.svnフォルダーには、不足しているファイルを含むエントリファイルがあります。したがって、Teminalを使用して、不足しているファイル名の文字列を検索できます。例:grep -lir BagController.m yourRootDevDir / *

Finderで隠しファイルを有効にするよりも簡単です。ターミナルを使用してください。関連するディレクトリに移動し、mv .svn〜/ .Trash

お役に立てれば!



3

私はこの問題に対処するために次の方法を使用しました:

ターミナルを起動し、プロジェクトディレクトリに移動します。(例:cd /Users/Mauro/Src/Pippero-1.2/)

次に、次のコマンドを入力します。

find . -name .svn -exec rm -rf { } \;

コマンドは、.svnというファイル(およびフォルダー)を再帰的に検索して削除します


これは私にとってはうまくいきませんでしたが、各ディレクトリに移動して個々の.svnフォルダーを削除することでうまくいきました。あなたにとても感謝しています、私の男!
ゴンゾブレイン、2011


2

私はsvnを使用していて、この問題を何とか解決しています

svn delete pathToMissingFile

これにより、不足しているファイルのローカルsvnコピーとリモートリポジトリ内のコピーが削除されます。

または

svn revert pathToMissingFile

これは、不足しているファイルの変更を破棄します。つまり、不足しているファイルを元の場所に戻します。


1

上記すべては私が持っていた同じ種類の問題を解決するために機能しませんでした。検索を行ったところ、私が抱えていた問題はSVNの競合に関連していることがわかりました。

コマンドラインを使用して競合が発生していることがわかりました:

svn status

次に、すべての競合するファイルを解決する必要がありました

svn resolved filename1 filename2 ...

競合が解決すると、警告はXcodeから消えました


1
  1. 変更をコミットしてプッシュします。
  2. Xcodeを再起動します。


0

ビルド後にCmd + 7を押し、最新のビルドアクションを選択します。古き良きXcodeのように見えますか?:) ここに画像の説明を入力してください


ええ、それは古いXCodeのように見えますが、新しいXCodeがファイルが不足しているという問題を解決しません。私はビューが好きですが、これはXCodeの問題を隠しているだけのようです。
スコット

0

私の場合

  1. 私は単にSvnXを開きます。
  2. 不足しているファイルはすべて赤でマークされます。それらを選択して削除します。
  3. その後、すべてのXcode警告が消えました。

0

Alexの回答で、ファイルが見つからない問題が修正されました。

他に1つの問題がありました(ファイルの不足とは関係ありませんが、これがより良いトピックだと思います)

  1. プロジェクトに一連の画像をコピーする必要がありました。
  2. 私は単にグループを作成し(グループは物理フォルダーにマップされないことがわかっています)、画像をグループにドラッグしました([コピー先]オプションを選択)。
  3. SVNステータスでは、すべてが「A」で示されていました。
  4. 実際のファイルシステムに入ると、すべてのイメージがプロジェクトのルートフォルダーにコピーされていることがわかりました。見栄えがよくなかったので、プロジェクトのimagesフォルダー内に物理フォルダーを作成し、追加したすべての画像をそこにコピーしました。
  5. その後、SVNはすべてのファイルを赤で表示しました。
  6. すべての赤いファイルの参照を削除しました。
  7. 「ファイルを追加」オプションを使用して、新しく作成したフォルダーから画像を追加しました。
  8. 現在、SVNはファイルのステータスを「A」として表示できず、チェックインできません。
  9. ゴミ箱を別のフォルダから再度追加するなど、多くの手順を試しましたが、うまくいきませんでした。

リポジトリに直接移動してこれを修正し、イメージの下に新しいディレクトリを作成して、物理フォルダーがSVNサーバーにあるようにしました

次に、ソースの更新を行い、新しく作成されたディレクトリを作業コピー内に取得しました(ただし、プロジェクトには追加されていません)。

次に、そのディレクトリに画像をコピーし、「ファイルを追加」オプションを使用してプロジェクトに追加しました。これにより、「A」ステータスに戻り、ファイルをチェックインすることができました。

これを共有したかっただけです。

-anoop


この場合は、ターミナルとプロジェクトのルートに移動します。「svn mkdir name_of_the_folder」でフォルダを作成します。Finderでファイルをname_of_the_folderからプロジェクトにドラッグアンドドロップします(またはすべてのファイルを追加するために自分自身にフォルダーを作成します)。「svn mkdir」フォルダなしでフォルダを作成すると、問題がSVNに追加されません。
Alex

0

.xcodeフォルダー内のファイルを直接削除しないでください。xcodeプロジェクトナビゲーターからファイルを削除します。(そのファイルを右クリックして、[ゴミ箱に移動]を選択します)。

今、この問題を解決するには、同じ場所に同じファイルを追加します。そしてプロジェクトナビゲーターから削除します。


0

何もする必要はありませんでした。コードをコミットしてプッシュしました。XCODEをオフにしました。それを再び引き下げて、すべてがうまくいった。


0

概要:

私の場合Sample、次のフォルダパスで呼び出されたxcodeプロジェクトがありました/folder1/folder2

.git内部/folder1/folder2/Sample/に予期されたファイルがありました。

根本的な原因:

.git親ディレクトリ(/folder1)に別のファイルがあり、これが問題の原因でした。フォルダーが削除され、.gitファイルが残っている可能性があります

解決

rm -rf /folder1/.git

手がかり

プロジェクトを完全に新しい場所に移動すると.git、上位の階層にある親ディレクトリにファイルが存在しないという問題が解決する場合、上記の解決策が機能する可能性があることは手掛かりです。

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