2011-12-16 16 views
12

Sto usando Xcode 4.2 e sto costruendo un gioco per iphone (da iOS 3.0 a 5.0). Cocos2d supporta ARC? Quali modifiche devono essere apportate per convertire il codice scritto nelle versioni precedenti?cocos2d supporta ARC?

Se utilizzo le parole chiave forti e deboli per le variabili e imposta il compilatore su LLVM GCC 4.2, quali saranno i risultati? È necessario modificare il compilatore alla 3.0 per supportare ARC?

risposta

10

Cocos2d v1.1 e v2.0 sono compatibili con ARC. Tuttavia, il codice cocos2d non utilizza ARC e non ci sono modelli forniti da cocos2d che è possibile utilizzare per iniziare a programmare con ARC. È necessario aggiungere un target separato per la libreria statica per i file cocos2d.

Come ha sottolineato Ankit, Tiny Tim Games ha apportato le modifiche necessarie a una versione biforcuta di cocos2d-iphone to make it ARC compatible. Queste modifiche sono state integrate nella versione di sviluppo e dovrebbero essere disponibili nel ramo cocos2d v2.x. Da allora ho scritto un tutorial to enable ARC in a cocos2d (2.0) project.

Si è detto che cocos2d stesso verrà convertito per utilizzare ARC internamente in v2.1 o v2.2.

È importante notare che non ci sono piani per supportare ufficialmente ARC nel ramo cocos2d v1.x perché la linea v1.x dovrebbe rimanere compatibile con i dispositivi di prima generazione e iOS 3.x. Ma la compatibilità generale ARC è stata aggiunta alla v1.1.


Kobold2D fully supports ARC and has it enabled in all 15 template projects per almost two months now. Kobold2D utilizza le ultime versioni stabili di cocos2d-iphone 1.xe 2.x. Inizia un nuovo progetto di Kobold2D e sei pronto per lavorare con cocos2d e ARC.

+0

@ LearnCocos2D Perché non integrare alcuni dei Kobold2d caratteristiche (ad esempio lo scripting con lua) con Cocos2d? In questo modo non dovrai dividere la base di sviluppatori in Cocos2d vs Kobold2d persone e avremo prodotti di migliore qualità in generale, dato che più sviluppatori contribuiranno allo stesso progetto e forniranno prodotti di migliore qualità in un tempo minore (oltre a non dover respingere i libri che abbiamo comprato - ad esempio, imparare Cocos2d per lo sviluppo di giochi per iPhone e iPad) – mm24

+1

Hmmm la risposta breve è la differenza generale di direzione. Lua vs. Javascript. Usabilità vs. prestazioni. Soluzione all-in-one contro il voler rimanere "puri". Ciò che è importante per gli utenti e ciò che è importante per Zynga. Ottenere gli aggiornamenti del codice rilasciati in modo tempestivo, in attesa di molte settimane per accettare una richiesta di pull e quindi attendere diverse settimane per la prossima versione ufficiale. – LearnCocos2D

2

Anche se Cocos2d non supporta l'arco ma esiste un modo in cui è possibile utilizzarli entrambi insieme, ovvero tramite riferimenti incrociati ai progetti. Si può imparare come farlo facendo riferimento a questo .. cocos2d and ARC