CATiledLayer不在我的iOS5项目上工作

Sko*_*k.o 2 linker storyboard catiledlayer ios5

我创建了新的单视图应用程序(使用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
Run Code Online (Sandbox Code Playgroud)

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

Joo*_*ony 9

您还记得链接QuartzCore框架吗?

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

#import <QuartzCore/CATiledLayer.h>
Run Code Online (Sandbox Code Playgroud)

如果是这样,你也必须在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. 建立.