SwiftUI: Pembaruan pratinjau otomatis dijeda, selalu


12

Saya memiliki Aplikasi yang sudah ada, pada dasarnya aplikasi daftar belanja, yang saya coba tambahkan beberapa manis SwiftUI manis.

Masalah saya adalah pembaruan pratinjau waktu-nyata tidak berfungsi - peringatan "Pembaruan pratinjau otomatis dijeda" terus-menerus muncul. Saya menekan tombol resume, itu membangun aplikasi, itu menunjukkan tampilan saat ini, dan peringatan itu segera muncul lagi. Saya tidak pernah melihat perubahan pada kode yang tercermin di kanvas tanpa menggunakan tombol resume.

Ini terjadi di Xcode 11.1, dan 11.2 beta 2. Saya benar-benar tidak dapat menemukan penyebutan ini di SO, dan ada satu utas tanpa jawaban di forum Dev Apple.


Saya perhatikan preview langsung juga cukup sering jeda untuk saya ... Satu-satunya hal yang dapat saya ubah yang tidak berhenti adalah hal-hal yang sangat kecil seperti menyesuaikan teks yang ditampilkan dalam tampilan teks ... Lakukan perubahan kecil seperti itu juga menyebabkannya berhenti untuk Anda?
Quinn

@ Quinn - ya, bahkan sebelum saya melakukan perubahan, tombol peringatan dan lanjutkan muncul. Mereka muncul bahkan sebelum pembangunan resume selesai dan pratinjau ditampilkan. Saya tidak bisa membuat perubahan sama sekali yang terlihat tanpa menggunakan resume.
Brian M

Jawaban:


6

Jika Anda memiliki Fase Jalankan Skrip kustom di Fase Build dan Anda tidak ingin (atau tidak bisa menghapusnya), maka coba centang kotak "Jalankan skrip saja saat menginstal".

masukkan deskripsi gambar di sini


Inilah yang menyebabkannya dalam kasus saya - Saya memiliki skrip untuk menambah-otomatis nomor build. Tangkapan bagus. Terima kasih.
raffjones

Jawaban yang bagus - ini lebih baik daripada yang diminta Apple untuk saya lakukan karena ini menjaga fungsi tetap utuh. Saya sudah memindahkan jawaban yang diterima ke Anda :)
Brian M

8

Saya akhirnya mengirim umpan balik ke Apple, dan mereka merespons dengan perbaikan. Saya memiliki skrip build di target yang secara otomatis menambah nomor build. Jika saya menghapus skrip itu maka pratinjau berfungsi sebagaimana dimaksud.

Jadi, jika Anda mengalami masalah ini, hapus apa pun di Target -> Build Phases -> Run Script dan coba lagi. Pratinjau kanvas harus diperbarui seperti yang Anda harapkan.


1
Saya tidak punya skrip build tetapi saya masih mendapatkan masalah ini di Xcode 11.2.1.
Isuru

Hal yang sama. Saya menjalankan Xcode 11.3 dan tiba-tiba ini mulai terjadi dan menghapus fase skrip tidak memperbaikinya.
Pacu

1
Masalah yang sama di sini dengan Xcode 11.3.1 berjalan pada 10.15.2 (tanpa skrip). Jika saya mengklik "Lanjutkan", panel kanvas menghilang begitu saja, dan peringatan kembali ketika kanvas dibuka kembali. Saya menyerah pada SwiftUI dalam versi beta tahun lalu setelah menemukan terlalu banyak bug, kembali ke sana berpikir pasti itu akan berhasil sekarang, tetapi tidak. Alat tersebut adalah sampah lengkap dan tidak berfungsi sama sekali. Bahkan menciptakan proyek UI Swift yang baru dan bersih, proyek ini langsung rusak. Saya harap Apple memperbaiki bug yang mengerikan ini karena SwiftUI memiliki begitu banyak janji, tetapi hal itu meninggalkan rasa tidak enak di mulut pengembang. Mungkin Xcode 12 + 10.6.
Ben Stahl

Terima kasih atas petunjuknya, ini membantu. Tetapi harap dicatat bahwa ini dapat memengaruhi setiap skrip yang berjalan di setiap target yang akan dimuat dalam aplikasi Anda seperti ekstensi aplikasi dan aplikasi Tonton.
Koraktor

Terima kasih, saya mengalami masalah ini, tetapi itu adalah skrip versi yang berjalan dalam kerangka kerja tertanam yang kemudian akan menjeda pratinjau. Saya berada di jalur yang salah berpikir bahwa itu ada hubungannya dengan Core Data dan preview.
dlemex

3

Bagi saya, Canvas tidak berfungsi ketika saya memiliki Legacy Build System.

Anda dapat mengubahnya melalui,

File -> Pengaturan Workspace -> Build System -> Pilih "New Build System (Default).

Seperti dikatakan, itu adalah opsi default. Jika karena alasan apa pun sistem build Legacy dipilih, Canvas tidak akan berfungsi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.