2012-09-24 47 views
9

Tengo un problema muy extraño que he pasado los últimos dos días tratando de resolver ... Tenía un código que funcionaba perfectamente en Xcode 4.4 e iOS 5.1 Simulador, usando el SDK 5.1. Después de actualizar a Xcode 4.5 y 6.0 SDK, mi código dejó de funcionar en el simulador iOS 5.1 ... aunque funciona perfectamente en el simulador iOS 6.0. ¿Hubo algún cambio del que no estoy enterado?Error en iPhone Simulator 5.1 con Xcode 4.5 usando UIManagedDocument

Este es el código:

- (void)useDocument 
{ 
    if (![[NSFileManager defaultManager] fileExistsAtPath:[self.database.fileURL path]]){ 
     [self.database saveToURL:self.database.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success){ 
      [self setupFetchedResultsController]; 
    }]; 
    } else if (self.database.documentState == UIDocumentStateClosed){ 
     [self.database openWithCompletionHandler:^(BOOL success){ 
      [self setupFetchedResultsController]; 
     }];   
    } else if (self.database.documentState == UIDocumentStateNormal) { 
     [self setupFetchedResultsController]; 
    } 
} 

Por alguna razón saveToURL y openWithCompletionHandler nunca regresan en el Simulador de 5,1. ¿Alguien sabe por qué?

+1

Me alegra que haya encontrado su pregunta, porque tengo exactamente el mismo problema, y ​​descubrí que parece ser un problema con el simulador 5.1. Supongo que su código también se basa en el curso de Stanford 2011 (los métodos 'useDocument' lo insinúan). – brainray

+0

Sí, mi configuración de UIManagedDocument es una copia y pega del código de Paul. La única diferencia es un par de líneas para agregar soporte para la migración liviana. –

+0

Estoy teniendo el mismo problema. ¿Has encontrado alguna solución a este problema? ¡Gracias! – Yan

Respuesta

5

Tengo el mismo problema en iPhone Simulator 5.1. El archivo se crea después de un tiempo prolongado (30 segundos). Pero el controlador de finalización nunca se llama. ¿Lo probaste en un dispositivo?

EDITAR: Esto parece un error en iOS Simulator 5.1. Recopilé el código en mi viejo iPad con iOS 5.1.1 y funcionó sin ningún error.

+0

Lo hice una vez y no funcionó. Pero mucha gente me dice que es simulador solo que ahora me pregunto si no hubo otro error en mi código cuando lo probé. –

5

No se puede decir para su proyecto, pero aquí definitivamente fue Xcode 4.5.

que tienen una copia de Xcode 4.3.1 con Simulador de 5.1 en una máquina virtual, y adivina qué: que uno funciona a la perfección

-> Xcode4.3.1/Simulator5.1 funciona!

-> Xcode4.5 /Simulator5.1 es defectuoso

-> Xcode4.5.1/Simulator5.1 es defectuoso

Como solución alternativa se puede descargar la versión 5.0 del simulador en Xcode -> Preferencias -> Descargas. Ese funciona

+0

Obtuve el 5.0 Simulator y eso funciona perfectamente. ¡Gracias! – Yan

+0

XCode 4.5.2 El simulador iOS 5.1 no funciona, el simulador iOS 5.0 (y el simulador 6.0) sí. Gracias. – Joe

-1

No creo que el problema esté en el simulador. Tenía exactamente el mismo problema (la aplicación se ejecuta en 6.0 pero no en 5.x) y también intenté ejecutarlo en un dispositivo y sucede exactamente igual. (Expliqué mi problema here)

Mi problema ocurre tanto en 5.0 como en 5.1. Por ejemplo, ni siquiera puedo ejecutar correctamente una plantilla de "Aplicación de detalles maestros" en ningún simulador iOS 5.x, pero funciona bien en 6.0. Incluso si pruebo esta plantilla en un dispositivo, no funciona correctamente. Así que realmente creo que el problema está en XCode 4.5.

+0

Por favor, vuelva a leer la pregunta y las respuestas: el problema que se describe aquí es sobre el simulador 5.1. Tu problema es sobre iOS 5.x vs iOS 6.0. – brainray

+0

La pregunta original plantea un problema similar al mío. El usuario puede ejecutarlo en 6.0 Simulator pero no en 5.1 después de la actualización de XCode 4.5, igual que yo. – fabioalmeida

Cuestiones relacionadas