Xcode 4 で「古い」Xcode 3 プロジェクトを実行していますが、自分のクラスでコード センスが機能しません。私は次のことを試しました:
- クリーン/再構築
- 派生データを削除
- 4.3 ドキュメントのインストール
- 再起動
運がなければ。
コードセンスが機能することもありますが、ほとんどの場合、「No Completions」が表示されます。
これを試して:
オーガナイザーを開き、[プロジェクト] タブを開きます。
「派生データ」をクリアします。その後、Xcode はプロジェクトのインデックスを再作成し、コード センスが機能するはずです。少なくとも私のために働いた。
私はこれが遅いことを知っていますが、参考のために:http ://sealedabstract.com/code/when-xcode-4s-code-completion-autocomplete-breaks/
XCodeを実行したまま、プロジェクトを閉じます。
XCodeのオーガナイザーウィンドウを開き、[プロジェクト]タブに移動し、正しいプロジェクトを選択して、[派生データ]の横にある[削除]ボタンをクリックします。
XCodeを終了します。
Finderでプロジェクトの.xcodeprojectファイルに移動します。右クリックして、[パッケージの内容を表示]を選択します。</ p>
project.pbxprojファイルは残しますが、project.xcworkspaceファイル、すべての.pbxuserファイル、およびuserdataフォルダー全体を削除します。
XCodeでプロジェクトを開きます。プロジェクトのサイズにもよりますが、XCodeがCPU使用率を約10〜60秒間高くしているのがわかります。アクティビティウィンドウに「インデックス作成」と表示されます</p>
CPUスパイクが地球に戻ると、コード補完が再び機能します。
そこにはたくさんの削除が行われているので注意してください、しかしこれは間違いなく私にとってはうまくいきました。
私はこれを行ってきましたが、何度もうまくいきました(以前に上記のすべてを試した後)。
編集:スペース、バックスペース(Macバージョン)を押して再構築するだけです...うまくいきます。次に、スクロールすることを忘れないでください (どこかをスクロールするまで色が表示されないことがあります)。
ステップ 2 (プレフィックスの変更) だけがそれを行うに違いありませんが、これらは基本的に実行に戻ることができます。突然、すべてが魔法のように色を変え、機能を完成させます。
それでも問題が解決しない場合は、幸運を祈ります。おそらく、依存関係の pch ファイル (three20 または FB api) に対してこれを実行してみてください。
「派生データ」の消去は一時的にしか機能しません。コードセンスを再び機能させるには、それを実行してから Xcode を毎日 3 ~ 4 回再起動する必要があります。
本当の原因はターゲットのビルド設定にあることがわかりました。ヘッダー検索パスからユーザー ヘッダー検索パスにすべてを移動したところ、修正されました。私の場合、使用しているフレームワークは RestKit です。
ところで、私は別のプロジェクト ( QuickDialog ) を自分のプロジェクトに追加していたので、これを思いつきました。それがUser Header Search Pathsを使用していて、 Header Search Paths を使用していないことに興味がありました。ここにそれらの違いがあります。
PreCompile Prefix Headers :NOのようにビルド設定を変更することで、この問題を修正できます。
参考までに、1 つのファイルにコードの意味がなく、プロジェクトの残りの部分にはある場合は、そのファイルがターゲットに追加されていることを確認してください。それをしたら、そのファイルにコードの意味が戻ってきました。
古くからありますが、答えはコードを新しいフォルダーに移動することであり、コードセンスは現在機能しているはずです。
これは、新しいObjective-Cクラスを追加したときに発生し、コードセンスは新しく追加された.mファイルと.hファイル(この投稿中のXCode 4の最新の更新)でのみ機能しません。
すべての xcode ウィンドウを閉じる
xcode>window>organizer からすべてのプロジェクトを削除し、プロジェクトを再起動します。これで、プロジェクトが適切に検出され、インデックスが作成されます。
詳しくはこちらに書きました。
基本的に、私の修正はローカライズによるものでした。xcode 3.2.5 から xcode 4 にアップグレードした後、組み込みのインターフェイス ビルダーをいじり、誤って XIB ファイルのローカリゼーションをオンにして、ソース ファイルを en.lproj ディレクトリに配置しました。それらを Classes フォルダーに戻した後、完全に機能しました。
繰り返しになりますが、この問題について他の人を助けるために、私の場合はXcode4.3にアップグレードしたときに発生しました。
もちろん、私はこの投稿で提供されている解決策を試しましたが、どれもうまくいきませんでした。しかし、Finderでプロジェクトの場所を移動するという提案は、コードセンスを取り戻しましたが、提案は意味がありませんでした。 プロジェクトを削除して、gitリポジトリから再クローンを作成しました。これにより、 CodeSenseが元に戻りました...このコメント hereから、私は自分の側で問題をデバッグすることができました.clangプリプロセッサが正しく認識していなかったのは、悪い -w フラグのようでした. 基本的にはランニング
defaults write com.apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3
ターミナルでは、インデクサーの冗長性が向上し、問題を追跡するのに役立ちます。Console.app を開き、Xcode からのメッセージを探します。検索文字列IDEIndexingClangInvocation
がそれらを見つけるのに役立ちました。
私にとっては、ファイルにターゲットメンバーシップがなかったため、単純に発生しました。最初のいくつかの回答がうまくいかなかった場合は、.m ファイルに移動し (おそらく、問題が発生しているのはこのファイルです)、[ユーティリティ]ビュー ([編集] -> [ユーティリティ] -> [ファイル インスペクタを表示]) を開き、[ターゲットメンバーシップ」で、このファイルを所属させたいターゲットにチェックを入れます。
Xcode のコード センシングが機能しなくなるたびに、バックグラウンドで 2 番目のプロジェクトを開きます (通常、最初にプロジェクトを開いたときに機能しますが、しばらくするとコード センスが機能しなくなります)。そこで、Xcode で 2 つ目のプロジェクトを開きます。Xcode は 2 番目のプロジェクトのインデックス作成を開始し、魔法のようにメイン プロジェクトのコード センスが戻ってきます。
Lion で Xcode 4.3.1 を実行する
これが誰かに役立つことを願っています。