¿Cómo hacer que NSAssert registre la descripción en Xcode4?

Xcode 4 me dice cuándo ha fallado un NSAssert, pero la descripción asertiva y la traza inversa ya no se registran. He visto esta pregunta:

¿Cómo hacer que Xcode4 se detenga ante la falla de NSAssert?

que es útil, pero prefiero registrar la afirmación y continuar. ¿Cómo puedo hacer que NSAssert se comporte de esta manera? ¡Gracias!

La pregunta a la que te vinculas te lleva a la mayor parte del path. Agregue una acción de punto de interrupción al punto de ruptura que configuró para la aserción. Seleccione el punto de interrupción desde el browser de punto de interrupción, haga clic derecho y elija Editar punto de interrupción. Al elegir Editar punto de interrupción se abre un editor emergente. En el editor emergente, debería ver una línea de Acción con el text. Haga clic para agregar una acción. Haz clic en ese text para abrir un menu. Elija Registrar post en el menu Acción. Seleccione la casilla Continuar automáticamente después de evaluar acciones para continuar automáticamente después de iniciar session en el post.

introduzca la descripción de la imagen aquí

Si necesita iniciar session y continuar, no necesita usar NSAssert.

En general, las aserciones están destinadas a ser utilizadas por los desarrolladores en comstackciones de debugging para detener la ejecución de la aplicación inmediatamente cuando se ha detectado un error grave. De forma pnetworkingeterminada, los proyectos de Xcode configuran NS_BLOCK_ASSERTIONS en comstackciones de lanzamiento para que NSAssert compile las llamadas.

Para problemas menores que solo necesitan iniciar session en la console, solo debe usar NSLog. (La console del depurador realmente muestra los datos enviados a 'stdout', que es donde NSLog envía sus resultados).

Si necesita versiones de debugging para afirmar y liberar comstackciones para iniciar session, solo use ambas. Sí, eso significa que podría tener la misma descripción aparecer dos veces en el código, pero eso está bien. Fácilmente será comprendido por cualquier desarrollador. (Puede crear la cadena de resultados primero, luego enviarla a NSAssert y NSLog si lo desea).

Si debe anular el comportamiento de una llamada NSAssert, tiene 2 opciones: 1- cambiar la definición de macro de NSAssert, NSAssert1, NSAssert2, etc. para cambiar el resultado. 2- Suministre su propio object NSAssertionHandler a sus hilos y haga que salte las excepciones.