İPhone Simulator önbelleğini temizlemenin dizinini silmekten daha hızlı / daha iyi bir yolu var mı?


95

Dolayısıyla, iOS geliştirme konusunda hala oldukça yeniyim ve kodumdan gerçekten çalıştırılacak şeyleri almak için kendimi düzenli olarak DerivedData veya iPhone Simulator dizininin içeriğini silmeye ihtiyaç duyduğumu görüyorum. Xcode'da temizle, bu dizinleri boşaltmakla aynı şeyi yapmaz, değil mi? Ve değilse, bunu yapmanın Finder'ı etrafta dolaştırıp onlara ulaşmaktan daha kolay bir yolu var mı?


3 yıl önce belki bu bir seçenek değildi, ama cevabımı kontrol et, benim için çalışıyor!
Adrian Florescu

Yanıtlar:


126

66:99 ve tırmanıyor:

Evet , şehirdeki her simülatöre girip içerikleri ve ayarları birer birer sıfırlamaktan daha iyi bir yol var. Ayrıca simülatörünüzün dizinine bakmaktan ve önbelleği ayaklarının altından çekmekten çok daha iyi .

İPhone Simulator'dan çıkın, ardından xcrunTerminal'de çalıştırın :

xcrun simctl erase all

Güvenli ve etkili.

Tek cihaz için https://stackoverflow.com/a/26394597/218152 adresine bakın

xcrun simctl silme [cihaz kimliği]


Yine de bu simülatörlerin kendisini siliyor mu? Böylece onları daha sonra Xcode'un Cihazlar ekranına yeniden eklemem gerekecek mi?
Luke

1
Sadece içerik. Belgelerden ( xcrun simctl help), sil : Bir aygıtın içeriğini ve ayarlarını silin. , silme ile karıştırılmamalıdır : Bir cihazı veya kullanılamayan tüm cihazları silin.
SwiftArchitect

Harika. Bunun ışığında doğru cevabımı değiştirmeye başladım :)
Luke

@lukech: Çok takdir edildi. HD'mde bellek kaydetmeye çalışırken bu çözüme rastladım ve bir clean build folderyaklaşım arıyordum . Ve bu soruyu aktif tuttuğunuz için size destek oluyor.
SwiftArchitect

Bu komutun çalışması sonsuza kadar sürer, uuid ile hedef sim nasıl seçilir?
the_prole

105

Gelen iOS Simülatörü menüsünden denilen seçeneği vardır Sıfırlama İçerik ve Ayarlar ...

Bu hile yapmalı.

DÜZENLE:

Bunu çok daha hızlı ve kolay hale getirmek için bunun gibi bir kısayol tuşu ekledim ...

Sistem Tercihlerinde Klavye'yi seçin

Klavye Sistem Tercihleri

Ardından Kısayollar sekmesini seçin . Ve Uygulama Kısayolları'nı tıklayın

Uygulama Kısayolları Başka bir kısayol eklemek için artı düğmesini tıklayın.

görüntü açıklamasını buraya girin Son olarak:

  1. TheChoose tıklayın Simülatörü gelen Başvurusu: açılır. Orada değilse, uygulama listesinin en altına gidin ve "Diğer ..." seçeneğini seçin. Ardından aramaya "simülatör" yazın ve Simülatörü oradan ekleyin.
  2. Tip Tümünü Sil İçeriği ve Ayarları ... içine : Menü Başlığı metin kutusu.
  3. İçine Tercih kısayol tuş Klavye kısayolu: . (Ben komut dönemi kullanıyorum)
  4. Click Ekle düğmesini.

görüntü açıklamasını buraya girin

Artık, iOS Simulator'unuzdayken, sıfırlamak için yeni kısayol tuşunuzu kullanabilirsiniz.


Simülatör açılır listede görünmüyorsa:

  1. Bir Finder penceresinde, Uygulamalar klasörünüze gidin.
  2. Xcode'a sağ tıklayın ve "Paket İçeriğini Göster" i seçin.
  3. Şu yöne rotayı ayarla Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/
  4. İPhone Simulator.app'i göreceksiniz.
  5. Şimdi, Ayarlar uygulamasında, eksik olan iOS Simülatörünü seçmek yerine Diğer ...
  6. Bu, Uygulamalar listesi içeren bir pencerenin görünmesine neden olacaktır.
  7. Şimdi, iPhone Simulator.app'yi Finder pencerenizden Diğer ... seçeneğine tıkladığınızda görünen pencereye sürükleyin.

İOS Simulator artık Uygulama açılır menüsünde görünmez. "XCode.app" i seçmeli miyim? İOS Simulator 6.0 ile OS 10.8.3 kullanıyorum.
potench

8
Bir bulucu penceresinde Uygulamalar klasörünüze gidin. Xcode'u Option tuşunu basılı tutarak tıklayın ve "Paket İçeriğini Göster" i seçin. Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/Klasöre gidin . Göreceksin iPhone Simulator.app. Şimdi, Ayarlar uygulamasında, iOS Simulatorhangisinin eksik olduğunu seçmek yerine, seçim yaparsınız Other.... Bu, Uygulamalar listesi içeren bir pencerenin görünmesine neden olacaktır. Şimdi, iPhone Simulator.appFinder pencerenizden tıkladığınızda görünen pencereye sürükleyin Other....
Jeff Wolski

1
Buraya başka bir şey aramak için geldim, ama adımlarınızı sırf cevabınız çok iyi olduğu için uyguladım. Teşekkürler!
kodybrown

1
Reset Content and Settingsbir VPN'deki istemci tarafındaki varlıkları temizlemez. CSS animasyonlarımın neden simülatör dışında her yerde çalıştığını merak ediyordum, sadece içeriği ve ayarları sildiğimde bile eski dosyaları önbelleğe aldığını öğrenmek için. Benim için işe yarayan tek şey, VPN'imle bağlantımı kesip sanal makinemi yeniden başlatmak ve ardından yeniden bağlanmaktı (benim için tüm varlıklarımın sürümlerini kullandığım çerçeve) - sadece bir şeyleri test ediyorsanız bunları manuel olarak da sürümlendirebilirsiniz, ancak bu can sıkıcı. Bu, Apple'ın düzeltmesi gereken bir şey; sadece benim için iOS için test yaparken oluyor.
Benny

3
Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/@JeffWolski'nin belirttiği gibi simülatörü yolda bulamazsanız, onu arama terimiyle arayabilirsinizsimulator.app
atulkhatri

9

İçin web iOS Simülatörü (Safari) üzerine geliştirme ve test:

  1. Hem iOS Simülatörü hem de Safari açıkken Safari> Geliştir> iOS Simülatörü'ne gidin ve Web Denetçisi araçlarına erişim sağlayacak sayfanızı seçin.

  2. İOS Safari'de önbelleği temizlemek için Safari> Geliştir> Önbellekleri Boşalt'a gidin.


@AdrianFlorescu bu, iOS Safari'de web geliştirmede hata ayıklamak için bir çözüm, ancak sorunun iOS uygulama geliştirmeyle ilgili olduğunu düşünüyorum.
Ryan

4
Uzaktan hata ayıklayıcı ile Safari 9.0.3 üzerinde çalışmaz. "Önbellekleri devre dışı bırak" ın da hiçbir etkisi yoktur.
Gamadril

1
Bu ayar benim için hiçbir şey yapmıyor (aslında mobil safaride önbelleği temizlemiyor)
HandiworkNYC.com

Evet. Görünüşe göre iOS önbelleğini artık temizlemiyor. Sanırım geçmişte de vardı ...
Yosh

1
bu çalışıyor gibi görünen tek çözümdür stackoverflow.com/a/51421939/1055015
Exlord
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.