¿Qué podría hacer que una aplicación iOS se ejecute perfectamente en una configuración, pero no en otra?

Hay un par de cosas que podrían hacer que esto suceda:

1. ¿Por casualidad su iPhone 4S está liberado? Si está desarrollando aplicaciones con dispositivos Jailbroken, es muy probable que su aplicación sea inestable. Se recomienda que los dispositivos que utiliza para el desarrollo estén limpios (sin jailbreak) y preferiblemente restaurados recientemente.

2. Lo creas o no, la poca memoria en los dispositivos puede causar este tipo de errores, y no solo estoy hablando del consumo de RAM. Las aplicaciones pueden escribir datos en la memoria flash todo el tiempo y en caso de que haya mucha sobrecarga y su aplicación no pueda escribir pequeños fragmentos de datos, es muy probable que se bloquee. O al menos según mi experiencia, muchas aplicaciones (no solo la mía) se han bloqueado debido a la falta de memoria flash real, lo que me hace eliminar algo de música (lo que apesta, porque realmente me gusta todo lo que tengo en mi iPhone y odio eliminar cosas) )

El mejor consejo que tengo para ti es que obtengas un dispositivo para el desarrollo y solo para el desarrollo, asegurándote de que esté fresco y sin jailbreak.

¿Estás construyendo para armv6 o armv7, o estás creando un binario universal? He visto un comportamiento extraño al ejecutar diferentes binarios en diferentes teléfonos. Asegúrese de que la configuración de compilación sea coherente.