CATiledLayer 不适用于我的 iOS5 项目
Posted
技术标签:
【中文标题】CATiledLayer 不适用于我的 iOS5 项目【英文标题】:CATiledLayer isnt working on my iOS5 project 【发布时间】:2012-01-04 17:29:34 【问题描述】:我创建了新的单视图应用程序(使用 ios 5 sdk 和 Xcode 4.2 开发),该应用程序现在由应用程序委托、视图控制器、滚动视图(使用 CATiledLayer)组成。故事板包含ViewController
,其中包含UIScrollView
,哪个类是ScrollView
(我创建的类)。我的目标是显示带有缩放等功能的大型 PDF 文件。我的项目基于缩放来自苹果的 pdf 样本。当我尝试在 iPad 上运行我的应用程序时,它在链接过程中崩溃,显示此错误:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_CATiledLayer", referenced from:
objc-class-ref in TiledPDFPage.o
那么有谁知道,如何避免这个错误?问题是否可能在于我没有在代码中而是在情节提要中创建滚动视图?
【问题讨论】:
【参考方案1】:你记得链接 QuartzCore 框架吗?
您可能在某处有这样的导入(可能在您的TiledPDFPage.m
中):
#import <QuartzCore/CATiledLayer.h>
如果是这样,您也必须在 QuartzCore 框架中进行链接。
-
在项目导航器中点击项目名称(⇧⌘J打开导航器)。
单击项目目标。
单击“构建阶段”选项卡。
打开 Link Binary With Libraries 列表。
检查
QuartzCore.framework
是否已经在列表中。如果没有,请继续。
点击 +。
输入 QuartzCore。
选择QuartzCore.framework
(您可能需要展开IOS 5 文件夹)。
点击添加。
构建。
【讨论】:
以上是关于CATiledLayer 不适用于我的 iOS5 项目的主要内容,如果未能解决你的问题,请参考以下文章
UITabBar 外观适用于 iOS6 但不适用于 iOS 5
Open in... 自定义文件类型适用于 iOS 5、6 和 7,但不适用于 iOS 4