iOS

2012-05-25 13 views
11

üzerinde birden fazla kilitli muhabir kullanın. Kilitlenme muhabirimiz olarak TestFlightLive'u başarıyla kullanıyoruz, ancak bazı özelliklerin eksik olduğunu düşünüyorum. Bu eksik özellikler başka bir çöküş muhabiri içindedir: Crashlytics, ancak şu andan itibaren çöküş muhabirlerini tamamen değiştirmek için willig değilim. Bu yüzden, bu iki kaza habercisini tek bir uygulamada birlikte kullanmanın mümkün olup olmadığını merak ediyorum (gelecekte uygulama mağazasında olması gerekir).iOS

+0

bunu kontrol edin. : http://www.grahamdennis.me/blog/2012/10/21/how-to-disable-testflights-crash-handlers/ – HelmiB

cevap

17

Hem TestFlight hem de Crashlytics'i birlikte çalıştırıyorum ve her ikisi de hataları iyi bildiriyor. Yukarıdaki Jens Kohl gibi, TestFlight SDK'sı başlatıldıktan sonra dahil edilmelidir. İşte benim kodum:

#ifdef DEBUG 
    // setup testflight if in debug (ie dev) mode 
    [TestFlight takeOff:kTestFlightAPIKey]; 
#endif 

    [Crashlytics startWithAPIKey:kCrashlyticsAPIKey]; 
+1

Not: Bu, birlikte bu iki ile çalışır. Birden fazla 3. parti çöküş muhabirinin herhangi bir kombinasyonu ile çalışmayacak. Bazı kilitlenme raporlarının yakalanan istisnaları veya diğer kilitlenmeleri başka bir örneğe iletmediği ve bu nedenle diğer raporun herhangi bir şey ya da yararlı bir şey bildirmediği birçok durum gördük. – Kerni

+2

Bir saniye bekleyin. TestFlight DEBUG #ifdef içinde olduğu için, sadece Crashlytics'i üretimde kullanıyorsunuz, değil mi? – elsurudo

+0

Yup, bu, TestFlight'ın üretimde çalıştırılmasından önce geri döndü. TestFlight'ı her zaman çalıştırmak istiyorsanız, sadece ifdef'den çıkarın. –

3

Yalnızca bir kilitlenme raporlama çerçevesi kullanabilirsiniz. Kilitlenmeyi yakalayan çerçeve, iş parçacığı üzerinde yeni bir kod yürütüldüğünden, diğer çerçevenin onu yakalamasına ya da yanlış veri almasına izin vermez.

+1

Crashlytics desteği, yalnızca son kilitlenme raporlama araç takımı olarak adlandırılmaları gerektiğini ve Crashlytics'in yanında başka bir çarpışma muhabiri kullanırken şu ana kadar hiç sorun yaşamadık. Bir deneyeceğim ama yine de teşekkürler. –

+1

Çarpışma muhabirleri temelde çoğu sınıfın yeniden adlandırıldığı PLCrashReporter'tır. Ve PLCrashReporter, tüm veriler toplandıktan sonra uygulamanın çökmesine izin verir. Yani bu son olmasının bir sebebi. Ancak ne tür bir çarpışma muhabirinin daha önce çalışmasına bağlı olarak, Objective-C kodunun kendileri, sadece güvensiz değiller (http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.html). çağrı, kilitlenen dişler üzerinde yığılır. Bu yüzden işe yarayabilir, ancak genel olarak çalıştığını söylemek güvenli değildir. Her iki raporun sonuçları yanlış bir şekilde farklı olabilir. – Kerni