2012-05-25 3 views
11

Utilizziamo con successo TestFlightLive come nostro reporter di crash, ma penso che alcune funzionalità siano mancanti. Queste funzionalità mancanti si trovano in un altro reporter di crash: Crashlytics, ma al momento non sono più in grado di cambiare completamente i segnalatori di crash. Quindi mi chiedo se sia possibile utilizzare questi due segnalatori di crash insieme in un'unica app (che è destinata a essere nell'app store in futuro).Utilizza più cronisti di crash su iOS

+0

controllare questo fuori. : http://www.grahamdennis.me/blog/2012/10/21/how-to-disable-testflights-crash-handlers/ – HelmiB

risposta

17

Eseguo insieme TestFlight e Crashlytics ed entrambi riportano errori. Come sopra Jens Kohl, deve essere incluso dopo l'inizializzazione di TestFlight SDK. Ecco il mio codice:

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

    [Crashlytics startWithAPIKey:kCrashlyticsAPIKey]; 
+1

Nota: Funziona con questi due in combinazione. Non funzionerà con nessuna combinazione di più segnalatori di crash di terze parti. Abbiamo visto più casi in cui alcuni rapporti di arresto anomalo non inoltrano le eccezioni rilevate o altri arresti anomali a un'altra istanza e quindi l'altro report non segnalerà nulla o nulla di utile. – Kerni

+2

Aspetta un secondo. Poiché TestFlight si trova nel DEBUG #ifdef, stai usando solo Crashlytics in produzione, no? – elsurudo

+0

Sì, questo era tornato prima che TestFlight fosse pensato per funzionare in produzione. Se vuoi eseguire TestFlight tutto il tempo, basta scartarlo da ifdef. –

3

È possibile utilizzare solo 1 framework di segnalazione degli arresti anomali. Il framework che cattura il crash consente all'altra struttura di non prenderlo o di ottenere dati errati poiché sul thread è già stato eseguito un nuovo codice.

+1

Il supporto Crashlytics ha risposto che deve essere solo l'ultimo toolkit di segnalazione degli arresti anomali chiamato e non ho avuto problemi fino ad ora quando si utilizza un altro reporter di crash insieme a Crashlytics. Ci proverò, ma grazie comunque. –

+1

Il loro reporter di crash è fondamentalmente PLCrashReporter con la maggior parte delle classi rinominate. E PLCrashReporter interrompe l'app dopo aver raccolto tutti i dati. Quindi questa è una delle ragioni per cui deve essere l'ultima. Ma a seconda di quale tipo di cronisti di incidenti vengono eseguiti prima, esegui il codice Objective-C, che non è solo non sicuro (http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.html), ma altera anche la chiamata si impila sui thread che si bloccano. Quindi può funzionare, ma non è sicuro dire che funziona in generale. I risultati di entrambi i report possono essere molto diversi e imprecisi. – Kerni