"Error semántico: networkingefinición de '__ccContentScaleFactor' con un tipo diferente" en Cocos2D v2

He desarrollado un nuevo juego y funciona perfectamente en mis dispositivos IOS reales e incluso en simuladores, pero cuando decidí enviarlo a AppStore está dando error en esta línea.

extern CGFloat __ccContentScaleFactor; 

y el error es

 cocos2d/Platforms/iOS/CCDirectorIOS.h:102:16: Redefinition of '__ccContentScaleFactor' with a different type: 'CGFloat' (aka 'double') vs 'float' 

¿Puede alguien ayudarme con este problema? Acabo de actualizar xcode a 5.1. Gracias

Actualización importante:


Cocos2D v2.2 con correcciones de 64 bits ha sido lanzado.

Recomiendo encarecidamente a cada desarrollador de cocos2d v2.x que actualice esta versión en lugar de aplicar la solución rápida a continuación. Hay muchos problemas de compatibilidad de 64 bits que se esconden en cocos2d v2.0 y v2.1, lo que puede hacer que su fea cabeza parezca en errores extraños, fallas visuales o más errores de compilation, según la aplicación.

A partir de febrero de 2015, Apple solo aceptará nuevas aplicaciones y actualizaciones de aplicaciones que incluyen binarys de 64 bits. Por lo tanto, es altamente recomendable que su código y cocos2d funcionen correctamente en dispositivos de 64 bits.


Solución rápida y sucia solo para este problema en particular:

Edite la línea en la que se queja el comstackdor, cambie CGFloat para que float para que se lea:

 extern float __ccContentScaleFactor; 

Sin embargo, esto indica que xcode está creando el segmento arm64. Para cocos2d-iphone v2.x es mejor deshabilitar / eliminar arm64 de architectures admitidas porque Cocos2D v2.1 y anteriores no son totalmente compatibles con dispositivos de 64 bits.

Puede haber errores extraños y efectos secundarios cuando se ejecuta una aplicación Cocos2D v2.1 o anterior comstackda como un código de 64 bits y se ejecuta en un dispositivo de 64 bits (iPhone 5S y posterior). Estos problemas pueden no ocurrir en el simulador de iOS.

Como ahora los desarrolladores están encontrando una nueva solución para este problema. porque Apple dice que ARM64 será obligatorio a partir de febrero de 2015. para que pueda solucionar esto simplemente cambiando:

  CGFloat 

a

  float 

donde cada uno tiene este problema en el proyecto coco2d. Gracias