SwiftUI: Die automatische Aktualisierung der Vorschau wurde immer angehalten

12

Ich habe eine vorhandene App, im Grunde eine Einkaufslisten-App, zu der ich versuche, etwas süßes, süßes SwiftUI-Lovin hinzuzufügen.

Mein Problem ist, dass die Aktualisierung der Echtzeitvorschau nicht funktioniert. Die Warnung "Automatische Aktualisierung der Vorschau angehalten" wird ständig angezeigt. Ich drücke auf die Schaltfläche "Fortsetzen", es erstellt die App, es zeigt die aktuelle Ansicht und diese Warnung wird sofort wieder angezeigt. Ich kann niemals Änderungen am Code sehen, die sich auf der Leinwand widerspiegeln, ohne die Schaltfläche "Fortsetzen" zu verwenden.

Dies geschieht in Xcode 11.1 und 11.2 Beta 2. Ich kann dies auch hier auf SO buchstäblich nicht anders erwähnen, und es gibt einen Thread ohne Antworten in Apples Dev-Foren.

Brian M.
quelle
Mir ist aufgefallen, dass die Live-Vorschau für mich auch ziemlich oft pausiert ... Die einzigen Dinge, die ich ändern kann, die nicht pausieren, sind sehr kleine Dinge wie das Anpassen des in einer Textansicht angezeigten Textes ... Nehmen Sie auch kleinere Änderungen vor dafür sorgen, dass es für dich innehält?
Quinn
@Quinn - ja, bevor ich überhaupt eine Änderung vornehme, erscheint die Schaltfläche Warnung und Fortsetzen. Sie werden angezeigt, noch bevor die Erstellung des Lebenslaufs abgeschlossen ist und die Vorschau angezeigt wird. Ich kann überhaupt keine sichtbaren Änderungen vornehmen, ohne den Lebenslauf zu verwenden.
Brian M

Antworten:

6

Wenn Sie benutzerdefinierte Skriptphasen in Build-Phasen ausführen möchten und diese nicht entfernen möchten (oder können), aktivieren Sie das Kontrollkästchen "Skript nur bei Installation ausführen".

Geben Sie hier die Bildbeschreibung ein

Kacper Dziubek
quelle
Dies hat es in meinem Fall verursacht - ich hatte ein Skript, um die Build-Nummer automatisch zu erhöhen. Schöner Fang. Vielen Dank.
Raffjones
Gute Antwort - das ist besser als das, was mir der Apple-Support gesagt hat, weil dadurch die Funktionalität erhalten bleibt. Ich habe die akzeptierte Antwort auf Ihre verschoben :)
Brian M
8

Am Ende schickte ich Feedback an Apple und sie antworteten mit einem Fix. Ich habe ein Build-Skript im Ziel, das die Build-Nummer automatisch erhöht. Wenn ich dieses Skript entferne, funktioniert die Vorschau wie vorgesehen.

Wenn Sie dieses Problem haben, entfernen Sie alles unter Ziel -> Phasen erstellen -> Skript ausführen und versuchen Sie es erneut. Die Canvas-Vorschau sollte wie erwartet aktualisiert werden.

Brian M.
quelle
1
Ich habe keine Build-Skripte, aber dieses Problem tritt immer noch in Xcode 11.2.1 auf.
Isuru
Gleiche Sache. Ich verwende Xcode 11.3 und plötzlich begann dies und das Entfernen von Skriptphasen behebt es nicht.
Pacu
1
Gleiches Problem hier mit Xcode 11.3.1 unter 10.15.2 (keine Skripte). Wenn ich auf "Fortsetzen" klicke, verschwindet der Zeichenbereich einfach und die Warnung wird angezeigt, wenn die Zeichenfläche erneut geöffnet wird. Ich habe SwiftUI in der Beta letztes Jahr aufgegeben, nachdem ich auf zu viele Fehler gestoßen war, und bin darauf zurückgekommen, weil ich dachte, dass es jetzt funktionieren würde, aber nein. Die Werkzeuge sind kompletter Müll und funktionieren überhaupt nicht. Selbst wenn ein brandneues, sauberes Swift UI-Projekt erstellt wird, ist es sofort kaputt. Ich hoffe, Apple behebt diese schrecklichen Fehler, weil SwiftUI so vielversprechend ist, aber es hinterlässt einen schlechten Geschmack im Mund der Entwickler. Vielleicht Xcode 12 + 10.6.
Ben Stahl
Danke für den Hinweis, das hat geholfen. Beachten Sie jedoch, dass dies Auswirkungen auf jedes Ausführungsskript in jedem Ziel haben kann, das in Ihrer App enthalten sein wird, z. B. App-Erweiterungen und Watch-Apps.
Koraktor
Vielen Dank, ich hatte dieses Problem, aber es war ein Versionsskript, das in einem eingebetteten Framework ausgeführt wurde und dann die Vorschau pausierte. Ich war auf einem völlig falschen Weg und dachte, es hätte etwas mit Core Data und Previews zu tun.
dlemex
3

Für mich funktionierte Canvas nicht, als ich Legacy Build System hatte.

Sie können es ändern über,

Datei -> Arbeitsbereichseinstellungen -> Build-System -> Wählen Sie "Neues Build-System (Standard)".

Wie es heißt, ist es die Standardoption. Wenn aus irgendeinem Grund das Legacy-Build-System ausgewählt wurde, funktioniert Canvas nicht.

Imthath
quelle