iOS版。在此项目中更新cocos2d库后无法运行项目

时间:2013-05-09 17:22:38

标签: ios cocos2d-iphone label labels cclabelttf

它无法编译源代码和写入:

  

架构i386的未定义符号:
  “_CTFontManagerRegisterFontsForURL”,引自:          - CCLabelTTF中的[CCLabelTTF getFontName:] ld:找不到架构i386 clang的符号:错误:链接器命令失败   退出代码1(使用-v查看调用)

但当我用“return nil”替换CCLabelTTF中以下函数中的所有代码时:

- (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;
}

然后我可以编译我的代码,但我不能使用标签。

那么如何在不创建新项目并将所有资源复制到其中的情况下解决这个问题呢?

EDITED

以前的版本是2.x,现在我有最后一个rc2版本。

我删除了旧库的所有文件,将文件从新库复制到项目文件夹中,并通过xcode将它们添加到项目中。 xcode可以用新的库文件创建项目,所以我从这个新项目中获取它们。然后我做了一些更改以删除警告。

1 个答案:

答案 0 :(得分:42)

通过导入CoreText.framework

解决

但我想我会创建一个新项目,因为我仍然有识别iphone5屏幕尺寸的麻烦