Pregunta ¿Xcode 4.5 corrompiendo XIBs?


estoy usando el nuevo xcode 4.5, tengo estas líneas de código en algún controlador de vista:

DiscoverCell* cell=[table dequeueReusableCellWithIdentifier:@"DiscoverCell"];
if(cell==nil){
    NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"DiscoverCell" 
                                                 owner:self 
                                               options:nil];
    cell = [nib objectAtIndex:0];
} 

cuando ejecuto la aplicación su lanzamiento: aplicación de terminación debido a la excepción no detectada 'NSInternalInconsistencyException', razón: 'Los datos de NIB no son válidos'. en la línea LoadNib, ¿que es eso? ¿este xcode es basura de manzana?


45
2018-06-21 12:00


origen


Respuestas:


Desmarque la casilla "usar Autolayout" resaltada en la imagen de abajo. Xcode 4.5 habilita esta propiedad de forma predeterminada para los nuevos archivos de punta que agregue a su proyecto. Desmarcar la casilla de verificación de la resolución automática resolvió el problema


59
2017-10-11 08:14



Tuve este mismo problema y lo solucioné desmarcando la casilla de verificación 'Usar ajuste automático' en el panel Inspector de documento en Utilidades.


71
2017-07-07 14:29



Acabo de tener este problema y lo rastreé hasta un UIButton que tenía el campo Título establecido en Atribuido en el Inspector de Atributos. Cambiar esto a Plain solucionó el problema. Si mal no recuerdo, agregué este botón en la última versión de Xcode y también tuve problemas con él.


8
2017-07-03 05:29



Para mí fue una combinación del comentario de Jason Coco y la respuesta de tomgerhardt: mi aplicación se dirige a iOS5, actualicé a Xcode 4.5 y creé un nuevo NIB. Por defecto, este iOS6 objetivo, provoca un bloqueo. Configuré esto en iOS5 en la ventana del inspector de archivos de NIB.

Luego recibí un error del compilador que me decía: "Usar el autodesarroque no era compatible con iOS5", lo vi en el inspector de documentos y mi problema se solucionó.


6
2017-09-26 10:13



Estoy usando Xcode 4.5 y iPhone simulator 5.0 y este es el mismo error cuando se muestra la primera tabla. Siguiendo el consejo de "desmarcar el autolayout", lo puse en funcionamiento al cambiar el control de versiones de documentos a iOS 5.0. (Guión gráfico seleccionado -> Pestaña Identificación de archivo -> Documento de compilador de interfaz -> Control de versiones de documentos). El Autodiseño ya no estaba seleccionado.


4
2017-10-02 15:29



Entonces, después de aproximadamente una hora de tratar de resolver esto, descubrí el problema. De hecho, es lo que se describió anteriormente: asegúrese de que su .xib esté configurado en la misma versión de destino (en este caso, muy probablemente <6.0) para la que se escribió su aplicación principal, y desmarque "Usar ajuste automático" en las opciones para este particular .xib.

La razón por la que funcionará en el simulador es porque tu simulador realmente está ejecutando iOS6. Al intentar usar un dispositivo con un iOS anterior, se producirá este error. Mi problema era que estaba creando un TableViewCell personalizado que, de forma predeterminada, estaba destinado para iOS 6 y tenía marcada la opción "Usar distribución automática". Este fue el culpable para mí.

¡Espero poder salvar a alguien el dolor que sufrí con este error!


2
2017-10-04 02:11



Después de deshabilitar el diseño automático para todos mis archivos .xib, aún tenía el error. Esto se debió al hecho de que usé Text -> Attributed para un UILabel en un archivo .xib.

Después de configurarlo en Llanura, el error desapareció.


2
2018-02-08 11:55