2012-05-25 7 views
11

Utilizamos con éxito TestFlightLive como nuestro informe de fallos, pero creo que faltan algunas características. Estas características faltantes están en otro reportero de bloqueos: Crashlytics, pero a partir de ahora no estoy dispuesto a cambiar por completo los reporteros bloqueados. Así que me pregunto si es posible usar estos dos reporteros bloqueados juntos en una aplicación (que está destinada a estar en la tienda de aplicaciones en el futuro).Usar reportero de bloque múltiple en iOS

+0

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

Respuesta

17

Ejecuto TestFlight y Crashlytics juntos y ambos informan errores bien. Al igual que Jens Kohl dice más arriba, debe incluirse después de inicializar el TestFlight SDK. Aquí está mi código:

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

    [Crashlytics startWithAPIKey:kCrashlyticsAPIKey]; 
+1

Nota: Esto funciona con estos dos en combinación. No funcionará con ninguna combinación de varios reporteros de bloqueo de terceros. Hemos visto casos múltiples en los que algunos informes de fallos no reenvían las excepciones atrapadas u otros bloqueos a otra instancia y, por lo tanto, el otro informe no informará nada ni nada útil. – Kerni

+2

Espera un segundo. Debido a que TestFlight está en DEPART # ifdef, solo está usando Crashlytics en producción, ¿no? – elsurudo

+0

Sí, esto fue antes de que TestFlight fuera ejecutado en producción. Si desea ejecutar TestFlight todo el tiempo, simplemente desenvuélvalo del ifdef. –

3

Solo puede usar 1 marco de informes de fallos. El marco que atrapa el bloqueo permite que el otro marco no lo capte o reciba datos incorrectos ya que ya se ejecutó un nuevo código en el hilo.

+1

El soporte de Crashlytics respondió que solo necesitan ser el último kit de herramientas de informes de fallos y que no tiene ningún problema hasta ahora cuando se usa otro reportero de bloqueos junto con Crashlytics. Lo probaré, pero gracias de todos modos. –

+1

Su reportero de fallos es básicamente PLCrashReporter con la mayoría de las clases renombradas. Y PLCrashReporter deja que la aplicación se cuelgue una vez que se recopilan todos los datos. Entonces esa es una razón por la cual tiene que ser la última. Pero dependiendo de qué tipo de informe de fallos se ejecute antes, ejecutar el código Objective-C ellos mismos, que no solo es inseguro (http://landonf.bikemonkey.org/code/objc/Reliable_Crash_Reporting.20110912.html), sino que también altera las pilas de llamadas en los hilos que se cuelgan. Entonces puede funcionar, pero no es seguro decir que funciona en general. Los resultados de ambos informes pueden ser muy diferentes e inexactos. – Kerni

Cuestiones relacionadas