web-dev-qa-db-ja.com

Xcode 4のコードセンスが機能していません

Xcode 4で「古い」Xcode 3プロジェクトを実行していますが、自分のクラスではコードセンスが機能しません。私は次のことを試しました:

  • クリーン/リビルド
  • 派生データを削除する
  • 4.3ドキュメントのインストール
  • 再起動

運がなければ。

コードセンスが機能することもありますが、ほとんどの場合、「完了なし」が表示されます。

77
Okku

これを試して:

オーガナイザーを開き、[プロジェクト]タブを開きます。

「派生データ」をクリアします。 Xcodeはプロジェクトのインデックスを再作成し、コードセンスが機能するはずです。少なくとも私のために働いた。

128
Saikat

私はこれが遅いことを知っていますが、参考のために: http://sealedabstract.com/code/when-xcode-4s-code-completion-autocomplete-breaks/

  • XCodeを実行したまま、プロジェクトを閉じます。

  • XCodeのオーガナイザーウィンドウを開き、[プロジェクト]タブに移動して正しいプロジェクトを選択し、[派生データ]の横にある[削除]ボタンをクリックします。

  • XCodeを終了します。

  • Finderでプロジェクトの.xcodeprojectファイルに移動します。右クリックして、「パッケージの内容を表示」を選択します。

  • Project.pbxprojファイルを残しますが、project.xcworkspaceファイル、すべての.pbxuserファイル、およびuserdataフォルダー全体を削除します。

  • XCodeでプロジェクトを開きます。プロジェクトのサイズにもよりますが、XCodeがCPU使用率を10〜60秒間上回っています。アクティビティウィンドウに「インデックス作成中」と表示されます

  • CPUスパイクが地球に戻ると、コード補完が再び機能します。

そこには多くの削除が行われているので注意してください、しかしこれは間違いなく私のために働いた。

108

私はこれを行ってきましたが、以前に上記のすべてを試した後、私のために複数回働きました。

編集:今、私はちょうどスペース、バックスペース(Mac版)を打つと再構築...うまく動作します。次に、スクロールすることを忘れないでください(どこかにスクロールするまで色が表示されない場合があります)

  1. プレフィックスファイル「ProjectName_prefix.pch」を見つけます。
  2. いくつかの行をコメントアウトします。 (基本的に変更する)
  3. プロジェクトをビルドします。失敗したかどうかは関係ありません。
  4. コメントを外します。
  5. 再度ビルドします。

ステップ2(プレフィックスの変更)だけがそれを行うことを賭けていますが、これらは基本的に実行に戻ります。突然、すべてが魔法のように色を変えて機能を完了します。

それがそれを修正しない場合は幸運、おそらくあなたの依存関係pchファイル(three20またはFB apiの)にこれをやってみてください

26
Stephen J

「派生データ」の消去は、一時的にしか機能しません。コードセンスを再び機能させるには、それを実行してから、毎日3〜4回Xcodeを再起動する必要があります。

本当の原因はTargetのBuild Settingsにあることがわかりました。すべてをHeader Search PathsからUser Header Search Pathsとそれに移動しました固定されています。私の場合、私が使用しているフレームワークはRestKitです。

ところで、私は別のプロジェクト( QuickDialog )を自分のプロジェクトに追加していて、それがUser Header Search Paths、ただし(ヘッダー検索パスここにそれらの違いがあります。

5
Hlung

この問題を修正するには、ビルド設定を次のように変更しますPreCompile Prefix Headers:NO

4
gowrikarthick

参考までに、あるファイルにはコードセンスがないが、プロジェクトの他のファイルにはコードセンスがある場合は、そのファイルがターゲットに追加されていることを確認してください。それをやったら、そのファイルにコードセンスが戻ってきました。

3
zekel

古くからありますが、答えはコードを新しいフォルダーに移動するだけで、コードの意味は今は機能しているはずです。

これは、新しいObjective-Cクラスを追加したときに発生し、コードセンスは、新しく追加された.mファイルと.hファイル(この投稿中のXCode 4の最新のアップデート)でのみ機能しません。

2
Bahamut

すべてのXcodeウィンドウを閉じます

Xcode> window> organizerからすべてのプロジェクトを削除し、プロジェクトを再起動します。これで、プロジェクトが適切に検出され、インデックスが作成されます。

2
Saad

私はそれについて詳細に書いた ここ

基本的に、私の修正はローカライズに関するものでした。 xcode 3.2.5からxcode 4にアップグレードしてから、ビルトインインターフェイスビルダーをねじ込んで、誤ってXIBファイルのローカライズを有効にして、ソースファイルをen.lprojディレクトリに配置しました。それらをClassesフォルダに戻した後、完全に機能しました。

1
zakishaheen

Xcodeのコードセンシングの動作が停止するたびに、バックグラウンドで2番目のプロジェクトを開きます(通常、プロジェクトを最初に開いたときに動作しますが、しばらくするとコードセンスが動作しなくなります)。だから私はXcodeで2番目のプロジェクトを開くことです。 Xcodeは2番目のプロジェクトのインデックス作成を開始し、魔法のように私のメインプロジェクトのコードセンスが戻ってきます。

LionでXcode 4.3.1を実行する

これが誰かを助けることを願っています。

0
newDeveloper

私にとっては、ファイルにターゲットメンバーシップがなかったために起こりました。最初のいくつかの答えがうまくいかなかった場合は、.mファイル(おそらく問題があるのはこのファイル)に移動して、tilitiesビューを開きます(編集->ユーティリティ->表示[ファイルインスペクター]をクリックし、[ターゲットメンバーシップ]で、このファイルが属するターゲットを確認します。

0
Andrei

このコメントはこちら から問題をデバッグできましたが、clangプリプロセッサが正しく認識していなかったのは悪い-wフラグのようです。基本的に、実行中

defaults write com.Apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3

ターミナルでは、インデクサーの冗長性が向上し、問題の追跡に役立ちます。 Console.appを開き、Xcodeからのメッセージを探します。検索文字列IDEIndexingClangInvocationは、それらを見つけるのに役立ちました。

0
damian