2015-07-05 15 views
5

DYYM dosyalarının, uygulama deposu için uygulamanızın son sürümünü oluştururken sahip olmaları yararlıdır, çünkü bunlar, kilitlenme günlüğünü sembolize etmek için kullanılan hata ayıklama sembollerine sahip olacaklardır.Geliştirme sırasında dSYM dosyaları gerekli mi?

Soru, geliştirme süresi içinde gerekliyse sorudur. Bunu soruyorum çünkü bunları zaman kaybını% 75 oranında devre dışı bırakarak.

+0

Hata ayıklayıcıyı kullanıyor musunuz? – zaph

+0

neden? Şu anda onları devre dışı bıraktım ve hala hata ayıklayıcıyı kullanabiliyorum. – SpaceDog

+0

Sanırım farklı bir şeye bakıyordum. Hangi ortamı değiştirdiğini merak ediyor musun? – zaph

cevap

9

Öncelikle karışıklıklardan kaçınmak için: Yeni iOS projeleri için Hata Ayıklama yapılandırmasının varsayılan hata ayıklama bilgisi biçimi "dSYM dosyasıyla DWARF", ancak yeni OS X projeleri için yalnızca "DWARF".

Bu bölümün bir kısmı tarihseldir, ancak şu anda iOS ayarı hala "dSYM dosyası ile DWARF" şeklindedir; yalnızca Xcode'un iOS aygıtlarından kopyalandıkça kilitlenme günlüklerini belirten bölümü bu amaçla dSYM kullanır. Dolayısıyla, Geliştirme yapınızı cihazınıza indirmeyi test etmeyi planlıyorsanız ve daha sonra hata ayıklayıcının dışına parmağınızı başlatarak ve egzersiz yaparak gerçekleştiriyorsanız, dSYM'e sahip olmak, karşılaştığınız tüm kilitleri anlamak için kullanışlıdır. Hata ayıklayıcı altında çalışıyorsanız, elbette, yalnızca kilitlenme noktasında duracak, dolayısıyla bir kilitlenme raporunu sembolize etmeniz gerekmez.

Bunun dışında, iOS için DWARF'e geçiş yapan hiçbir şeyi kaybetmediğinizi düşünmüyorum. Ve SpaceDog'un belirttiği gibi, hata ayıklayıcının DWARF'ın neye ihtiyaç duyduğunu nasıl bildiğini bildiğinden, zamanın dönmesini hızlandırıyor, oysa dSYM oluşturma aracı (dsymutil) & hepsini yeniden yazmalıdır.

Elbette, Sürüm Oluşturma işlemini yaptığınızda & hata ayıklama bilgisini arşivlemek istersiniz - bu dSYM'nin tüm noktasıdır, aksi halde hata ayıklama bilgileri (.o dosyalarında bulunan) ile birlikte silinir. Diğer ara ürün ürünleri ve yayınlanan uygulamanızda gerçekleşen kilitlenmeleri sembolleştiremezsiniz.

+0

Hata ayıklama bilgisinin bir dosyada yer aldığını gördüm, dSYM sadece dosyayı buradan çıkartır, bu doğru mu? – Karl

+0

Çoğunlukla doğrudur, ancak .o dosyasından dSYM'ye basit bir kopya değildir. Bağlayıcı, ikili bir görüntü oluşturduğunda, işlevleri .o dosyalarındaki ve ölü kod şeridindeki gibi yeniden sıralayabilir. Bu dönüşümlerle ilgili bilgiler, ikilideki "hata ayıklama eşlemesinde" yazılır. dsymutil, dSYM'yi kopyaladığı için .o dosyası hata ayıklama bilgilerini "bağlamak" için bu hata ayıklama haritasını kullanır. –

+0

harika cevap! teşekkürler.Bir cihaza bir versiyon indirmek ve "parmak lansmanı" yapmak istediğimizde (QA'nın çoğu zaman yaptığı gibi), yine de bir Sürüm oluşturma işlemini gerçekleştiriyoruz - buna DSYM'imiz var. –

2

Sadece DWARF'ı geliştirme için ve dSYM ile DWARF'ı yayınlamak istiyorsunuz.

yeni bir proje Ayrıca, bu SO Answer Bkz bu yapılandırma>

enter image description here

öndeğer olarak gelir.

+0

soru şu: Apple, bu dSYM ile Xcode'u geliştirme için açıldı ... – SpaceDog

İlgili konular