Xcode'daki Sembol Dosyalarını İşleme


285

Kimse bana Xcode aslında ne yaptığını söyleyebilirdi merak ediyordum: Cihazınızı taktıktan sonra "Sembol Dosyaları İşleme"?

Ekran görüntüsü


Oldukça uzun bir süre beklemek zorunda kaldım ... 30 dakika kadar sonra cihazda konuşlandırma başarılı oldu. Belki Mac'in cihazı tanıması zaman alıyor.
Jayprakash Dubey

Yanıtlar:


263

Cihazdaki (hata ayıklama) simgelerini indirir, bu nedenle söz konusu iOS sürümüne sahip cihazlarda hata ayıklamak ve ayrıca iOS sürümünde meydana gelen kilitlenme raporlarını sembolize etmek mümkün olur.

Semboller CPU'ya özgü olduğundan, yukarıdaki yalnızca sembolleri yalnızca belirli bir iOS cihazı için değil, aynı zamanda belirli bir CPU tipi için içe aktardıysanız çalışır. Şu anda gerekli olan CPU türleri armv7 (örneğin iPhone 4, iPhone 4s), armv7'ler (örneğin iPhone 5) ve arm64'tür (örneğin iPhone 5'ler).

Bu nedenle, armv7'lere sahip bir iPhone 5'te meydana gelen bir kilitlenme raporunu sembolize etmek ve yalnızca söz konusu iOS sürümü için sadece armv7 sembollerine sahip olmak istiyorsanız, Xcode kilitlenme raporunu (tam olarak) simgeleyemez.


19
Son zamanlarda Xcode'un iPad2 veya iPhone4'lerimdeki sembol dosyalarını işlemeyeceğini buldum. Her zaman yarım saat sonra durur ve asla tamamlanmaz, yarım saat sonra bile. Sonunda işe başladım ... tamamen yeni bir konektör kablosunu çıkararak ve doğrudan Mac Mini'ye bağlayarak (daha önce bir uzatma kablosuyla takılmıştım). Kötü bağlantının GERÇEKTEN sembol güncellemeleriyle uğraştığı sonucuna vardım.
Kül

5
Öyleyse neden bu sembolleri xcode dağıtımı ile gruplandırmıyorsunuz? Neden bunları cihazdan ayıklamakta zorlanıyorsunuz?
Matthew Exon

3
Tüm mimariler için semboller (iOS) sürümü başına 1 GB'den daha büyüktür ve her hata düzeltme sürümü için her zaman bir Xcode güncellemesi yoktur. Xcode yalnızca API güncellemeleri / değişiklikleriyle güncellenmektedir.
Kerni

@VladimirDespotovic Burada neyi çözmek istiyorsun? Bu sorun değil. Hata ayıklayıcı bu verilere ihtiyaç duyduğundan ve kilitlenme sembolü için bu da gereklidir. Soru da bir sorun belirtmedi.
Kerni

36

Xcode Sürüm 6.1.1'de (6A2008a), "Sembol Dosyalarının İşlenmesi" sonrasında, ~ / Library / Developer / Xcode / iOS DeviceSupport / dizininde cihazla ilişkili sembolleri (iOS sürümü ve CPU türü dahil) içeren bir klasör oluşturuldu:

resim açıklamasını buraya girin


6
null (null) içinde neydi?
Anton Tropashko

6
@AntonTropashko (null) ((null))aslında.
Alejandro Iván

6
Benim durumumda, "(null) ((null))" içerdi ... hiçbir şey!
Sjakelien

7
Sym Dosyaları gerektiğinde indirildiğinden, bu konumdaki tüm klasörlerin çoğunu çöpe attım. SSD'mde 24 konserden fazla serbest kaldı!
Sjakelien

@Sjakelien Folder iyi etiketlenmiş
Brad Thomas

19

xCode sadece tüm çökme günlüklerini kopyalayın. Hızlandırmak istiyorsanız: analiz ettikten sonra kilitlenme raporlarının sayısını doğrudan bu pencereden silin.

Devices -> View Device Logs -> All Logs

ekran görüntüsü


@QLiu Elbette. Hata gibi görünüyor veya günlükler beklenenden daha büyük.
WINSergey

Bu günlüklere nasıl erişilir? (XCode ile 0 deneyimim var)
Ben

@Ben Window -> Cihazlar -> Sol taraftan cihazınızı seçin -> bitti
WINSergey

4

Benim durumumda simgeleme sonsuza dek sürdü. Telefonumu hem açma / kapama hem de ev düğmesi ile yeniden başlatmaya zorlarım. Şimdi hızlı bir şekilde simgelemeyi bitirdim ve uygulamamı xcode ile çalıştırmaya başlıyorum.


1

Bunun teknik bir çözüm olmadığını biliyorum, ancak iphone'umu kabloyla bilgisayara bağladım ve cihazı bilgisayardan ayırıp tekrar bağladım (tekrar kabloyla) benim için çalıştı çünkü çözümler ile çözemedim önceden sağlanmıştır.


Bu şanslı bir zamanlama olabilir ... veya yaptığınız diğer eylemlere gecikmeli bir tepki olabilir. Bağlantıyı kestim ve yeniden bağlandım ve bitene kadar bu moda geri döndü.
Paul Masri-Stone

0

Cihazınızdan alınan kilitlenme günlüklerini, kodunuzda kilitlenmenin nerede oluştuğunu almak için uygulamalarınızın arşivlenmiş (doğru olarak sembolize edildi) sürümüyle karşılaştırır.

Bak xcode sembol dosya konumu detayları için


0

Can sıkıcı hata. Kabloyu doğrudan iPad'e takarak çözdüm. Apple'ın doğrudan geçiş standında iPad olsaydım, işlem asla bitmeyecekti.


3
Bu bir hatadır çünkü standda olsaydım ASLA tamamlanmazdı.
GoldenJoe

2
Cevabın kötü ifade edildiğini biliyorum, ancak usb hub başka bir görev için iyi çalışmasına rağmen, doğrudan benim için çözülmüş usb bağlantı noktasına bağlanmak benim için
doğruydu

0

SDK sürümünü iPhone iPhone'unuza uygun olarak ekleyin, örneğin: iOS 10.3

yol:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport


İndiriyor. Tamamlandığında, sorun değil. Şekilde gösterildiği gibi:

resim açıklamasını buraya girin

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.