2011-06-14 19 views

Respuesta

0

desarrolladores con java y C# de fondo están destinados a la gestión de excepciones en iOS. Apple tiene algunas API realmente buenas para resolver los errores conocidos, pero el programa debe hacerse sin excepciones (lo cual sé que es difícil). Sigabrt generalmente ocurre cuando se libera un objeto y SIGKILL generalmente ocurre cuando el sistema mata su aplicación debido a la falta de memoria. Por lo tanto, le sugiero que lea the memory management guide by apple. Además, puede ir a través de this link y this.. Apple tiene una clase definida para exception handling - NSException.

también TRATE DE MEJORAR SU TASA DE ACEPTACIÓN.

Buena suerte.

+0

SIGKILL es emitido por el sistema operativo cuando el usuario cambia la configuración de privacidad de todo el sistema operativo. La gestión de la memoria no puede evitar este escenario. Me pregunto si alguien ha encontrado una forma aceptable de recuperarse con gracia de esto. En mi caso, la aplicación está congelada y necesita un restablecimiento completo del administrador de tareas. – sirvine

+0

Para aclarar mi comentario anterior, parece que la aplicación solo está congelada cuando se ejecuta desde Xcode. Si lo desalojo de Xcode, obtengo un comportamiento de reinicio aceptablemente elegante. – sirvine

2

Puede capturar la mayoría de las excepciones no controladas registrando un NSUncaughtExceptionHandler en su delegado de la aplicación.

Del mismo modo se puede atrapar la mayor parte de las señales utilizando sigaction o signal

Como se puede ver en los dos enlaces de arriba, no se puede captar señales de tipo SIGKILL y SIGSTOP.

intente analizar su código por cualquier posible motivo que cause estas señales.

+0

Los enlaces están rotos. – bejado

Cuestiones relacionadas