Xcodeが "Indexing"にとまったため、私が2か月間働いていたプロジェクトが理由もなく動作しなくなりました。もうプロジェクトをビルドできません。ビルドしようとすると、Xcodeがフリーズし、強制終了する必要があります。これは、このプロジェクトでのみ発生します。
すべての派生データをクリーニングしようとしましたが、助けにはなりませんでした。
Xcode 4.5.2を使用しています。
何か案は?
問題が解決しない場合は、ファイルをバックアップファイルに置き換えます。
Xcodeの不正な動作のすべてのケースで最初に試すのは、派生データの取得です
私はこの正確な問題を抱えていました。それは20アイテムの配列リテラルが原因でした。別の構文に切り替える必要がありました。かなり愚かな。
rm -rf ~/Library/Developer/Xcode/DerivedData
同様の問題が発生し、クラスを誤って独自のサブクラスとして定義したことがわかりました。これについて警告もエラーも表示されませんでしたが、コンパイルが停止しました。
class mainClass : mainClass
{
...
}
Xcode 6を使用していて、
メイクを待っています
Makeのインスタンスがすでに実行されている可能性があります。プロセスを強制終了し、インデックス作成を続行します。愚かな、しかし私のために働いた。
[Alt]を押しながら[製品]> [ビルドフォルダーを消去]
私にとっては、Xcodeを完全に閉じてから、プロジェクトを再起動することができました。
これは元の質問の解決策ではありませんが、信じられませんが、ファイルやフォルダーなどを削除する前に試すのはもう1つの簡単なことです。 this answer アイデアのため。
これはXcodeのバグ(Xcode 8.2.1)であり、大きな辞書リテラルまたはネストされた辞書リテラルがある場合に発生することをAppleに報告しました。辞書を小さなパーツに分割し、Appleがバグを修正するまでappendメソッドで追加する必要があります。
Xcodeがインデックス作成に多くの時間を費やし、プロジェクトのビルドを頻繁にハングアップするという同様の問題がありました。その時点でXcodeを強制終了して再起動する必要がありました。とても面倒でした。
その後、プロジェクトでself
をデリゲートとして不適切に割り当てることに関する警告に気付きました。案の定、クラス宣言に欠落しているプロトコルがありました。 OPのサンプルコードにも同様の割り当てがあることに注意してください(ただし、正しいプロトコルが宣言されているかどうかをサンプルから判断することはできません)。
leaderboardController.leaderboardDelegate == self;
(実装されたプロトコルを正しく宣言することにより)その警告を解決した後、Xcodeは動作を停止しました。また、プロトコルメソッドwereが実装されたため、プロジェクトが正しく実行されたことに注意する必要があります。プロトコルがクラスによって実際に実装されるべきであるということは、Xcodeが確認できなかったことだけでした。
インデックス作成の問題を解決しようとしていて、ページのはるか下にいる場合は、もう1つ試してください!
このフラグをビルド設定に追加してみてください。
-Xfrontend -warn-long-expression-type-checking=400
コンパイラが複雑な式を推測するのに時間がかかる場合、警告が発生します。
これにより、ビルド式エラーが発生する場合があります。ビルド式は、遅い式を見つけてビルドフラグを削除すると消えます。
私にとっては何もうまくいきませんでした。私のプロジェクトは大きすぎます(目的c
、c++
、Swift
、およびJava
ファイルをj2objとマージします)。 Xcodeのインデックス作成を無効にし、数か月間コード補完なしで作業しました(そして、それは苦痛です)。しかし、ついに回避策を見つけました。アイデアは、Xcodeがコードにインデックスを付け続けることですが、cputhrottle
などの外部ツールを使用してCPU使用率を制限することです。
最初に、ターミナルにcputhrottleをインストールする必要があります
cputhrottleをインストールする
次に、Xcodeのインデックス作成プロセスをこのように制限します(20 = 20%)
Sudo cputhrottle $(pgrep -f com.Apple.dt.SKAgent)20
ここでモードの詳細を使用して「ソリューション」を公開しました: 大きなプロジェクトのインデックス作成時にCPUの100%を使用してXcodeを防ぐ方法
私の場合、派生データディレクトリを削除しても解決しませんでした。どうやら別のプロセスによってファイルがロックされたようです。ターミナルウィンドウとemacsをいくつか閉じて、リアクティブネイティブパッケージャープロセスを終了すると、すべてが解決したためです。
Xcode 6.4でも同様の問題がありました。進行状況バーは、「インデックス作成」が「一時停止」であることを示していました。 project.xcworkspaceを削除してから、上記のように派生データを削除しようとしました。助けには見えなかった。上記の投稿では警告の修正も提案されていることに注意してください。また、この巨大なプロジェクトを180個の警告で継承していたので、「警告を修正するのに良い日だと思います」と自問しました。警告を修正していた30分後に、「インデックス作成」プログレスバーが10%から約20%に増加したことに気付きました。 1時間後、50%になり、さらに1時間で80%になり、さらに30分後に完了しました!結論:上記の提案に「長い昼食または昼寝をする」を追加します。
Xcode 7.0ベータ版でも同じ問題が発生しました。私の場合、「ビルド設定」の「プロビジョニングプロファイル」と「製品バンドル識別子」の値は、PROJECTとTARGETSで異なりました。それらに同じ値を設定します。また、「appName」と「appNameTest」のTARGETSにも同じ値を使用しました。その後、プロジェクトを閉じて、再び開きました。それは私のケースを解決しました。
Xcode 9.3.1を使用したいくつかのプロジェクトでこの問題を経験しましたが、私の場合、何らかの理由でXcodeが気に入らないSwiftコードが原因です。どのファイルが問題を引き起こしているかを見つけるのが難しいため、この問題を解決するのは困難です。
この問題が発生したら、Xcodeプロジェクトからいくつかのファイルを削除し(参照を削除)、インデックス作成が機能するかどうかをテストします。そうするための私のプロセス
私の場合、同じファイルにリアクティブな拡張子を持つクラス定義があり、何らかの理由でXcodeがそれを気に入らなかったため、リアクティブな拡張子を別のファイルに移動し、インデックス作成が正常に機能するようになりました。
これは私に起こりました。ココアポッドを使用している場合、これを行います:
私にとって、私は愚かな間違いを犯しました。私はこのようなクラスを書きます:
class A: A {
.......
}
クラスは、フリーズを引き起こす自身を継承します。 Xcodeからのメッセージヒントはありません。
最近XCode 7.3.1でこれに直面しました-私にとって、RAMの使用がCleanMyMac3で100%になることに気付きました。この問題は、マシンを再起動した後、魔法のように自動的に修正されました。しかし、公平を期して、私はすでに進んで受け入れられた答えを試したので、念のため再起動する前に同じことをしたいと思うでしょう:-)
リストされているすべてのことを試してみましたが、インデックスはフリーズし続けています。これは私を助けました:インデックスがフリーズし、1つ以上のSwiftプロセスがCPUの99%を消費している場合-このSwiftタスクを強制終了し、少し待って、そして進歩は動くはずです。終了するまで繰り返すことができます。私の場合、プロセスを7回強制終了しましたが、最後にインデックス作成が完了しました。
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
}
SwiftUIプロジェクトでこの問題が発生しました。私のSwiftUIビューの1つに、誤って宣言された変数がありました。私が持っていた:
@EnvironmentObject var roomViewModel
私が必要な場所:
@EnvironmentObject var roomViewModel: RoomViewModel
コンパイラエラーはありませんでした。エラーを修正した後、プロジェクトはすぐにビルドされました。
私の場合: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) {
}
夢中になるために!真実は、それが心配であるということです(構文エラーまたは任意のタイプがないため)
デバイスからアプリを削除して再構築するだけでこれを修正しました。
XCode 9.3のインデックス作成の問題-XCodeをアンインストールして、ゼロから再度インストールします。私のために働く。
アプリの実行も停止します。 xcodeで別のアプリケーションを実行している場合は、最初に停止し、インデックス作成を続行する必要があります。
私も問題に直面していました。同じプロジェクトを2回開いたことがわかりました。
そのため、QuitXCode>プロジェクトを開き、1つのインスタンスのみが開いていることを確認します>クリーン>場合によってはCleanBuildフォルダ>ビルド。
うまくいくはず
この問題は、マシンのスワップ領域がなくなったときに起こりました。いくつかのプログラムとブラウザーのタブを閉じたところ、30分間停止した後、ビルドが突然成功しました。派生データ、ロックされたファイルなどとは関係ありません。
私にとっては、Primary EditorとAssistant Editorの両方でsameファイルを開いたことが原因でした同時に。 Assistant Editorを閉じると、問題は解決しました。 (Xcodeバージョン7.2.1)
Xcodeを閉じ、gitクライアント(ソースツリーまたはターミナル)が開いている場合は閉じて、最後にプロジェクトを再起動します。