web-dev-qa-db-ja.com

Swift 3 / Xcode 8アップグレード-作業コピーエラーから100のDerivedDataファイルが欠落している

XCodeの最新のベータ版にアップグレードしたばかりでSwiftですが、コンバーターを使用した後、アプリプロジェクトに/ "projectDirectoy"/DerivedData/XXXXXXXXX/XXXXを示す200以上のビルド時間の黄色のエラーがあります。/XXX/xXXX/xXXが作業コピーにありません... XXXXXはDerivedDataフォルダーのさまざまなファイルパスを表します。

エラーに記載されている場所からDerivedDataフォルダーを削除しようとしました。

〜/ Library /のDerivedDataフォルダー内のすべてを削除しようとしました。

プロジェクトをクリーンアップし、再起動して、新規ビルドを行うために何度も試しました。

環境設定でソース管理をオフにしようとしましたが、更新する前にオンにしていたので、なぜオフにする必要があるのか​​わかりません。

これらのエラーは消えないようです。

何か案は?

42
Krivvenz

350以上のxCode 8 GMにアップデートした後、私は同じ警告に直面していました。それらのほとんどは、資産カタログ内の.Swiftファイルと画像です。

これは基本的に、プロジェクトファイルを移動/削除するときに主に表示されるソース管理の問題です。これらは新しい警告であるか、xCode 8はソース管理に関してはxCode 7よりも厳密です。

これについてグーグルで調べたところ、いくつかの答えが見つかりましたが、コマンドラインを使用したり、ソース管理をオフにしたりオンに戻したりすることを提案するなど、私には複雑に思えました。

これが私のすべてのプロジェクトでうまくいったものです。

Short Way

最初にこれを試してみて、うまくいかない場合は長い道のりをする

1)ソース管理メニュー(ウィンドウとヘルプの横にあるトップメニュー)に移動し、ステータスの更新をクリックします

2) [ソース管理]メニューに再度移動し、[コミット]をクリックします

コミットウィンドウが開き、xCodeが必要と考えるすべてのコミットが表示されます。したがって、テキストフィールドボックスにコミットを入力し、コミットボタンを押すだけです。

コミットメニューを開いたときにxCodeによって選択されるアイテムがなくなるまで、手順1-3を繰り返します。 xCodeによって自動的に選択されたすべてのアイテムがコミットされるまで、手順4に進まないでください。コミットされている場合、手順4を実行するとエラーが発生する可能性があります。

4)コミットウィンドウを再度開きます。手順3で説明したように、xCodeによって選択されたアイテムがなくなるはずです。ただし、左側のサイドバーには警告メッセージの原因となっているアイテムがいくつか表示されます。

アイテムを右クリックして[すべて選択]を押し、テキストフィールドにコミットを入力し、[コミット]ボタンを押します。すべてが完了し、警告/エラーが消えるはずです(オプションで、再度CommitMenu-> Refresh Statusを押します)。

完了しない場合は、xCodeを閉じてから再度開き、手順1〜4をやり直します。

それでも解決しない場合は、長い道のりで修正する必要があります。

ロングウェイ

ソース管理を使用して定期的にコミットを行う場合は、オプションでステップ1を実行し、ステップ11に直接進むことができるはずです。

1) xCodeから派生したデータを消去(オプション)

通常、これを行う必要はないので、最初の試行でこの手順をスキップして手順3に進みます。

XCodeの設定に移動し、「場所」タブをクリックして、詳細設定に移動します。アドバンスボタンの横にある小さな矢印をクリックして、派生フォルダーへのパスを開きます。 xCodeを完全に閉じ、その派生フォルダーにあるすべてのコンテンツを削除します。

メンバーKrivvenzが彼の答えでとても親切に指摘したように、あなたはオプションでこれをしなければならないかもしれません。自分でこれを行う必要はなかったので、これをスキップして、うまくいかない場合にのみ試してください。

「また、Xcode>環境設定>場所タブにあるカスタムから相対的なDerivedDataオプションを変更する必要がありました。」

2) xCodeプロジェクトを再起動し、インデックス作成が完了するのを待ちます。派生データを削除しただけなので、これには数分かかる場合があります。

ソース管理メニュー(ウィンドウとヘルプの横にあるトップメニュー)に移動し、ステータスの更新をクリックします

4)ソース管理メニューに再度移動し、コミットをクリックします

5)コミットウィンドウが開き、xCodeが必要と考えるすべてのコミットが表示されます。以前はソース管理を使用したことがないため、250を超えていました。

6)右下の変更のコミットをクリック

7)エラーが発生し、操作が完了しませんでした(11に進むよりもうまくいく場合)

8)ソース管理メニューに移動し、ステータスの更新をクリックします

9)ソース管理に移動し、コミットをクリックします

10)右下の[変更のコミット]をクリックします。今回は約30件のコミットを提案し、エラーは発生しませんでした。 2回目の試行でまだエラーが発生する場合は、Xcodeを完全に閉じてから再度開き、この手順を繰り返してください。

11)ソース管理メニューに移動し、ステータスの更新をクリックします

12)ソース管理メニューに移動し、コミットをクリックします

13)今回はxCodeが推奨する変更はありませんが、左側のコミットメニューに多くのファイルが表示されます(チェックされていない)。作業コピーの警告をスローしているこれらのファイルは、まだ存在するはずです。

14)コミットメニューの左側のサイドバーでこれらのファイルをすべて選択します。右クリックして[すべてチェック]を押します

15)右下の変更のコミットをクリックします

16)エラーが発生し、操作が完了しませんでした。そこで、同じエラーをもう一度試したので、コミットメニューを閉じました。それがあなたのために完了するなら、それも大丈夫です。

17)ソース管理メニューに移動し、ステータスの更新をクリックします

すべての警告が消えたブーム。

18)プロジェクトとxCodeを完全に閉じます

19)プロジェクトを再度開きます

20)ソース管理メニューに移動し、ステータスの更新をクリックします

21)ソース管理メニューに移動し、コミットをクリックします

22)突然150件以上のコミットが再び提案されました。すべての提案が選択されていることを確認し、コミットをクリックしてください。エラーなしで完了します。

23)プロジェクトのクリーン(製品->クリーン)

24) [ソース管理]メニューに移動し、[コミット]をクリックします。変更は不要で、左側のサイドバーにはファイルがありません。

結局のところ、これ以上警告はなく、ソース管理を削除する必要もなく、すべてが通常どおりに再び機能します。

将来、より多くのエラーが発生した場合、たとえばファイルを再度移動したために、すべてを選択して、もう一度コミットするだけではありません。

お役に立てれば。

94

これはXCodeのバグです。不足しているファイルの警告は、プロジェクトツリーをgit-commitするとすぐに消えます。

13
n13

親フォルダーに不正な.gitフォルダーがありましたが、何も「行きません」-

[ソース管理]メニューで、すべての[作業コピー]が実際のソース管理フォルダーに実際に接続していることを確認します

[〜#〜] none [〜#〜]これらの「解決策」のうち、これを除いて機能しました不正な.gitフォルダーの削除

4
Roy Lovejoy

DerivedDataとgit addを削除します。ターミナルから、コミットしなくても、この問題は解決しました。

3
nemissm

すべての隠しファイルを表示してからgitフォルダーを削除し、ターミナルを開いてこのコマンドを実行し、すべての隠しファイルを表示します。「defaults write com.Apple.Finder AppleShowAllFiles YES killall Finder」

2
Dai

次の手順を実行します。

  1. SVNまたはソースツリーを開きます。
  2. これらのファイルはそこに来るでしょう。
  3. これらのファイルをソースツリーまたはsvnから削除します。
  4. 次に、xcodeプロジェクトに来てください。
  5. 次に、コードを一度コミットします。すべての警告
1
umair farid

DerivedDataフォルダーのすべてのインスタンスを削除し、crashoverride777の指示に従って問題を解決したと思います。また、Xcode> Preferences> Locationsタブで見つけることができるカスタムからDerivedDataオプションを変更する必要がありました。

1
Krivvenz

。gitディレクトリを「yourProject」/ Podsから削除することで、この問題を解決しました。そして、「yourProject」のメインディレクトリにある。gitディレクトリを削除することができます。

1
A.Kant

プロジェクトディレクトリから古いモデルオブジェクトを削除し、問題を解決しました。

0
Sajid Israr