Ich habe ein Problem damit, dass Xcode 4 sehr langsam auf Benutzerinteraktionen reagiert, z. B. das Bearbeiten von Code, das Scrollen von Bereichen usw. Dies geschieht insbesondere bei größeren Projekten mit vielen Controllern / Ansichtsdateien usw.
Ich habe die Festplatte komplett gelöscht und Snow Leopard und Xcode neulich neu installiert, aber es kam immer wieder zu einer frustrierenden Reaktionszeit (über mehrere Tage), die den Workflow erheblich störte.
Gelegentlich habe ich auch die "abgeleiteten Daten" des Projekts über den Organizer -> Projekte entfernt, was nur geringe Auswirkungen hatte.
Ich frage mich, ob ich irgendetwas tun kann, um die Leistung zu verbessern, außer zunächst eine Maschine mit höherer Geschwindigkeit zu bekommen.
Zu Ihrer Information: Ich verwende ein MacBook mit Intel Core 2 Duo-Prozessoren mit 2 GHz und 4 GB RAM.
Für den Fall, dass wir ein Upgrade durchführen müssen, würde ich auch gerne wissen, ob diese schlechte Leistung von Xcode 4 auf gut ausgestatteten Computern auftritt (was unser Hardware-Upgrade ziemlich sinnlos machen würde, da nur Xcode Leistungsprobleme auf dem MacBook aufweist).
Wenn jemand Vorschläge oder Empfehlungen hat oder uns sogar mitteilen könnte, wie sich eine verbesserte Hardware auf die Leistung von Xcode bei größeren Projektbäumen auswirkt, wäre dies äußerst hilfreich und auch eine wertvolle Ressource für andere Entwickler in einer ähnlichen Position.
quelle
Antworten:
Wenn Sie die Arbeitsbereichsdatei löschen, wird dies beschleunigt.
Stellen Sie zunächst sicher, dass Xcode nicht geöffnet ist. Suchen Sie nun Ihre Projektdatei. Klicken Sie mit der rechten Maustaste darauf und wählen Sie
Show Package Contents
.Als nächstes löschen
project.xcworkspace
.Öffnen Sie Xcode und genießen Sie eine schnellere Leistung!
Vielen Dank an: http://meachware.blogspot.com/2011/06/speed-up-xcode-4.html
Bearbeiten: Ich habe mehrere Kommentare dazu erhalten und festgestellt, dass dies bei einigen Projekten zu Problemen führen kann. Stellen Sie sicher, dass Sie eine Sicherungskopie Ihres Projekts haben, bevor Sie diese Schritte ausführen, und vergessen Sie nicht, Ihr Projekt anschließend zu überprüfen und zu testen . Stellen Sie sicher, dass Sie noch alle ausführbaren Dateien und Schemata haben.
quelle
WICHTIGES UPDATE: Pfade für Xcode 6 geändert (Danke für den Kommentar dcc)! Ich habe gerade den alternativen Weg hinzugefügt.
Es gibt noch einen weiteren netten Trick, um Builds zu erstellen, indem Sie eine RAM-Disk mit der folgenden Codezeile erstellen:
Dadurch wird ein speicherinternes Image mit einer Größe von ca. 4 GB erstellt. Aber seien Sie vorsichtig, Sie müssen genügend Speicher haben. Natürlich können Sie ein kleineres Bild wie 2 GB erstellen (das wäre 4237927).
Dann weisen Sie Xcode an, abgeleitete Daten dort zu speichern
Sie können Xcode nicht anweisen, die iPhone Simulator-Daten direkt dort zu speichern. Sie können jedoch einen Ordner auf der Ramdisk erstellen und anstelle des iPhone Simulator-Verzeichnisses einen symbolischen Link erstellen:
Xcode 6:
Ältere Xcode-Versionen:
Wenn ich mit diesem Setup für den Simulator baue, ist es in kürzester Zeit betriebsbereit :)
Beachten Sie, dass die RAM-Disk beim Neustart des Computers verschwindet. Daher ist es möglicherweise eine gute Idee, ein Skript oder etwas zu erstellen, das beim Start ausgeführt wird. UND PLATZIEREN SIE KEINE DATEN, DIE SIE BEHALTEN WOLLEN !!!
UPDATE 2013-03-12:
Lesen Sie den Kommentar von Francisco Garcia unten!
Mit meinem neuen MBP (der ein SSD-Laufwerk enthält) brauche ich diese Methode nicht mehr. Xcode läuft wie die Hölle :). Ich hoffe, dies wird nicht als Werbung für das große Obstunternehmen angesehen, sondern nur als Erfahrungsbericht ...
quelle
Das Deaktivieren von Live-Problemen in den allgemeinen Einstellungen hat einen deutlichen Unterschied gemacht. Ich habe auch ein Schema ohne aktivierte GDB für Situationen eingerichtet, in denen ich häufig erneut ausgeführt werde (keine GDB beschleunigt den Start erheblich).
quelle
Für mich hat Xcode eine enorme Leistungssteigerung erzielt, nachdem es auf 32-Bit-Modus eingestellt wurde (standardmäßig 64). Es ist fast so schnell wie der alte Xcode 3. Sie auf 32 - Bit durch einen Rechtsklick umschalten können die App (in /Developer/Applications/XCode.app ) und Auswahl Get Info und Überprüfung Open in 32-Bit - Modus .
quelle
Xcode 4.2, 4.3:
Hauptprobleme mit dem Datei-Indexer (derselbe Code, der Spotlight ausführt, der seit Jahren fehlerhaft ist? Wahrscheinlich).
Deaktivieren Sie alle nicht wesentlichen Elemente, die zum "Ansehen" von Dateien erforderlich sind:
Xcode 4.4, 4.5:
Diese Versionen haben ein schwerwiegendes Mem-Leck, einen defekten Datei-Indexer (aber besser als 4.2 und 4.3) und möglicherweise ein Problem mit privaten Auslagerungsdateien.
Durch Deaktivieren / Aktivieren des Swap-Speicherplatzes ( Deaktivieren oder Aktivieren des Swapings in Mac OS X ) und Verwenden normaler Festplatten auf mehreren Computern sowie durch Ausführen von Experimenten auf Computern mit 2 GB RAM bis zu 16 GB RAM fand ich diesen Xcode scheint einen eigenen Swap-Space zu betreiben, unabhängig vom OS X-Swap (!).
(Dies könnte ein Fehler sein - vielleicht gibt es eine zusätzliche Form des OS X-Austauschs, von der ich nichts weiß -, aber die Systemaustauschdateien wurden nicht größer oder kleiner, während der Speicherplatz auf einigen Computern um Gigabyte auf und ab sprang.)
Beobachtete:
Xcode 4.4 / 4.5 beansprucht nach dem Zufallsprinzip den gesamten Arbeitsspeicher Ihres Systems (10 GB für ein kleines Projekt), sodass der Rest des Systems zum Stillstand kommt und auf den Austausch der Festplatte wartet
Xcode blockiert den Zugriff auf die Festplatte, damit es seine (defekte) interne Dateiindizierung durchführen kann. Wenn der Systemspeicher knapp wird und OS X einen Austausch durchführen muss ... bleibt es hängen und wartet darauf, dass Xcode Dateien indiziert ... und Xcode benötigt mehr Speicher, während es wartet ... und: BOOM! Auf kleineren Systemen hängt OS X schließlich
Xcode benötigt keinen OS X-Swap-Space
Der letzte ist sehr interessant. Wenn Sie über viel Speicher verfügen (z. B. 16 GB), deaktivieren Sie den Swap-Speicher dauerhaft. Xcode läuft schneller, da OS X Lion einige Fehler in der Mem-Verwaltung aufweist, bei denen es auch dann ausgetauscht wird , wenn dies nicht erforderlich ist .
Wenn xcode plötzlich langsamer wird, wird es intern ausgetauscht. An diesem Punkt können Sie es einfach beenden und neu starten.
(Wenn Sie eine SSD haben, können Sie nur feststellen, ob der Austausch begonnen hat, indem Sie darauf warten, dass sie "langsamer" wird. Andernfalls wissen Sie, sobald Sie den HD-Thrash hören: Es gibt keine System-Austauschdatei mehr einzig mögliche Ursache ist Xcode)
Sie können Swap sicher deaktivieren, selbst wenn Sie über 2 GB RAM verfügen (ich hatte nur einen OS X-Absturz pro Monat, als ich dies versuchte, habe es ein Jahr lang auf diese Weise ausgeführt), aber es verhindert, dass Sie High-End-Video- / Grafikarbeiten mit Dateien ausführen das braucht Multi-Gigabyte, nur um zu laufen. Probieren Sie es einfach ein paar Wochen lang aus und sehen Sie, was passiert.
Aber ... Xcode immer dann neu zu starten, wenn es langsamer wird, wirkt Wunder. Auf Computern mit weniger RAM scheint die private Auslagerungsdatei von Xcode beim Schließen SOFORT gelöscht zu werden (auf Computern mit viel RAM scheint dies nicht der Fall zu sein).
quelle
Keine dieser Antworten hat die Leistung in meinem Fall wirklich verbessert (im Laufe der Zeit wurde Xcode 4.1 kaum mehr verwendbar, nur das gelegentliche Beenden hat geholfen).
Ich habe jedoch gerade herausgefunden, dass es schnell zu bleiben scheint, wenn ich alle meine Dokumente schließe (Steuerbefehl-W). Xcode speichert automatisch alle Dokumente, auf die Sie klicken, irgendwie im Speicher, und Sie können mit dem Steuerbefehl links / rechts zwischen ihnen navigieren. Wenn Sie versehentlich zu viele öffnen (insbesondere IB-Fenster), wird es angehalten. Nur ab und zu alle geöffneten Dokumente zu schließen, scheint dies zu erleichtern, ohne dass ein vollständiger Neustart erforderlich ist.
quelle
Der folgende Beitrag von @lukasz hat ein wenig geholfen, insbesondere sein Punkt 8 in seiner Antwort (Closed Utility Panel und Quick Help Pane).
Xcode 4 wurde extrem langsam und tötet meine Festplatte
quelle
Jeder, bei dem diese Probleme auftreten, sollte Xcode 4.1 unter Mac OS X Lion ausprobieren. Ich bin überrascht, wie viel schneller und reaktionsschneller es auf derselben Hardware ist (Macbook Pro 2,66 GHz Core 2 Duo mit 4 GB RAM hier).
Ich nehme an, sie haben mit dieser Version Unmengen von Leistungsfehlern behoben.
quelle
Starten Sie Instruments mit der Zeitprofilvorlage und hängen Sie sie an den laufenden Xcode an (oder an clang, llvm usw., wenn Ihr Problem während der Erstellung auftritt). Sie sollten das Problem ziemlich schnell erkennen können. Ich habe auf verschiedenen Maschinen sehr unterschiedliche Ursachen gesehen. Die Versionskontrolle ist oft ein Schuldiger.
quelle
Ich stehe vor den gleichen Problemen. Sie wurden teilweise behoben, da die Beta-Builds noch bestehen. Es scheint, dass Xcode intern ein oder mehrere Lecks hat, die Ihren Speicher schweben lassen. Sie können diese raffinierte "Funktion" sehr gut sehen, wenn Sie den integrierten Interface-Builder verwenden. Zwei mögliche Lösungen unter dem Beten und Füllen von Fehlerberichten an Apple:
quelle
Ich habe fast alles versucht, was in diesem Thread und [zahlreichen] anderen vorgeschlagen wurde, und das einzige, was für mich funktioniert hat, war, die Subversion für das Projekt zu "deaktivieren". Hier ist der beschissene Teil - die einzige Möglichkeit, das integrierte SVN-Plugin zu "deaktivieren", bestand darin, meine Datei / etc / hosts mit einer gefälschten IP-Adresse zu versehen, wodurch der gesamte SVN-Zugriff fehlschlug.
Ich habe versucht, das IDESubversion.ideplugin in / Developer / Library / Xcode / PrivatePlugIns zu entfernen / umzubenennen, aber Xcode 4.2.1 kotzt und weigert sich zu starten.
Ich habe versucht, meine SVN-Repositorys bei jedem Neustart von Xcode aus Xcode zu entfernen, aber Xcode stürzt innerhalb weniger Minuten ab.
Ich habe versucht, "Remote Status" über Datei-> Quellcodeverwaltung-> Remote-Status ausblenden auszuschalten (habe nichts für mich getan).
Nachdem ich meinen SVN-Hostnamen in meiner Hosts-Datei auf 1.2.3.4 festgelegt habe, funktioniert Xcode hervorragend und zeigt den SBBOD nicht fast jedes Mal an, wenn ich zwischen Dateien wechsle.
Wenn ich dann wirklich die Versionskontrolle durchführen möchte, muss ich die Hosts-Datei freigeben und cmd line svn verwenden.
quelle
Sie können die Indizierung von Xcode vermeiden. Dies verbessert die Speicherleistung Ihres Systems, verhindert jedoch auch, dass IDE-Funktionen wie die automatische Vervollständigung und das Springen zu Definitionen funktionieren.
quelle
Wenn Sie beim Ändern einer .xib-Datei mit dem Interface Builder / Editor eine langsame Leistung haben, gehen Sie unter Dateiinspektor zur .xib und deaktivieren Sie das automatische Layout . Nehmen Sie Ihre Änderungen an der .xib vor und aktivieren Sie als letzten Schritt das automatische Layout wieder und fügen Sie Einschränkungen hinzu oder passen Sie sie an.
quelle
Ich habe endlich meinen Xcode normal funktionieren lassen, indem ich die Git-Funktion ausgeschaltet habe.
quelle
Ich habe mein Problem behoben, indem ich Snapshots wie hier beschrieben deaktiviert habe:
Das Bearbeiten des Storyboards in Xcode 5 ist sehr langsam
quelle
In meinem Fall war es die RAM-Nutzung.
Versuchen Sie, einige Chrome-Tabs oder selten verwendete Apps zu löschen.
quelle
Ich habe einen Trick gefunden, um die Kompilierungsleistung von XCode 4 zu beschleunigen: Wenn Sie Xcode ausführen oder kompilieren oder eine andere Verarbeitung ausführen und der aktive Monitor blockiert, wählen Sie den Xcode-Prozess aus und klicken Sie auf den Beispielprozess. Dadurch bleibt der Prozess hängen und wird wie gewohnt erneut ausgeführt, sodass die App in angemessener Zeit erstellt werden kann.
quelle