crashlytics log non fatal ios
Crashlytics no está enviando el informe de Crash desde iPhone (17)
¿Ha intentado ejecutar [[Crashlytics sharedInstance] crash]
en un dispositivo y ver si se informa? Hay algunas razones por las que Crashlytics podría no funcionar, incluidos otros reporteros de fallos, etc.
He configurado los Crashlytics en mi única aplicación de iOS e instalé la aplicación en un dispositivo real. Mi Crashlytics Dashboard lo muestra, he agregado exitosamente la aplicación. Sin embargo, no está enviando informe de bloqueo. Mi velocidad de internet no es tan buena. Pero puedo revisar mis correos electrónicos desde este dispositivo. ¿Alguien puede adivinar, ¿dónde está el problema?
A veces, los registros tardan un poco en aparecer. Soy capaz de encontrarlos después de 15-20 minutos
Asegúrate de no forzar el choque demasiado pronto.
Establezca [Crashlytics sharedInstance].debugMode
en YES
;
Pendiente de
Crashlytics] Settings loaded
en los registros de la consola Xcode.
A continuación, fuerce el bloqueo y reinicie la aplicación, y el bloqueo se informará ahora.
Crashlytics trabaja para mí hasta ahora. No sé por qué pero ahora no funciona.
Debes activar el modo debug por
[Crashlytics sharedInstance].debugMode = YES;
Mi problema está aquí Código de error de Crashlytics: 202 al enviar archivos :(
Desde el sitio RayWenderlich:
¡No recibirás ningún informe de bloqueo si Xcode intercepta el evento de bloqueo! Para hacer que todos los ejemplos a continuación funcionen, debe compilar y ejecutar la aplicación, luego hacer clic en el botón de parada en Xcode. De esta manera tendrás la última versión instalada en el dispositivo. Una vez hecho esto, puede iniciar la aplicación en el propio dispositivo y luego bloquearla todo lo que desee. Todos los fallos en su dispositivo iOS se detectarán y se enviarán al componente del servidor del servicio que ha integrado en la aplicación. Los informes de errores generalmente se envían al servidor la próxima vez que inicie la aplicación, por lo que los pasos a seguir para generar un informe de errores en el servidor son los siguientes: Cree y ejecute en Xcode. Pulse el botón de parada. Ejecuta la aplicación en tu dispositivo iOS. Hacer que la aplicación se bloquee. Ejecutar la aplicación de nuevo.
El depurador de Xcode NO permite que Crashlytics procese informes de fallas. Sí, eso me parece extraño incluso cuando leo esa primera vez, pero es un hecho ( Source ). Esa es la razón por la que nunca vemos el reporte de fallas cuando:
- ejecutando la aplicación en simulador
- ejecutando la aplicación en iDevice directamente compilando y ejecutando desde Xcode con el depurador activado.
Para asegurarse de que se informa de un fallo durante sus pruebas ( Source ):
1. Ejecutar simulador.
2. Presione detener
3. Inicie su aplicación y forzar un choque
4. Relanzar la aplicación desde el simulador.
5. Ver el informe de fallos en el panel web.
EDITAR:
Se agregó una referencia; Crashlytics también proporciona un breve artículo sobre una forma rápida de forzar un bloqueo y un artículo sobre por qué no ve los datos de su primer bloqueo .
Encontré solución usando los siguientes pasos
1. Vaya a Editar esquema 2. Ejecutar -> Información 3. Cambie la configuración de compilación para liberar. Ahora ejecuta la aplicación fíjala. Usted recibirá correo.
Esto funcionó para mí,
Si está probando en iDevice, simplemente desenchufe iDevice con su Xcode y ejecute su aplicación. Ahora, si se bloquea, se actualizará en el panel de control.
La razón principal por la que un reportero de fallos no funciona en iOS se debe a la interferencia de diferentes reporteros de fallos. Sin embargo, específicamente con Crashlytics podría haber algo específico para ellos, lo que podría provocar que el informe de falla no sea informado.
El depurador de Xcode NO permite que Any Crash Reporter procese los informes de fallas. Esto se debe a que XCode anula cualquier enganche en las devoluciones de llamadas de manejo de fallas. Esto solo sucede cuando:
- ejecutando la aplicación en el simulador (con el depurador activado)
- ejecutando la aplicación en iDevice directamente compilando y ejecutando desde Xcode con el depurador activado.
Para asegurarse de que se informa de un bloqueo durante sus pruebas ( Source ):
- Simulador de lanzamiento
- Presionar detener
- Lanza tu aplicación y fuerza un choque
- Vuelva a iniciar la aplicación desde el simulador
- Consulte el informe de fallos en el panel web.
Si bien un video super viejo sigue siendo relevante, aquí hay un video de los pasos anteriores (ejemplo de Crittercism): https://www.youtube.com/watch?v=sU6Su3PBFH4
Me encontré con un problema similar al probar el código de bloqueo de prueba.
Crashlytics.sharedInstance().crash()
Estaba ejecutando mi aplicación desde un dispositivo, sin Xcode, y el bloqueo no se mostraba en Crashlytics Dashboard. Lo que me funcionó fue el siguiente consejo del sitio web de Crashlytics:
- Asegúrese de iniciar la aplicación después de bloquearla, para poder cargar la falla.
Comenté la llamada anterior () y volví a ejecutar la aplicación. Entonces el accidente apareció en el tablero de instrumentos.
Mi ser es tarde pero trabajo 100%
Haz algunos cambios en la configuración de compilación del proyecto como en la imagen de abajo
Para mí, el problema fue que el dispositivo estaba conectado a mi Mac :) De Source :
Además, si tienes tu dispositivo conectado a tu Mac, el depurador de XCode también intervendrá. Tan solo desconecte el dispositivo antes de probar :)
Resolví al deseleccionar la opción "Ejecutar guión solo al instalar" en Ejecutar guión (uno para Fabric (crashlytics))
Si no carga el archivo dSYM, Crashlytics no mostrará su bloqueo aunque el informe se haya cargado correctamente.
Podría tener este problema si ha configurado su script de compilación para que solo se ejecute en su servidor de CI. Luego, si ha copiado su aplicación a su teléfono a través de xcode y la ejecuta sin estar adjuntado al depurador, el informe se cargará pero se ignorará, debido al archivo dSYM que falta.
Uno de los problemas que siento en la Fase de Ejecución del Guión, debería ser una Fase de Guión de Ejecución separada para CrashLytics. Cuando tenía el script de ejecución
./Fabric.framework/run
Con algunos de mis otros scripts, todo estaba bien, el informe de CrashLytics log show enviado, pero no había nada en la interfaz web.
Cuando agrego otra fase de secuencia de comandos Ejecutar solo con Fabric Run, aparece como una magia :)
Mi primer intento fue con cocoápodos, pero eso no funcionó. Cuando agregué manualmente todo el marco y una fase de secuencia de comandos de ejecución independiente que funcionó.
Recientemente nos topamos con este problema y descubrí que en algún momento del camino se eliminó el script de compilación. Añadiéndolo de nuevo con lo siguiente, solucionamos el problema para nosotros:
./Crashlytics.framework/run <your_api_key> <build_secret>
Nota: Cuando use Cocoapods, querrá usar lo siguiente en lugar de lo anterior ( source ): ./Pods/CrashlyticsFramework/Crashlytics.framework/run
Añadiendo un script de compilación:
- Para agregar una Fase de compilación del script de ejecución en Xcode 6, seleccione el objetivo de su aplicación en su proyecto, luego seleccione "Fases de compilación".
- Haga clic en el pequeño ícono "más" y seleccione "Nueva fase de compilación del script de ejecución".
- Ahora debería ver una sección Ejecutar script en medio de las opciones de la fase de compilación, como se muestra arriba.
- Dentro del cuerpo de la Fase de compilación del script de ejecución, pegue el script.
La cita anterior proviene del tutorial visual de Crashlytics, al que se hace referencia en esta publicación .
Nota: originalmente publiqué esta respuesta literalmente para el código de error de Crashlytics: 202 al enviar archivos .