私が2か月間取り組んできたプロジェクトは、Xcodeが「インデックス作成」に行き詰まったため、理由もなく機能しなくなりました。プロジェクトをもうビルドできません。ビルドしようとすると、Xcodeがフリーズし、強制終了する必要があります。これはこのプロジェクトでのみ発生します。
すべての派生データをクリーンアップしようとしましたが、役に立ちませんでした。
Xcode 4.5.2を使用しています。
何か案は?
私が2か月間取り組んできたプロジェクトは、Xcodeが「インデックス作成」に行き詰まったため、理由もなく機能しなくなりました。プロジェクトをもうビルドできません。ビルドしようとすると、Xcodeがフリーズし、強制終了する必要があります。これはこのプロジェクトでのみ発生します。
すべての派生データをクリーンアップしようとしましたが、役に立ちませんでした。
Xcode 4.5.2を使用しています。
何か案は?
回答:
問題が解決しない場合は、ファイルをバックアップファイルに置き換えます。
Xcodeの誤動作のすべてのケースで最初に試すのは、派生データのNukingです。
私はこの正確な問題を抱えていました、それは20項目の配列リテラルによって引き起こされました。別の構文に切り替える必要がありました。かなりばかげています。
同様の問題があり、誤ってクラスを独自のサブクラスとして定義したことがわかりました。これに関する警告やエラーはありませんでしたが、コンパイルが行き詰まりました。
class mainClass : mainClass
{
...
}
Xcode 6を使用すると、
メイクを待っています
makeのインスタンスが既に実行されている可能性があります。プロセスを強制終了すると、インデックス作成が続行されます。ばかげたが、私のために働いた。
インデックス作成の問題を解決しようとしていて、ページの一番下にいる場合は、もう1つ試してみてください。
このフラグをビルド設定に追加してみてください。
-Xfrontend -warn-long-expression-type-checking=400
コンパイラが複雑な式を推定するのに長い時間がかかる場合に警告が表示されます。
これにより、ビルドエラーが発生する可能性があり、遅い式を見つけてビルドフラグを削除すると解消されます。
altキーを押したまま、製品>ビルドフォルダーのクリーンアップ
これは私に起こりました。ココアポッドを使用している場合は、次のようにします。
Xcodeがインデックス作成に多くの時間を費やし、プロジェクトのビルドを頻繁にハングアップさせるという同様の問題があり、その時点でXcodeを強制終了して再起動する必要がありました。それは非常に迷惑でした。
その後、プロジェクトにself
代理人としての不適切な割り当てに関する警告が表示されました。案の定、クラス宣言に欠落しているプロトコルがありました。OPのサンプルコードにも同様の割り当てがあることに注意してください(サンプルから正しいプロトコルが宣言されているかどうかを判断することはできません)。
leaderboardController.leaderboardDelegate == self;
(実装されたプロトコルを正しく宣言することによって)その警告を解決した後、Xcodeは誤動作を停止しました。また、プロトコルメソッドが実装されたため、プロジェクトが正しく実行されたことにも注意してください。Xcodeがプロトコルが実際にクラスによって実装されるべきであることを確認できなかったというだけでした。
何が私のために働いていない、私のプロジェクトは、(客観マージ大きすぎるc
、c++
、swift
、およびjava
j2objを持つファイル)。Xcodeのインデックス作成を無効にして、コード補完なしで何ヶ月も働いた(そしてそれは苦痛である)。しかし、ようやく回避策を見つけました。Xcodeにコードのインデックスを作成し続けるが、次のような外部ツールを使用してCPUの使用を制限するという考え方です。cputhrottle
。
したがって、最初にターミナルにcputhrottleをインストールする必要があります
brew install cputhrottle
次に、Xcodeのインデックス作成プロセスを次のように制限します(20 = 20%)
sudo cputhrottle $(pgrep -f com.apple.dt.SKAgent)20
ここにモードの詳細を含む「解決策」を公開しました:大きなプロジェクトのインデックス作成時にXcodeがCPUを100%使用しないようにする方法
Xcode 6.4でも同様の問題がありました。進行状況バーに、「インデックス作成」が「一時停止」であることが示されました。上記のように、project.xcworkspaceを削除してから、派生データを削除しようとしました。助けにはならなかったようです。上記の投稿は警告を修正することも提案していることに注意し、180の警告でこの巨大なプロジェクトを継承しているので、「警告を修正するのにこれは何のように見えるのだろう」と自分に言いました。30分後に警告を修正していたときに、「インデックス作成」の進行状況バーが10%から約20%に増加していることに気付きました。1時間後、50%になり、さらに1時間から80%になり、さらに30分後に完了しました。結論:上記の提案に「長い昼食または昼寝」を追加します。
私の場合、派生データディレクトリを削除しても問題は解決しませんでした。どうやら私は別のプロセスによってファイルがロックされていたようです。いくつかのターミナルウィンドウとEmacsを閉じて、React-Native Packagerプロセスを終了すると、すべてが解決しました。
Xcode 9.3.1を使用する一部のプロジェクトでこの問題が発生しましたが、私の場合、問題は何らかの理由でXcodeが気に入らない迅速なコードが原因です。問題の原因となっているファイルを見つけるのは難しいため、この問題の解決は困難です。
この問題が発生したとき、Xcodeプロジェクトからいくつかのファイルを削除し(参照を削除)、インデックスが機能するかどうかをテストします。そうするための私のプロセス
私の場合、同じファイルにリアクティブな拡張子を持つクラス定義があり、何らかの理由でXcodeがそれを気に入らなかったため、リアクティブな拡張子を別のファイルに移動したところ、インデックス作成は正常に機能しました。
また、アプリの実行を停止します。xcodeで別のアプリケーションを実行している場合は、まずそれを停止して、インデックス作成を続行してください。
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
}
私の場合:project.xcworkspaceファイルではなく、Derived Dataフォルダではありませんでした。
私は多くの時間を無駄にしました。さらに悪いことに、エラーメッセージはありません。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をアンインストールし、ゼロから再インストールします。私のために働く。
この問題は、マシンのスワップ領域が足りなくなったときに発生しました。いくつかのプログラムとブラウザのタブを閉じたところ、30分間止まった後にビルドが突然成功しました。私の側では、派生データ、ロックされたファイルなどとは何の関係もありません。
リストにあるものをすべて試しましたが、インデックス作成はフリーズし続けます。これは私を助けました:インデックスがフリーズしていて、1つ以上の迅速なプロセスがCPUの99%を消費している場合-この迅速なタスクを終了し、少し待ってください。終了するまで繰り返すことができますが、私の場合はプロセスを7回強制終了しましたが、最後にインデックス作成が完了しました。
SwiftUIプロジェクトでこの問題が発生しました。私のSwiftUIビューの1つに誤って宣言された変数があることが判明しました。私が持っていた:
@EnvironmentObject var roomViewModel
私が必要な場所:
@EnvironmentObject var roomViewModel: RoomViewModel
コンパイラエラーは発生せず、無限のインデックスが作成されました。エラーを修正した後、プロジェクトはすぐにビルドされました。