2

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

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

ld:警告:忽略文件/Users/croydonbod/Documents/iDevelopment/MyApp/CoreText.framework/CoreText,文件是为不受支持的文件格式构建的,它不是被链接的架构(i386)

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

谁能提出为什么会这样?

谢谢你。

4

1 回答 1

8

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

从您的项目中删除 CoreText 框架并重新添加它,确保取消选中“将项目复制到目标文件夹”复选框(如果出现),一旦添加了 CoreText 框架,请确保为项目中的 CoreText 框架。这是为 UIKit 框架设置的方式:

在此处输入图像描述

于 2012-07-06T18:05:27.433 回答