Verwenden Sie die Option "Warten auf MyApp.app zum Starten".
In Xcode, halten Sie die Wahltaste gedrückt und wählen Sie Product-> Run ... (die Ellipsen werden hinzugefügt, wenn Sie Option gedrückt halten). Dadurch wird der Schemaeditor mit dem ausgewählten Ausführungsschema angezeigt. Klicken Sie auf die Registerkarte Info, und im daraufhin angezeigten Infofenster sehen Sie eine Radiogruppe namens "Starten" mit zwei Optionen: "Automatisch" und "Warten auf das Starten von MyApp.app". Wenn Sie die zweite Option auswählen, startet Xcode den Debugger und wartet darauf, dass Sie Ihre Anwendung manuell starten. Sie können einen Haltepunkt am Anfang des Codes festlegen, den Sie debuggen möchten, und der Debugger wird dort anhalten.
Setzen Sie die App in den vorherigen Zustand zurück.
Sie sollten in Erwägung ziehen, Code hinzuzufügen, der die App in den Zustand versetzt, in dem sie sich vor dem Upgrade befand. Dies kann Debug-Code sein, der vom Release-Build ausgeschlossen ist. Das Debuggen von Problemen, die erfordern, dass Sie die Anwendung jedes Mal neu installieren, wenn Sie Ihr Debugger ausführen möchten, kann Los der Zeit dauern. Auch wenn Sie die App bei jedem Debug-Zyklus neu starten müssen, kostet das viel Zeit. Es ist sehr oft sinnvoll, ein wenig mehr Zeit mit dem Hinzufügen einer Schaltfläche zu Ihrer App zu verbringen, die die von Ihnen vorgenommenen Änderungen rückgängig macht, damit Sie sie erneut ausführen können.
Komponententest.
Eine gute Möglichkeit, Code zu debuggen, der sich mit schwer wiederherstellbaren App-Zuständen beschäftigt, ist das Schreiben von Komponententests. In einem Test können Sie einen beliebigen Status erstellen. Sie können sogar App-Status erstellen, die in Ihrer App möglicherweise nicht wiederhergestellt werden können. Und Sie können diesen Code immer wieder debuggen. Wie bei der vorherigen Lösung dauert es ein wenig mehr Zeit, den Code im Voraus zu schreiben, aber Sie sparen bei jeder Iteration Ihres Debug-Zyklus so viel Zeit, dass es sich lohnt. Noch besser: Sie können den Test zu Ihrem Build-Prozess hinzufügen, um sicherzustellen, dass die Funktionalität nicht später unterbrochen wird.
Sie können Snapshots oder Versionskontrolle nicht verwenden, um Rollbacks/Zurücksetzungen zu verwalten, damit Sie sich keine Sorgen machen müssen, wenn Sie die vorhandene App überschreiben? – rwyland
Wenn Sie nicht möchten, dass Ihr vorhandenes Produkt in Xcode überschrieben wird, können Sie immer eine Kopie des Projektordners erstellen und davon arbeiten. – John