2011-12-16 25 views
12

Estoy usando Xcode 4.2 y creando un juego para iphone (desde iOS 3.0 - 5.0). ¿Cocos2d es compatible con ARC? ¿Qué modificaciones se deben realizar para convertir el código escrito en versiones anteriores?¿Cocos2d es compatible con ARC?

Si utilizo las palabras clave fuertes y débiles para las variables y configuro el compilador en LLVM GCC 4.2, ¿cuáles serán los resultados? ¿Es necesario cambiar el compilador a 3.0 para admitir ARC?

Respuesta

10

Cocos2d v1.1 y v2.0 son compatibles con ARC. Sin embargo, el código cocos2d en sí no usa ARC y no hay plantillas proporcionadas por cocos2d que pueda usar para comenzar a programar con ARC. Deberá agregar usted mismo un objetivo de biblioteca estática separado para los archivos cocos2d.

Como Ankit señaló, Tiny Tim Games realizó los cambios necesarios en una versión bifurcada de cocos2d-iphone to make it ARC compatible. Estos cambios se han integrado en la versión de desarrollo y deberían estar disponibles en la rama cocos2d v2.x. Desde entonces he escrito un tutorial to enable ARC in a cocos2d (2.0) project.

Se dijo que el propio cocos2d se convertirá para usar ARC internamente en v2.1 o v2.2.

Es importante tener en cuenta que no hay planes para admitir oficialmente ARC en la rama cocos2d v1.x porque se supone que la línea v1.x permanece compatible con versiones anteriores de dispositivos de primera generación y iOS 3.x. Pero la compatibilidad ARC general se ha agregado a v1.1.


Kobold2D fully supports ARC and has it enabled in all 15 template projects para almost two months now. Kobold2D usa las últimas versiones estables de cocos2d-iphone 1.xy 2.x. Simplemente inicie un nuevo proyecto Kobold2D y estará listo para trabajar con Cocos2d y ARC.

+0

@ LearnCocos2D ¿Por qué no se integran algunos de los Kobold2d características (por ejemplo, scripts con lua) con Cocos2d? De esta forma, no tendrás que dividir la base de desarrolladores en Cocos2d versus Kobold2d y tendremos productos de mejor calidad en general, ya que más desarrolladores contribuirán al mismo proyecto y entregarán mejores productos en general en menos tiempo (además de no tener que descartar los libros que compramos, por ejemplo, aprender Cocos2d para el desarrollo de juegos de iPhone e iPad) – mm24

+1

Hmmm la respuesta corta es la diferencia general en la dirección. Lua vs. Javascript. Usabilidad vs. rendimiento. Solución todo en uno contra querer permanecer "puro". Lo que es importante para los usuarios frente a lo que es importante para Zynga. Obteniendo las actualizaciones del código publicadas oportunamente, sin esperar muchas semanas para que se acepte una solicitud de extracción y luego esperando varias semanas más para el próximo lanzamiento oficial. – LearnCocos2D

2

Aunque Cocos2d no es compatible con el arco, existe una forma de utilizar ambos, y esto se hace mediante la referencia cruzada de proyectos. Puede aprender cómo hacerlo al referir esto ... cocos2d and ARC

Cuestiones relacionadas