webentwicklung-frage-antwort-db.com.de

Xcode 4 Code Sense funktioniert nicht

Ich führe ein "altes" Xcode 3-Projekt in Xcode 4 aus und Code Sense funktioniert nicht für meine eigenen Klassen. Ich habe folgendes versucht:

  • Reinigen/umbauen
  • Abgeleitete Daten entfernen
  • 4.3 Dokumentation installieren
  • Neustart

Ohne Glück.

Manchmal funktioniert die Code-Erkennung, aber meistens bekomme ich nur "No Completions".

77
Okku

Versuche dies:

Öffnen Sie den Organizer und dann die Registerkarte "Projekt".

Löschen Sie die "Abgeleiteten Daten". Xcode sollte Ihr Projekt dann neu indizieren und der Code-Sinn sollte funktionieren. Zumindest für mich gearbeitet.

128
Saikat

Ich weiß, dass dies zu spät ist, aber als Referenz: http://sealedabstract.com/code/when-xcode-4s-code-completion-autocomplete-breaks/

  • Schließen Sie das Projekt und lassen Sie XCode weiterhin laufen.

  • Öffnen Sie das Organizer-Fenster von XCode, wechseln Sie zur Registerkarte "Projekte", wählen Sie das richtige Projekt aus und klicken Sie auf die Schaltfläche "Löschen" neben "Abgeleitete Daten".

  • Beenden Sie XCode.

  • Navigieren Sie im Finder zur .xcodeproject-Datei Ihres Projekts. Klicken Sie mit der rechten Maustaste und wählen Sie "Paketinhalt anzeigen".

  • Lassen Sie die Datei project.pbxproj, löschen Sie jedoch die Datei project.xcworkspace, alle .pbxuser-Dateien und den gesamten Ordner userdata.

  • Öffnen Sie das Projekt in XCode. Abhängig von der Größe Ihres Projekts wird XCode für ca. 10-60 Sekunden eine hohe CPU-Auslastung aufweisen. Im Aktivitätsfenster wird "Indizieren" angezeigt.

  • Wenn Ihre CPU-Spitze wieder auf Masse geht, funktioniert die Code-Vervollständigung wieder.

Dort wird viel gelöscht, seien Sie also vorsichtig, aber das hat auf jeden Fall bei mir funktioniert.

108

Ich habe dies getan und es hat für mich mehrere Male funktioniert (nachdem ich alle oben genannten Dinge zuvor ausprobiert habe).

Edit: Jetzt drücke ich einfach die Leertaste, die Rücktaste (die Mac-Version) und baue neu auf ... funktioniert Nizza. Denken Sie dann daran, einen Bildlauf durchzuführen (manchmal werden die Farben erst angezeigt, wenn Sie irgendwo einen Bildlauf durchführen).

  1. Suchen Sie Ihre Präfixdatei: "ProjectName_prefix.pch".
  2. Kommentieren Sie eine Zeile aus. (im Grunde ändern)
  3. Erstellen Sie Ihr Projekt, egal ob es fehlschlägt oder nicht.
  4. Kommentiere es aus.
  5. Baue wieder.

Ich wette, nur Schritt 2 (Ändern des Präfixes) macht es, aber diese bringen Sie im Wesentlichen wieder zum Laufen. Plötzlich färbt sich alles auf magische Weise neu und vervollständigt Funktionen.

Viel Glück, wenn sich das nicht beheben lässt, versuchen Sie es vielleicht mit Ihren abhängigen PCH-Dateien (Three20 oder FB Api's).

26
Stephen J

Das Löschen der "abgeleiteten Daten" funktioniert nur vorübergehend für mich. Ich muss es tun und dann Xcode 3-4 mal am Tag neu starten, damit der Code wieder funktioniert.

Ich habe herausgefunden, dass die wahre Ursache in den Target's Build Settings liegt. Ich habe alles von Header Search Paths nach ser Header Search Paths verschoben und es ist behoben. In meinem Fall ist das Framework, mit dem ich arbeite, RestKit.

Übrigens, ich bin darauf gekommen, weil ich ein anderes Projekt ( QuickDialog ) in mein Projekt eingefügt habe und ich war neugierig, dass es ser Header Search Paths verwendet, aber nicht - Header-Suchpfade. Hier ist der Unterschied zwischen ihnen.

5
Hlung

Sie können dieses Problem beheben, indem Sie die Build-Einstellungen wie folgt ändern: PreCompile Prefix Headers: NO

4
gowrikarthick

Zu Ihrer Information: Wenn eine Datei keinen Codesinn hat, aber der Rest Ihres Projekts, überprüfen Sie, ob sie einem Ziel hinzugefügt wurde. Sobald ich das getan habe, habe ich wieder Code Sinn in dieser Datei.

3
zekel

Es ist schon eine Ewigkeit her, aber die Antwort ist, den Code in einen neuen Ordner zu verschieben, und der Code-Sinn sollte jetzt funktionieren.

Dies geschah, als ich eine neue Objective-C-Klasse hinzufügte und der Code-Sinn nicht nur für die neu hinzugefügten .m- und .h-Dateien funktioniert (auf dem neuesten XCode 4-Update in diesem Beitrag).

2
Bahamut

Schließen Sie alle Xcode-Fenster

Löschen Sie alle Ihre Projekte unter xcode> window> organizer und starten Sie Ihr Projekt neu. Es wird nun Ihr Projekt richtig erfassen und indizieren.

2
Saad

Ich habe ausführlich darüber geschrieben hier .

Grundsätzlich war mein Fix das mit der Lokalisierung. Ich habe ein Upgrade von xcode 3.2.5 auf xcode 4 durchgeführt und dann mit dem eingebauten Interface Builder herumgeschraubt und die Lokalisierung für eine XIB-Datei aktiviert, bei der meine Quelldateien versehentlich im Verzeichnis en.lproj abgelegt wurden. Nachdem sie zurück in den Klassenordner verschoben wurden, funktionierte es einwandfrei.

1
zakishaheen

Ich öffne ein zweites Projekt im Hintergrund, wenn die Codeerkennung meines Xcodes nicht mehr funktioniert (normalerweise funktioniert es beim ersten Öffnen des Projekts, aber nach einer Weile funktioniert die Codeerkennung nicht mehr). Also öffne ich ein zweites Projekt in Xcode. Xcode beginnt mit der Indizierung des zweiten Projekts und magischerweise ist der Code-Sinn für mein Hauptprojekt wieder da.

Ausführen von Xcode 4.3.1 auf Lion

Hoffe das hilft jemandem.

0
newDeveloper

Für mich geschah es einfach, weil die Datei keine Zielmitgliedschaft hatte. Wenn die ersten paar Antworten für Sie nicht funktionierten, wechseln Sie zu Ihrer .m-Datei (vermutlich handelt es sich um diese Datei, mit der Sie Probleme haben), öffnen Sie die Ansicht Dienstprogramme (Bearbeiten -> Dienstprogramme -> Anzeigen) Dateiinspektor) und unter "Zielmitgliedschaft" das Ziel ankreuzen, zu dem diese Datei gehören soll.

0
Andrei

Von dieser Kommentar hier Ich konnte das Problem auf meinem Ende debuggen, es schien ein schlechtes -w-Flag zu sein, das der Clang-Präprozessor nicht richtig erkannte. Grundsätzlich läuft

defaults write com.Apple.dt.Xcode IDEIndexingClangInvocationLogLevel 3

in Terminal erhöht die Ausführlichkeit des Indexers und soll Ihnen helfen, Probleme aufzuspüren. Öffne Console.app und suche nach Nachrichten von Xcode. Die Suchzeichenfolge IDEIndexingClangInvocation hat mir dabei geholfen, sie zu finden.

0
damian