2012-07-06 72 views
2

我有一个使用CoreText框架的应用程序。我能够在iPhone和iPad 1和2上成功运行应用程序。CoreText框架 - 应用程序不会在模拟器中运行 - iOS

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

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

未定义符号: “_CTFontCreateWithName”,从引用: - [查看的drawRect:]在View.o “_CTFramesetterCreateWithAttributedString”,从引用: - [查看的drawRect:]在View.o “_CTFramesetterCreateFrame”,引用来自: - [View drawRect:] in View.o “_CTFrameGetVisi bleStringRange”,从引用: - [查看的drawRect:]在View.o “_CTFrameDraw”,从引用: - [查看的drawRect:]在View.o “_kCTFontAttributeName”,从引用: - [查看的drawRect: ] in View.o “_kCTForegroundColorAttributeName”,引用自: - ViewControl中的[View drawRect:] ld:找不到体系结构i386的符号 clang:error:linker命令失败,退出代码1 -v看到调用)

任何人都可以提出为什么会发生这种情况?

谢谢。

回答

8

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

从您的项目中删除CoreText框架,如果出现重新添加它,确保取消选中“复制项目到目标文件夹”复选框,一旦CoreText框架添加,使某些“相对到SDK“位置是为您的项目中的CoreText框架设置的。下面是它是如何设置UIKit框架:

enter image description here

+0

谢谢 - 我删除了CoreText文件,然后重新链接。现在出于某种原因,该应用程序不会在设备或模拟器上编译。在设备上我现在得到:用于建筑的ARMv7 – GuybrushThreepwood 2012-07-06 18:17:57

+0

未定义的符号: “_CGContextTranslateCTM”,从引用: - [查看的drawRect:]在View.o “_CGPathRelease”,从引用: - [查看的drawRect:鉴于的.o “_CGContextSetTextMatrix”,从引用: - [查看的drawRect:]: - [查看的drawRect:]在View.o “_CGPathAddRect”,从引用在View.o “_CGAffineTransformIdentity”,从引用: - [View drawRect:] in View.o “_CGContextScaleCTM”,引用来自: - [View drawRect:] in View.o ld:symbol(s)not found for architecture armv7 – GuybrushThreepwood 2012-07-06 18:18:25

+0

clang:错误:链接器命令失败,退出代码1(使用-v查看调用) – GuybrushThreepwood 2012-07-06 18:18:41

相关问题