CATiledLayer不在我的iOS5项目上工作

时间:2011-11-23 12:08:36

标签: linker ios5 storyboard catiledlayer

我创建了新的单一视图应用程序(使用iOS 5 sdk和Xcode 4.2进行开发),该应用程序现在由app delegate,视图控制器,scrollView(带有CATiledLayer)组成。故事板包含ViewController,其中包含UIScrollView,其类为ScrollView(我创建的类)。我的目标是显示大型PDF文件,缩放等。我的项目基于从苹果缩放pdf样本。当我尝试在iPad上运行我的应用程序时,它会在链接过程中崩溃,显示我的错误:

Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_CATiledLayer", referenced from:
objc-class-ref in TiledPDFPage.o

所以有人都知道,如何避免这个错误?是否有可能问题在于我没有在代码中创建scrollView但在故事板中?

1 个答案:

答案 0 :(得分:9)

你还记得链接QuartzCore框架吗?

你可能在某个地方有这样的导入(可能在你的TiledPDFPage.m中):

#import <QuartzCore/CATiledLayer.h>

如果是这样,你也必须在QuartzCore框架中链接。

  1. 单击项目导航器中的项目名称(⇧⌘J打开导航器)。
  2. 点击Target项目。
  3. 单击Build Phases选项卡。
  4. 打开Link Binary With Libraries列表。
  5. 检查列表中是否已有QuartzCore.framework。如果没有,请继续。
  6. 点击+。
  7. 输入QuartzCore。
  8. 选择QuartzCore.framework(您可能需要展开IOS 5文件夹)。
  9. 点击添加。
  10. 构建