Bagaimana cara menghapus dengan aman di direktori ~ / Library / Developer / Xcode / DerivedData saya?

90

Saya ingin menghapus data lama (dapat diganti?) Dan konten DerivedData sepertinya merupakan kandidat. Karena namanya DerivedData , saya berasumsi bahwa info itu, jika hilang, akan dihasilkan selama fase build dan jika ada, digunakan selama fase yang sama. Tampaknya logis bahwa saya dapat menghapus data proyek lama tanpa rasa takut dan jika saya harus membangun proyek lama itu, pertama kali melalui akan memakan waktu lebih lama dari sinus normal itu harus membuat ulang semua data yang diturunkan ini.

Apakah saya salah di sini?

soob
sumber
8
Berhati-hatilah karena seperti yang dijelaskan Joshua, folder berdarah itu berisi "data dSYM untuk debugging nanti. ... jangan hapus jika Anda ingin dapat men-debug versi aplikasi Anda"
Fattie
Mungkin saya harus menggunakan setiap trik markup SO selain penekanan untuk menyebutkan hal itu dalam jawaban saya. :-D Block-quote-star-slash-commented-code-bold-italic-bulleted-list, dll.
Joshua Nozzi
17
@JoeBlow sebenarnya, seperti yang dijelaskan Joshua, itu adalah direktori Arsip yang berisi "data dSYM untuk debugging nanti". Direktori Arsip adalah saudara dari direktori DerivedData , yang berarti berada pada level yang sama, di bawah ~/Library/Developer/Xcode, seperti DerivedData , jadi "folder berdarah itu" (DerivedData) TIDAK berisi data dSYM dan isinya dapat dihapus dengan aman.
mluisbrown
4
Setiap kali saya merilis versi baru, saya menyalin .xcarchive dari Xcode ke repo git saya dan menyimpannya di bawah kontrol versi - ini adalah cara yang baik untuk selalu bisa mendapatkan .dSYM lama tanpa bergantung pada direktori Xcode mesin tertentu.
Bill

Jawaban:

123

The data Berasal folder berisi semua informasi menengah membangun, debug- dan target rilis-dibangun, serta indeks proyek Anda. Sangat membantu untuk menghapus data turunan ketika Anda memiliki masalah indeks yang aneh (penyelesaian kode tidak berfungsi dengan benar, pengindeksan ulang yang konstan, atau bahkan hanya proyek yang lambat). Menghapus seluruh folder akan menghapus informasi ini untuk semua proyek yang diketahui oleh Xcode 4.

The Archives folder (saudara dari Berasal Data) mengandung bentuk arsip target Anda. Artinya, build rilis serta data dSYM untuk proses debug nanti. Ini tidak boleh Anda hapus jika Anda ingin dapat men-debug versi aplikasi Anda.

Anda dapat memasukkan data turunan untuk proyek tertentu dengan membuka jendela Organizer dan memilih tab Proyek. Pilih proyek yang diinginkan dan klik tombol Hapus di sebelah jalur Data Berasal. Ini lebih merupakan "serangan bedah" untuk proyek bermasalah.

Joshua Nozzi
sumber
1
Tentu. Pergi ke baris perintah dan ketik "man rm" - gila. :-)
Joshua Nozzi
9
Mendesah. Aku tahu rm. Saya ingin menemukan cara untuk menyelesaikan folder yang terhubung dengan proyek, misalnya ~/Library/Developer/Xcode/DerivedData/MyProject-hghjhjhkjh/. Cara termudah yang saya temukan adalah dengan mengatur folder DerivedData relatif ke folder proyek, melalui preferensi XCode.
asgoth
4
Sebagai catatan singkat: Di XCode 6.x , projectsberada di jendela mereka sendiri (bukan Penyelenggara).
Olie
1
Saya suka jargon militer Anda XD
Josh
1
FWIW banyak alat distribusi baru (AppCenter, HockeyApp, Crashlytics, dll) meminta Anda untuk menyerahkan file dSYM sehingga Anda tidak perlu menyimpannya sendiri.
Madu
38

Konten 'Data Turunan' dihasilkan selama waktu Build. Anda dapat menghapusnya dengan aman. Ikuti langkah-langkah di bawah ini untuk menghapus 'Derived Data':

  1. Pilih Xcode -> Preferensi ..

Langkah 1

  1. Ini akan membuka jendela pop-up. Pilih tab ' Lokasi '. Di sub-tab Lokasi Anda dapat melihat ' Data Berasal ' Klik ikon panah di sebelah jalur.

Langkah 2

  1. Ini akan membuka folder yang berisi 'Derived Data' Klik kanan dan Hapus folder.

LANGKAH 3

Jayprakash Dubey
sumber
Jadi, ketika aplikasi saya dalam simulator tetapi tidak berjalan dari kode dan jika saya menghapus dan kemudian menjalankan lagi dari kode, apakah itu akan menimbulkan masalah?
Manthan
@Manthan: Tidak, itu tidak akan menimbulkan masalah apa pun.
Jayprakash Dubey
30

Ya, data tersebut dihasilkan selama waktu pembuatan dan Anda dapat menghapusnya jika Anda mau, itu bukan masalah.

Ini akan dibuat ulang saat Anda membangunnya lagi.

amrit_neo
sumber