Mi aplicación se congela pero no aparece ningún error.

¿Alguien sabe lo que tengo que comprobar si mi aplicación se congela? Es decir, puedo ver la aplicación en la pantalla del iPad, pero no hay botones que respondan. He intentado depurar el código cuando hago clic en el button, pero todavía no he visto nada. Estaba leyendo sobre las herramientas de Instrumentos; específicamente ¿cómo los uso?

¿Puede alguien ayudarme? Solo necesito una explicación sobre cómo usar las herramientas.

Parece que has bloqueado el hilo principal de alguna manera. Para depurar, ejecute la aplicación en el depurador y cuando la aplicación se congele, presione el button de pausa sobre el área de logging en la parte inferior de Xcode. Luego, en el lado izquierdo, podrás ver exactamente qué hace cada subprocess y puedes ver dónde se está atascando.

pausa del botón

Probablemente sea un bucle largo en el hilo principal o un punto muerto sincronizado.

La mejor respuesta es correcta. Puede depurar esto con la opción "Pausa". La forma más común de bloquear el hilo principal es llamar a dispatch_sync en el mismo hilo que está enviando. A veces llamas al mismo código desde dispatch_once .

Además de hacer una pausa y seguir el stacktrace, creo que como algo adicional que hacer, es verificar el código si hay algún bucle que hace que la aplicación se congele.

Recientemente me encontré con un problema similar, pero el rastreo de stack no ayudó mucho, me di count de que tenía un bucle eterno cuando llamaba a un reloadData() dentro del método layoutsubviews y eso causaba una congelación sin errores y sin ayuda de los instrumentos .