web-dev-qa-db-ja.com

Xcodeがインデックス作成でスタックする

Xcodeが "Indexing"にとまったため、私が2か月間働いていたプロジェクトが理由もなく動作しなくなりました。もうプロジェクトをビルドできません。ビルドしようとすると、Xcodeがフリーズし、強制終了する必要があります。これは、このプロジェクトでのみ発生します。

すべての派生データをクリーニングしようとしましたが、助けにはなりませんでした。

Xcode 4.5.2を使用しています。

何か案は?

104
tomDev
  1. プロジェクトフォルダーを開きます。
  2. ProjectName.xcodeprojファイルを見つけます。
  3. [安全な場所にコピーして貼り付け]を右クリックします。
  4. [パッケージの内容を表示]を右クリックします。
  5. Project.xcworkspaceファイルを見つけて、そのファイルを削除します。
  6. プロジェクトを再度開き、クリーンアップして再構築します。

問題が解決しない場合は、ファイルをバックアップファイルに置き換えます。

147
Pratik Mistry
  1. Xcodeからそのプロジェクトを閉じます
  2. Xcode Organizerを開き、問題のあるプロジェクトを見つけます
  3. オーガナイザーの派生データフォルダーを削除する
  4. Xcodeを閉じる/再度開く

Xcodeの不正な動作のすべてのケースで最初に試すのは、派生データの取得です

63

私はこの正確な問題を抱えていました。それは20アイテムの配列リテラルが原因でした。別の構文に切り替える必要がありました。かなり愚かな。

22
Jehan
  1. 開いているXcodeをすべて閉じます
  2. rm -rf ~/Library/Developer/Xcode/DerivedData
  3. PROJECT_NAME.xcworkspaceを右クリックし、「コンテンツを表示」を選択して、「xcuserdata」フォルダーを削除します
12
kjian

同様の問題が発生し、クラスを誤って独自のサブクラスとして定義したことがわかりました。これについて警告もエラーも表示されませんでしたが、コンパイルが停止しました。

class mainClass : mainClass
{
    ...
}
8
Philipp Otto

Xcode 6を使用していて、

メイクを待っています

Makeのインスタンスがすでに実行されている可能性があります。プロセスを強制終了し、インデックス作成を続行します。愚かな、しかし私のために働いた。

8
oarfish

[Alt]を押しながら[製品]> [ビルドフォルダーを消去]

4
rogger2016

私にとっては、Xcodeを完全に閉じてから、プロジェクトを再起動することができました。

これは元の質問の解決策ではありませんが、信じられませんが、ファイルやフォルダーなどを削除する前に試すのはもう1つの簡単なことです。 this answer アイデアのため。

3
Suragch

これはXcodeのバグ(Xcode 8.2.1)であり、大きな辞書リテラルまたはネストされた辞書リテラルがある場合に発生することをAppleに報告しました。辞書を小さなパーツに分割し、Appleがバグを修正するまでappendメソッドで追加する必要があります。

3
Pink Panther

Xcodeがインデックス作成に多くの時間を費やし、プロジェクトのビルドを頻繁にハングアップするという同様の問題がありました。その時点でXcodeを強制終了して再起動する必要がありました。とても面倒でした。

その後、プロジェクトでselfをデリゲートとして不適切に割り当てることに関する警告に気付きました。案の定、クラス宣言に欠落しているプロトコルがありました。 OPのサンプルコードにも同様の割り当てがあることに注意してください(ただし、正しいプロトコルが宣言されているかどうかをサンプルから判断することはできません)。

leaderboardController.leaderboardDelegate == self;

(実装されたプロトコルを正しく宣言することにより)その警告を解決した後、Xcodeは動作を停止しました。また、プロトコルメソッドwereが実装されたため、プロジェクトが正しく実行されたことに注意する必要があります。プロトコルがクラスによって実際に実装されるべきであるということは、Xcodeが確認できなかったことだけでした。

2
Peter Gluck

インデックス作成の問題を解決しようとしていて、ページのはるか下にいる場合は、もう1つ試してください!

このフラグをビルド設定に追加してみてください。

-Xfrontend -warn-long-expression-type-checking=400

build settings flag

コンパイラが複雑な式を推測するのに時間がかかる場合、警告が発生します。

warning

これにより、ビルド式エラーが発生する場合があります。ビルド式は、遅い式を見つけてビルドフラグを削除すると消えます。

2
greencardigan
  • まず、ネットワークから切断します。有線ネットワークと無線ネットワークの両方がオフになります。
  • 次に、com.Apple.dt.SourceKitServiceプロセスを強制終了します。その後、XCodeはスタックする代わりに、再びインデックス付けを開始します。

enter image description here

2
ooOlly

私にとっては何もうまくいきませんでした。私のプロジェクトは大きすぎます(目的cc++Swift、およびJavaファイルをj2objとマージします)。 Xcodeのインデックス作成を無効にし、数か月間コード補完なしで作業しました(そして、それは苦痛です)。しかし、ついに回避策を見つけました。アイデアは、Xcodeがコードにインデックスを付け続けることですが、cputhrottleなどの外部ツールを使用してCPU使用率を制限することです。

最初に、ターミナルにcputhrottleをインストールする必要があります

cputhrottleをインストールする

次に、Xcodeのインデックス作成プロセスをこのように制限します(20 = 20%)

Sudo cputhrottle $(pgrep -f com.Apple.dt.SKAgent)20

ここでモードの詳細を使用して「ソリューション」を公開しました: 大きなプロジェクトのインデックス作成時にCPUの100%を使用してXcodeを防ぐ方法

1
jptsetung

私の場合、派生データディレクトリを削除しても解決しませんでした。どうやら別のプロセスによってファイルがロックされたようです。ターミナルウィンドウとemacsをいくつか閉じて、リアクティブネイティブパッケージャープロセスを終了すると、すべてが解決したためです。

1
chetstone

Xcode 6.4でも同様の問題がありました。進行状況バーは、「インデックス作成」が「一時停止」であることを示していました。 project.xcworkspaceを削除してから、上記のように派生データを削除しようとしました。助けには見えなかった。上記の投稿では警告の修正も提案されていることに注意してください。また、この巨大なプロジェクトを180個の警告で継承していたので、「警告を修正するのに良い日だと思います」と自問しました。警告を修正していた30分後に、「インデックス作成」プログレスバーが10%から約20%に増加したことに気付きました。 1時間後、50%になり、さらに1時間で80%になり、さらに30分後に完了しました!結論:上記の提案に「長い昼食または昼寝をする」を追加します。

1
Jerry Krinock

Xcode 7.0ベータ版でも同じ問題が発生しました。私の場合、「ビルド設定」の「プロビジョニングプロファイル」と「製品バンドル識別子」の値は、PROJECTとTARGETSで異なりました。それらに同じ値を設定します。また、「appName」と「appNameTest」のTARGETSにも同じ値を使用しました。その後、プロジェクトを閉じて、再び開きました。それは私のケースを解決しました。

1
manispin

Xcode 9.3.1を使用したいくつかのプロジェクトでこの問題を経験しましたが、私の場合、何らかの理由でXcodeが気に入らないSwiftコードが原因です。どのファイルが問題を引き起こしているかを見つけるのが難しいため、この問題を解決するのは困難です。

この問題が発生したら、Xcodeプロジェクトからいくつかのファイルを削除し(参照を削除)、インデックス作成が機能するかどうかをテストします。そうするための私のプロセス

  1. いくつかのファイルを削除する
  2. Xcodeを閉じる
  3. Xcodeを開く
  4. インデックス作成が終了した場合、おそらく削除したファイルが動作する可能性がある場合、何らかのメソッドの名前を変更してください。

私の場合、同じファイルにリアクティブな拡張子を持つクラス定義があり、何らかの理由でXcodeがそれを気に入らなかったため、リアクティブな拡張子を別のファイルに移動し、インデックス作成が正常に機能するようになりました。

1
El Belga

これは私に起こりました。ココアポッドを使用している場合、これを行います:

  1. Project.xcworkspaceを削除します
  2. ターミナルで「pod install」を使用してポッドを再インストールします
  3. 新しいproject.xcworkspaceを作成します
  4. 新しいプロジェクトを開きます。xcworkspace-> Clean-> Build
1
meow2x

私にとって、私は愚かな間違いを犯しました。私はこのようなクラスを書きます:

class A: A {
.......
}

クラスは、フリーズを引き起こす自身を継承します。 Xcodeからのメッセージヒントはありません。

1
Victor Choy

最近XCode 7.3.1でこれに直面しました-私にとって、RAMの使用がCleanMyMac3で100%になることに気付きました。この問題は、マシンを再起動した後、魔法のように自動的に修正されました。しかし、公平を期して、私はすでに進んで受け入れられた答えを試したので、念のため再起動する前に同じことをしたいと思うでしょう:-)

0
Angad

リストされているすべてのことを試してみましたが、インデックスはフリーズし続けています。これは私を助けました:インデックスがフリーズし、1つ以上のSwiftプロセスがCPUの99%を消費している場合-このSwiftタスクを強制終了し、少し待って、そして進歩は動くはずです。終了するまで繰り返すことができます。私の場合、プロセスを7回強制終了しましたが、最後にインデックス作成が完了しました。

0
David Kyslenko

Swift 2.2でも同じ問題が発生しました

汎用関数のオーバーロード関数に関係していました

func warnLog() {
    print("Warning line: \(#line) file: \(#file) ")
}

func warnLog<T>(input:T? = nil) -> T? {
    print("Warning line: \(#line) file: \(#file) ")
    return input
}

func warnLog<T>(input:T) -> T {
    print("Warning line: \(#line) file: \(#file) ")
    return input
}

私がする必要があるのは、使用されていないオーバーロードの1つを削除することです

func warnLog<T>(input:T? = nil) -> T? {
    print("Warning line: \(#line) file: \(#file) ")
    return input
}
0
Chéyo

SwiftUIプロジェクトでこの問題が発生しました。私のSwiftUIビューの1つに、誤って宣言された変数がありました。私が持っていた:

@EnvironmentObject var roomViewModel

私が必要な場所:

@EnvironmentObject var roomViewModel: RoomViewModel

コンパイラエラーはありませんでした。エラーを修正した後、プロジェクトはすぐにビルドされました。

0

私の場合:project.xcworkspaceファイルではなく、派生データフォルダーではありません。

私は多くの時間を無駄にしました。さらに悪いことに、エラーメッセージはありません。 Xcodeの手がかりはありません。絶対に失った。

最後に、この関数(10個以上のパラメーター)が原因です。

func animationFrames(level: Float,
                     image: String,
                     frame0: String,
                     frame1: String,
                     frame2: String,
                     frame3: String,
                     frame4: String,
                     frame5: String,
                     frame6: String,
                     frame7: String,
                     frame8: String,
                     frame9: String,
                     frame10: String) {
}

夢中になるために!真実は、それが心配であるということです(構文エラーまたは任意のタイプがないため)

0
Markus

デバイスからアプリを削除して再構築するだけでこれを修正しました。

0
robertsan

XCode 9.3のインデックス作成の問題-XCodeをアンインストールして、ゼロから再度インストールします。私のために働く。

0
Maximo Lucosi

アプリの実行も停止します。 xcodeで別のアプリケーションを実行している場合は、最初に停止し、インデックス作成を続行する必要があります。

0
nferocious76

私も問題に直面していました。同じプロジェクトを2回開いたことがわかりました。

そのため、QuitXCode>プロジェクトを開き、1つのインスタンスのみが開いていることを確認します>クリーン>場合によってはCleanBuildフォルダ>ビルド。

うまくいくはず

0
Shahid

この問題は、マシンのスワップ領域がなくなったときに起こりました。いくつかのプログラムとブラウザーのタブを閉じたところ、30分間停止した後、ビルドが突然成功しました。派生データ、ロックされたファイルなどとは関係ありません。

0
Jacob Torres

私にとっては、Primary EditorAssistant Editorの両方でsameファイルを開いたことが原因でした同時に。 Assistant Editorを閉じると、問題は解決しました。 (Xcodeバージョン7.2.1)

0
wye

Xcodeを閉じ、gitクライアント(ソースツリーまたはターミナル)が開いている場合は閉じて、最後にプロジェクトを再起動します。

0
Mohit Anand