Xcode terus membuat storyboard setelah setiap kali tombol ditekan

145

Proyek Xcode saya menggunakan storyboard masuk dalam keadaan yang sangat aneh baru-baru ini: Xcode terus membangun seluruh proyek dan terutama storyboard setelah setiap penekanan tombol . Saya tidak menemukan alasan untuk perilaku ini baik dalam proyek saya membedakan semua file yang menarik (storyboard dan proyek) maupun pengaturan di Xcode (mungkin saya tidak bisa menemukannya?) Tidak perlu dikatakan bahwa "fitur" ini membuat bekerja pada proyek saya hampir tidak mungkin karena CPU terus-menerus sibuk membangun kembali storyboard ketika saya mengetik kode baru. Adakah yang melihat ini?

MrTJ
sumber

Jawaban:

415

Ini disebabkan oleh IB_DESIGNABLEdefinisi dalam file header sumber. Mungkin itu membuat masalah hanya jika file header yang berisi IB_DESIGNABLEdimasukkan (bahkan secara implisit) ke file sumber yang sedang Anda edit.

Saya tidak menemukan solusi pasti bagaimana cara menonaktifkan IB_DESIGNABLEdan dengan demikian menyusun storyboard dan file sumber secara terus menerus. Saya akan menghargai bendera Xcode untuk menonaktifkan ini sementara. Saya mencoba juga mengelilinginya IB_DESIGNABLEdengan #ifdefmakro tetapi mereka dianggap bahkan jika #ifdefdinilai salah. Mengomentari satu per satu IB_DESIGNABLEbantuan tetapi itu bukan solusi yang layak dengan banyak IB_DESIGNABLEs.

Memperbarui

Saya akhirnya menemukan cara cepat untuk menghindari perilaku menjengkelkan ini. Setelah storyboard dibuka di jendela aktif, nonaktifkan "Refresh Tampilan Secara Otomatis" dari menu Editor. Ini akan berhenti memperbarui pandangan di editor storyboard yang menggunakan kode khusus Anda dan dengan demikian mempercepat pengembangan Anda secara signifikan. Ketika Anda membutuhkan lagi kompilasi just-in-time untuk memiliki pratinjau visual dari kode kustom Anda, aktifkan opsi ini lagi (sepertinya Anda juga harus membuka kembali storyboard Anda untuk membuatnya berfungsi kembali).

masukkan deskripsi gambar di sini

Anda mungkin ingin menambahkan kunci yang mengikat pada perintah, seperti perintah-opsi-kontrol-A, untuk dengan mudah mengaktifkan / menonaktifkan perilaku. Untuk menambahkan ikatan kunci dalam Xcode, sentuh koma-perintah untuk preferensi, pilih tab Binding Kunci, gunakan bilah pencarian untuk menemukan perintah, lalu klik dua kali pada area yang tepat untuk menambahkan keystroke yang Anda inginkan.

Pendekatan "Biarkan saja"

Matikan "Refresh Tampilan Secara Otomatis" secara bergantian, dan jangan pernah nyalakan .

Buat penekanan tombol yang nyaman untuk "Refresh semua tampilan" , katakan perintah-opsi-shift-R

masukkan deskripsi gambar di sini

Saat Anda bekerja, cukup sentuh command-option-shift-R dari waktu ke waktu, atau sesuai kebutuhan. Biasanya hanya perlu menyentuh perintah-opsi-shift-R saat Anda bekerja di storyboard.

MrTJ
sumber
10
Tidak yakin bagaimana itu dihidupkan, tetapi mematikan "Automatically Refresh Views" memecahkan masalah saya
MandisaW
1
Xcode 7.3 terus membangun proyek ketika editor aktif membuka storyboard. Untungnya jawaban ini menyelesaikan masalah saya. Apple terus membuat saya terkesan ...
Oleksii Taran
24
Masalah Xcode Version 8.2.1 (8C1002) terpecahkan. Ketika saya menemukan jawaban ini dan itu menyelesaikan masalah saya, saya tidak bisa menghentikan air mata saya. Saya menghabiskan 2 hari dalam mimpi menghapus data turunan, proyek pembersihan, menginstal ulang semua pod. (Saya pikir ini saatnya untuk apel, berikan semua pengembangan IDE ke Jetbrains. Apel yang melakukan itu hanya omong kosong! Terima kasih!
korgx9
2
Terima kasih banyak, xcode terus membangun benar-benar membuat saya merasa kesal.
Chauyan
8
Solusi ini juga berfungsi pada Xcode 9. Alihkan dari "Secara Otomatis Refresh Tampilan" di Storyboard, dan tidak ada pembangunan kembali yang lebih konstan. Terima kasih banyak!
PL
7

Saya memiliki masalah ini dan jawaban yang diterima tidak berhasil untuk saya.

Masalah yang saya miliki adalah bahwa saya selalu membuka storyboard di tabnya sendiri di dalam XCode sehingga saya dapat mengaksesnya dengan cepat.

Satu-satunya cara saya bisa memperbaikinya adalah dengan menutup tab itu atau memilih file yang berbeda (seperti file kode normal) dan kemudian tutup dan buka kembali XCode. Setelah itu tidak lagi membangun kembali pada setiap penekanan tombol.

Namun berhati-hatilah jika Anda perlu membuka storyboard untuk membuat perubahan maka masalah ini terkadang muncul kembali dan saya harus mengulangi proses di atas.

Tidak bisa menunggu sampai Apple memperbaikinya karena ini memang sangat membuat frustrasi!

(ノ ಠ 益 ಠ) ノ 彡 ┻━┻

Nick Kirsten
sumber