Non può compilare i sorgenti e scrive:iOS. Non è possibile eseguire un progetto dopo l'aggiornamento della libreria cocos2d all'interno di questo progetto
Undefined symbols for architecture i386:
"_CTFontManagerRegisterFontsForURL", referenced from: -[CCLabelTTF getFontName:] in CCLabelTTF.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)
ma quando ho sostituire tutto il codice nel seguente funzione nel CCLabelTTF con "nil tornare":
- (NSString*) getFontName:(NSString*)fontName
{
// Custom .ttf file ?
if ([[fontName lowercaseString] hasSuffix:@".ttf"])
{
// This is a file, register font with font manager
NSString* fontFile = [[CCFileUtils sharedFileUtils] fullPathForFilename:fontName];
NSURL* fontURL = [NSURL fileURLWithPath:fontFile];
CTFontManagerRegisterFontsForURL((CFURLRef)fontURL, kCTFontManagerScopeProcess, NULL);
return [[fontFile lastPathComponent] stringByDeletingPathExtension];
}
return fontName;
}
quindi posso compilare il mio codice ma non posso usare le etichette.
Quindi come risolvere questo senza creare un nuovo progetto e copiarne tutte le sorgenti?
CURA
versione precedente viene 2.x, ora ho l'ultima versione RC2.
Ho eliminato tutti i file della vecchia libreria, copiato i file dalla nuova libreria nella cartella del progetto e li ho aggiunti al progetto tramite xcode. xcode può creare progetti con nuovi file di libreria, quindi li ho presi da questo nuovo progetto. Quindi ho apportato alcune modifiche per rimuovere gli avvisi.
come hai eseguire l'aggiornamento? da quale versione a quale versione? – LearnCocos2D
Ho modificato la mia domanda per rispondere alla tua – Gargo