¿Cómo debo codificar a la defensiva para posible corrupción de files de datos centrales o problemas de carga?

Estoy usando Core Data en mi aplicación para iPhone, que está bien.

Me preocupa el enfoque que debería tomar si alguna vez hay un error al cargar los datos de datos centrales en mi aplicación (o savelos en ese caso). En particular, una posible situación (no estoy seguro de cuáles son las probabilidades de que esto ocurra, pero es mejor estar seguro que no lo siento), donde su aplicación no puede funcionar en absoluto porque no puede cargar sus datos, y reiniciar la aplicación lo devuelve al mismo por favor

Pregunta: ¿qué hacen las personas típicamente si intentan manejar esta situación? ¿Qué enfoque, en otras palabras? Los únicos que saltan a la mente hasta el momento son:

  1. Cree un controller de errores que le indique al usuario si desea eliminar sus datos y comenzar de nuevo por así decirlo … Supongo que esto supone que el iPhone informará correctamente el problema al progtwig como un error

  2. Sugiera al usuario que tenga que eliminar la aplicación y volver a instalarla (less trabajo)

  3. ¿Otro? No estoy seguro de si hay algún código / consejos de "limpieza" o "reparación" que sean posibles, o si uno debería siquiera pensar en intentarlo de todos modos …

Gracias

PD. No he llegado al punto de comprender / tratar las migraciones de datos centrales para las actualizaciones de la aplicación en las que el esquema de datos centrales ha cambiado. Tal vez esta sea otra situación posible a la que las preguntas anteriores siguen siendo válidas … O no estoy seguro si el enfoque que se toma dentro del código (y con los posts del usuario) dependerá de si se trata de un error de migration o de un error separado.

    Mejor seguro que lamentable está bien, pero no se queme mucho time en esto. La corrupción de los datos básicos es extremadamente rara. Incluso repetidamente estrellarse durante las guardadas rara vez causa problemas.

    En cualquier caso, la única manera de lidiar con una tienda corrupta es eliminarla. Probablemente quieras establecer algún tipo de indicador para eliminar el file cuando la aplicación se apaga. Al detectar el file dañado, déle al usuario la opción de eliminar la tienda y reiniciar la aplicación.