Xcode bütün yerimi kaplıyor
Çalışan bir Mac'te yirmi ila altmış gigabayt, altı klasöre yayılmış ve hiçbirini Xcode kendiliğinden temizlemiyor. İşte her biri: ne işe yarar ve silebilir misiniz.
14 gün ücretsiz deneme, kart gerekmez. Ardından 3 bilgisayar için tek seferlik 15 dolar.

Önce ölçün
Tek bir komut, toplamın Xcode'un klasörleri arasında nasıl dağıldığını söyler; böylece hangisinin peşine düşeceğinizi bilirsiniz:
du -sh ~/Library/Developer/Xcode/* ~/Library/Developer/CoreSimulator 2>/dev/null | sort -h
Altı klasör
DerivedData — genelde en büyüğü · silmesi güvenli
Derleme ara dosyaları, dizinler ve modül önbellekleri; proje başına bir klasör ve çoktan sildiğiniz projeler dâhil sonsuza dek saklanır.
~/Library/Developer/Xcode/DerivedData
Silmenin bedeli yavaş bir yeniden derlemedir, başka bir şey değil. Ayrıca Xcode tuhaf davrandığında standart çözümdür; her iOS geliştiricisinin bu yolu ezbere bilmesinin nedeni budur.
iOS DeviceSupport — büyük · silmesi güvenli
Şimdiye kadar bağladığınız her fiziksel aygıttan kopyalanan sembol önbellekleri; iOS sürümü başına bir klasör. Her biri birkaç gigabayt ve artık sahip olmadığınız telefonlar için birikiyorlar.
~/Library/Developer/Xcode/iOS DeviceSupport
O iOS sürümünü çalıştıran bir aygıtı bir dahaki sefere taktığınızda Xcode bunları yeniden kopyalar — ilk bağlantı yavaş olur, başka bir bedeli yoktur.
CoreSimulator aygıtları — büyük · çoğunlukla güvenli
Her simüle edilen aygıtın kendi dosya sistemi vardır ve bunlar asla geri kazanılmaz. Veritabanı tutarlı kalsın diye klasörleri silmek yerine Xcode'un kendi komutunu kullanın:
xcrun simctl delete unavailable
Daha ileri gitmek için xcrun simctl delete all her simülatör aygıtını kaldırır. Simülatör çalışma ortamlarının kendisi ise şurada yönetilir: Xcode → Ayarlar → Bileşenler.
Arşivler — küçük ama yeri doldurulamaz · saklayın
Şimdiye kadar yayımladığınız her derleme, dSYM hata ayıklama sembolleriyle birlikte.
~/Library/Developer/Xcode/Archives
Dokunmamanız gereken klasör bu. Yayımlanmış bir derlemenin dSYM'i olmadan, onu kullanan kullanıcılardan gelen çökme raporlarını sembolleştiremezsiniz — yığın izleri sonsuza dek onaltılık adresler olarak kalır. Buradan yer açmak zorundaysanız, hâlâ kullanımda olan her sürümün arşivini saklayın.
Ve bir sonraki iOS sürümünden sonra yine
DerivedData derleme yaptığınız gün geri gelir, DeviceSupport taktığınız her aygıtla büyür; yani bu bir çözümden çok bir angaryadır. Bytesweep altı klasörü tek geçişte bulur, Arşivleri süpürmek yerine incelenmek üzere işaretli tutar ve her temizliği yedi gün boyunca geri alır — yanlış projeyi temizlediğiniz gün bunun önemi büyüktür.
Swift Package Manager önbelleği — silmesi güvenli
Klonlanmış bağımlılık depoları; talep üzerine yeniden çekilir.
~/Library/Caches/org.swift.swiftpm
Eski simülatör çalışma ortamları ve eski Xcode sürümleri — dikkatle güvenli
Önceki bir Xcode.app tek başına 15 GB, çalışma ortamları da birkaç GB daha. Eski bir proje için hâlâ ihtiyacınız olan sürümü tutun; gerisini Finder üzerinden silin, sonra ilişkili çalışma ortamlarını Ayarlar → Bileşenler'den kaldırın.
Bunu aşağıda tutan iki alışkanlık
DerivedData'yı toptan değil, proje bazında silin
Her alt klasörün adı bir projeden gelir. Klasörün tamamını temizlemek, üzerinde çalıştığınız her şeyin yeniden derlenmesini zorunlu kılar; geçen yıl bitirdiğiniz projelere ait olanları temizlemenin ise hiçbir bedeli yoktur.
Her iOS sürümünden sonra DeviceSupport'u kontrol edin
Bağladığınız her aygıtta, her iOS derlemesi için bir klasör eklenir; bu yüzden yıl boyunca sessizce tırmanır. Her eylül iki dakika, onun 30 GB olmasını önler.
Altısını birden bulun
Bytesweep her Xcode klasörünü adıyla saptar, boyutunu gösterir ve Arşivleri süpürmeye uygun değil, incelenmeye değer olarak işaretler. Temizlediğiniz her şey bir geri yükleme noktasına gider, böylece geri alma yedi gün boyunca tek tıktır.
İlgili: Docker disk space · tam Mac listesi
Sorular
DerivedData'yı silmek güvenli mi?
Evet. Tamamen kaynağınızdan türetilmiştir; adı da bu anlama gelir. Tek bedeli, etkilenen her projenin bir sonraki derlemesinin tam derleme olmasıdır.
DeviceSupport'u silmek telefonumda hata ayıklamayı bozar mı?
Hayır. O iOS sürümünü çalıştıran bir aygıtı bir dahaki sefere bağladığınızda Xcode sembolleri yeniden kopyalar. Sonraki ilk bağlantı birkaç dakika daha uzun sürer.
Xcode Arşivlerini silebilir miyim?
Silebilirsiniz ama önce düşünün. Arşivler yayımladığınız derlemelerin dSYM dosyalarını tutar ve onlar olmadan o sürümlerden gelen çökme raporları sembolleştirilemez. Hâlâ kullanıcıların elinde olan her şeyi saklayın; eski beta sürümlerini gönül rahatlığıyla silin.
Xcode.app'in kendisi neden bu kadar büyük?
Yaklaşık 15 GB; çünkü Apple'ın desteklediği her platform için araç zincirlerini, SDK'ları ve simülatör çalışma ortamlarını içerir. Kullanmadığınız simülatör çalışma ortamlarını Xcode → Ayarlar → Bileşenler'den kaldırabilirsiniz, ama uygulama paketinin kendisi olduğu gibidir.
Xcode bunların herhangi birini otomatik temizler mi?
Hayır. Bu klasörlerin hiçbirinde boyut sınırı ya da son kullanma süresi yoktur. Bu sayfanın var olma nedeni tam olarak budur.