Xcode4のコード補完が効かなくなったとき(強力編)

Xcode4のコード補完が効かなくなったとき(強力編)Xcodeのコード補完が機能しなくなったとき、ありますか? 最悪な気分になりますね。でも、いつも通りググれば直ぐに回答が出てきます。僕も何度かその方法で解決してきました。

  1. オーガナイザを起動し、Projectタブを開く。
  2. Derived Dataのdeleteを押して削除する。
  3. Xcodeを再起動してCleanしてビルドする
  4. 少し待つ

今まではこれで問題なく行けました。ただ、今回はさらに強力です。上記の方法が全く効きません。何度やってもだめです。プロジェクトをもう一つ作ってコードを移植…?そんなときに、助けてくれるのがstackoverflowです。

Xcode 4 code sense is not working

英語なので読むのに多少骨が折れますが、できるだけ作業量を押さえてさっきまでの環境を取り戻したい!ということで、試して成功しました。いろいろ試したのでどれが成功したかは分かりません。ただ、参考になる方法ではあると思いますので試したものは訳しておこうと思います。原文での質問者はXcode3からXcode4に移行して問題が発生したと言っていますが、最初からXcode4で作り始めても問題が発生しますので解決のヒントには十分なり得ます。

* gitやsvnなどで直近のコミットがあればそこからやり直した方がよいと思います。下記の作業に入る前の状態に戻れるように、準備はしておいた方がよいと思います。

方法 1

  1. Xcodeは起動した状態のままプロジェクトのみ閉じる。
  2. オーガナイザーを起動し、プロジェクトタブを開く。修正したいプロジェクトを選択し、Derived Dataをdeleteボタンで削除する。
  3. Xcodeを閉じる。
  4. Finderで修正したいプロジェクトの.xcodeprojectファイルを表示し、右クリックで「パッケージの内容を表示」を選択。
  5. “project.xcworkspace”ファイルと、すべての”.pbxuser”ファイル、”userdataフォルダ”を削除する。”.pbxproj”ファイルは残しておく。
  6. Xcodeを起動する。このとき修正したいプロジェクトの規模によりXcodeが数十秒間CPUの多くの部分を占有する。Xcodeのアクティビティ・ウィンドウにはIndexingと表示される。
  7. CPUが通常の動作に戻ったとき、コード補完は復活している。

この方法で救われたという人が多いようです。僕も試したのですが、6番以降が起こらなかったのですよね。Indexingが起こらなかった。あと、削除したファイルがないとかワーニングが出たりした。この辺りは、ゴミ箱から復活させて元に戻したり、別の方法で削除したりいろいろやったのですが、最終的には削除して問題なくうごくようになりました。

さて、6番以降が動かなかったので、だめです。どうするか。

方法 2

  1. 別のプロジェクトを立ち上げる。

別のプロジェクトを立ち上げることでIndexingが始まるみたいです。 そのときついでに、修正したいプロジェクトのコード補完も復活したという報告もあります。方法1と方法2の組み合わせ、あるいは方法2のみでも行けそうです。

方法3

  1. prefixファイルを探し出す(ProjectName_prefix.pchという名前)
  2. コードのいくつかのラインをコメントアウトする。
  3. プロジェクトをビルドする。このときビルドに失敗しても気にすることはない。
  4. コメントアウトしていた部分を元に戻す。
  5. 再度ビルドする。

この方法を報告してくれた方は何度か成功しているみたいです。もしこれでうまく行かなかった場合は、依存関係にあるpchファイルが影響しているのではないかということ(例えばFBのapi?)。

僕は上記3つの方法をすべて試しました。そして、だめでした。だめだと思っていました。試した直後は何の反応もなかったから…。ただ、ポイントはスクロールです。

コードの一部をスクロールしたとたん、色が戻ってきました。コード補完も復活していました。何でしょう。

Pocket
LINEで送る

You may also like...