gratis game creator cocos2d cocos ios cocos2d-iphone

ios - game - “Error semántico: Redefinición de ''__ccContentScaleFactor'' con un tipo diferente” en Cocos2D v2



cocos game creator (2)

He desarrollado un nuevo juego y se está ejecutando perfectamente bien en mis dispositivos iOS reales e incluso en simuladores, pero cuando decidí enviarlo a AppStore, está dando un 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''

¿Alguien puede ayudarme con este problema? Acabo de actualizar Xcode a 5.1. Gracias


Actualización importante:

forum.cocos2d-swift.org/t/cocos2d-iphone-2-1-64-bit-fix/15919

Recomiendo encarecidamente a todos los desarrolladores de cocos2d v2.x que actualicen a 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, que pueden mostrar su cabeza fea en errores extraños, fallos visuales o más errores de compilación, dependiendo de la aplicación.

A partir de febrero de 2015, Apple solo aceptará nuevas aplicaciones y actualizaciones de aplicaciones que incluyan archivos binarios de 64 bits. Por lo tanto, se recomienda encarecidamente 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 de la que se queja el compilador, cambie CGFloat a float para que lea:

extern float __ccContentScaleFactor;

Sin embargo, esto indica que xcode está construyendo la división arm64. Para cocos2d-iphone v2.x, es mejor deshabilitar / eliminar arm64 de las arquitecturas compatibles 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 compilada como código de 64 bits y se ejecuta en un dispositivo de 64 bits (iPhone 5S y más reciente). 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 puedas arreglar esto simplemente cambiando:

CGFloat

a

float

Donde cada uno consigue este problema en el proyecto coco2d. Gracias