Her iOS, macOS, watchOS ve VisionOS geliştiricisi yinelenen aynı kabusu paylaşır: Mac'inizde 5 GB'tan az disk alanı kaldığını belirten bir uyarıyla uyanmak. Herhangi bir oyun veya film indirmediniz; peki 512 GB SSD'niz nereye gitti? Vakaların %95'inde suçlu Xcode DerivedData ve derleme önbellekleri'dir.

Etkin derleme sırasında Xcode, ara nesne dosyaları, önceden derlenmiş başlıklar, indeksleme sembolü tabloları ve derleyici modülü önbellekleri oluşturur. Aylar boyunca farklı dallar ve bağımlılıklar oluşturulduktan sonra, bu klasörler asla kendi kendine budanmaz. 50 GB ile 100 GB arasındaki geliştirici disk alanını temiz ve güvenli bir şekilde nasıl geri kazanabileceğinizi burada bulabilirsiniz.

Xcode DerivedData ve Derleme Önbelleği Optimizasyonu
Apple Silicon'da ara yapı ürünlerini ve sembol grafiklerini güvenli bir şekilde temizleme.

Xcode'un Ağır Disk Önbelleklerini Gizlediği Yer

Xcode, geçici derleme ürünlerini ve destek dosyalarını beş ana dizine dağıtır:

  • DerivedData (~/Library/Developer/Xcode/DerivedData): Ara nesne dosyaları, dizin veritabanları ve derleme ürünleri. 20 GB–60 GB tüketir.
  • iOS DeviceSupport (~/Library/Developer/Xcode/iOS DeviceSupport): Şimdiye kadar taktığınız her fiziksel iPhone veya iPad'deki semboller. iOS sürümü başına 5 GB–15 GB tüketir.
  • Arşivler (~/Library/Developer/Xcode/Archives): Üretim App Store sürümleri oluşturulurken kaydedilen eski .xcarchive derlemeleri. Bir yılda 40 GB'ın üzerine çıkabilir.
  • Swift Paket Yöneticisi Önbelleği (~/Library/Caches/org.swift.swiftpm): SPM bağımlılıkları için klonlanmış git depoları ve derlenmiş ödeme ikili dosyaları.
  • XCTestDevices (~/Library/Developer/XCTestDevices): Paralelleştirilmiş test çalıştırmaları sırasında oluşturulan artık geçici simülatör klonları.

DerivedData'yı Silmek Güvenli mi?

Evet, kesinlikle. DerivedData %100 yenilenebilir. Bir sonraki proje açışınızda ve Cmd+B'ye bastığınızda, Xcode kodunuzu yeniden indeksleyecek ve gerekli nesne dosyalarını derleyecektir. Tek maliyeti, ilk çalıştırmada biraz daha uzun ilk oluşturma süresidir.

Terminal ve MagicMacCleaner Aracılığıyla Manuel Silme

Xcode'dan çıkıp şu komutu çalıştırarak DerivedData'yı manuel olarak silebilirsiniz: rm -rf ~/Library/Developer/Xcode/DerivedData/*. Ancak terminalin manuel olarak silinmesi, şu anda üzerinde çalıştığınız proje bile dahil olmak üzere tüm projelerinizi aynı anda siler.

MagicMacCleaner'ın özel Xcode Deep Clean modülü, her proje alt klasörünün değişiklik tarihini okuyarak bu sorunu çözer. Tek tıklamayla hareketsiz istemcileri ve eski depoları temizlerken aktif projelerinizi olduğu gibi korumanıza olanak tanır.

Mobil Geliştirici İş Akışı: Fiziksel Test iPhone'larında Depolama Alanını Boşaltın

Xcode önbelleklerini, simülatör çalışma zamanlarını ve derleme kapsayıcılarını temizlerken Mac'inizde hayati önem taşıyan alanı boşaltırken, fiziksel iOS test aygıtları hızla test derlemeleri, kilitlenme yapıları, tanılama ekranı kayıtları ve QA ekran görüntüleri ile tıkanır. Cihazda hızlı hata ayıklama ve güvenilir dağıtım için fiziksel test donanımınızı yalın tutmak çok önemlidir.

  • Açıkça Akıllı Depolama Temizleyici: Gigabayt ağırlıklı hata raporu ekran kayıtlarını sıkıştırır, mükerrer test ortamını algılar ve geliştirme ve kişisel iPhone'lardaki karmaşık kişileri düzenler.
  • Swipe Photo Cleaner: Zahmetsiz silme-silme hareketleriyle yüzlerce kullanıcı arayüzü test ekran görüntüsünü ve demo serilerini hızla inceleyin ve temizleyin.

Apple Ekosistemi Geliştirici İpucu: Cihaz Optimizasyonunu Test Edin

Bağlı iOS cihazlarındaki depolama alanının düşük olması, Xcode kablosuz dağıtım zaman aşımlarına ve LLDB hata ayıklama hatalarına neden olabilir. Düzenli cihaz içi medya temizliği, şifreli derleme dağıtım hatalarını önler.