2010-09-09 8 views
18

He actualizado el SDK de iOS a la recién estrenada 4.1 y ahora tengo el error siguiente, mientras que la construcción de mi aplicación:edición extraña después de actualizar a iOS 4.1 SDK

/DeveloperBeta/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:60:23  

/DeveloperBeta/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:60:23: error: expected function body after function declarator 

En cuanto a esa línea en el .h presento veo lo siguiente:

CG_EXTERN void CGPDFContextAddDocumentMetadata(CGContextRef context, CFDataRef metadata) CG_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0); 

lo realmente interesante es la definen __MAC_10_7 que parece no ser definido en cualquier lugar. Me aparece este error al precompilar el archivo .pch de mi aplicación.

Lo curioso es que se compila una sencilla aplicación de hello world.

¿Alguna idea de qué puedo hacer?

¡Gracias de antemano!

Stelian

+0

Huh. El documento de cambios API dice "sin cambios" en Core Graphics. El MAC_10_7 no debería marcar la diferencia. Todavía no veo nada en los foros de Apple, así que me gustaría registrar un error con Apple y ver qué dicen. –

+0

Tengo un problema muy similar. Lo recibo después de actualizar a iOS 4.1 sdk desde 4.0.2 sdk. –

+0

Tengo un problema muy similar. Lo recibo después de actualizar a iOS 4.1 sdk desde 4.0.2 sdk. Recibo 11 errores en un proyecto que ha estado compilando bien. Los errores ocurren en los archivos CG * .h. El mismo tipo de errores, algunas variables no están definidas, si mal no recuerdo, IPHONE_ algo no se puede analizar. Más detalles tan pronto como llegue al lado de una computadora Mac. Lo interesante es que si creo un nuevo proyecto y copio archivos, se construye, pero al ejecutar la aplicación, faltan algunas vistas (heredando UIVIEW y UITABLEVIEW) –

Respuesta

42

Este es un error conocido con el iOS 4.1 SDK y la construcción usando LLVM para el simulador de iPhone. Puede leerlo al respecto en this thread en los foros de desarrolladores de Apple.

La solución recomendada es agregar lo siguiente a Other C Flags en la configuración de compilación de su proyecto: -D__IPHONE_OS_VERSION_MIN_REQUIRED=040100 donde reemplaza 040100 con su versión de destino de implementación (030000 para 3.0, por ejemplo).

+0

Me lo arregló - aplausos. –

+0

Me lo arregló también. Muchas gracias! –

+0

Obtuve errores al usar, por ejemplo, 030100 (para 3.1), cambio a 30100 que funciona bien! – avocade

0

Tal vez debería ser la construcción con la última Xcode 4, es éste un requisito? El MAC_10_7 se definiría en los encabezados del sistema enviados con el compilador que supongo que podría estar en el SDK, pero creo que no. Supongo que es cuando construyes para el simulador.

3

Tengo este problema cuando uso el compilador LLVM. Intenta recompilar usando GCC y el problema (para mí) desaparece.

Seguiré investigando para determinar si se trata de un problema general de la cadena de herramientas o si es específico de mi configuración.

--update:

por lo que parece un problema con CLANG. LLVM GCC 4.2 funciona bien.

Todavía creo que es probable que haya un problema con mi configuración. Incluso un proyecto vacío no se compilará bajo LLVM CLANG 1.5 para mí.

--update 2:

por lo que parece que el ajuste de versión mínima requerida no se está cumpliendo en la configuración de información del proyecto. Me he fijado manualmente a través de:

Otras banderas C: -D__IPHONE_OS_VERSION_MIN_REQUIRED = 031300

(por un mínimo de iOS 3.1, obviamente, - si necesita una versión posterior entonces usted puede utilizar 040 100 para la versión 4.0)

Parece ser solo un problema del simulador con CLANG/LLVM. Compilar directamente para el dispositivo parece funcionar bien.

+0

Compilando para el dispositivo en lugar de trabajos del simulador. – toofah

+0

Incluso con el indicador requerido mínimo establecido en 'Otros indicadores C', no puedo hacer que esto funcione para el simulador. :( – toofah

Cuestiones relacionadas