CoreText框架 - 应用程序无法在模拟器中运行 - iOS

时间:2012-07-06 18:01:45

标签: objective-c xcode frameworks ios-simulator core-text

我有一个使用CoreText框架的应用程序。我能够在iPhone和iPad 1和2上成功运行该应用程序。

但是我无法在xCode iPhone / iPad模拟器中运行该应用程序。我收到以下错误消息:

ld:警告:忽略文件/Users/croydonbod/Documents/iDevelopment/MyApp/CoreText.framework/CoreText,文件是为不支持的文件格式构建的,而不是所链接的体系结构(i386)

架构i386的未定义符号:   “_CTFontCreateWithName”,引自:        - 在View.o中查看drawRect:]   “_CTFramesetterCreateWithAttributedString”,引自:        - 在View.o中查看drawRect:]   “_CTFramesetterCreateFrame”,引自:        - 在View.o中查看drawRect:]   “_CTFrameGetVisibleStringRange”,引自:        - 在View.o中查看drawRect:]   “_CTFrameDraw”,引自:        - 在View.o中查看drawRect:]   “_kCTFontAttributeName”,引自:        - 在View.o中查看drawRect:]   “_kCTForegroundColorAttributeName”,引自:        - 在View.o中查看drawRect:] ld:找不到架构i386的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

有谁能说明为什么会这样?

谢谢。

1 个答案:

答案 0 :(得分:8)

您似乎将将CoreText框架文件从SDK复制到您的应用程序中而不是弱链接框架(这意味着适当的框架将为设备或模拟器正确加载)。

从项目中删除CoreText框架并重新添加,确保 取消选中 “将项目复制到目标文件夹”复选框(如果出现)和CoreText添加框架,确保为项目中的CoreText框架设置“相对于SDK”位置。以下是为UIKit框架设置的方法:

enter image description here