`
chriszeng87
  • 浏览: 736795 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

iOS的主要框架介绍

    博客分类:
  • iOS
iOS 
阅读更多

  转自:http://blog.csdn.net/yuhuangc/article/details/7575519     

      框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。

       IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的框架就已经被自动引入了。如果默认加入的框架不能满足你的应用程序的需求,你也可以加入需要的框架。

 

       看看HelloWorld.xcodeproj项目里都包含了哪些框架(注:HelloWorld.xcodeproj是《Your First iOS App tutorial 》这篇教程里的一个项目)

       1.在XCode里打开HelloWorld.xcodeproj项目(如果还没有打开)

       2. 在project navigator窗口里点击,点击Frameworks目录前面的三角形图标。你会看到:

            UIKit.framework,Foundation.framework, 和CoreGraphics.framework

       3. 点击任意一个framework前面的三角,然后再点击Headers前面的三角,可以看到框架里的头文件。

 

        每个框架对应IOS系统里的一层,每层建立在它下面层的上面。应该尽量使用上层的框架来代替下面的框架。更高层次的框架是对底层框架基于对象的抽象。

 

iOS应用程序基于FoundationUIKit框架

 

       在你开发程序时,主要使用框架就是Foundation和UIKit,因为它们包含了你需要的大部分东西。

Foundation框架为所有的应用程序提供基本系统服务

        你的应用程序,UIKit和其它的框架都是建立在Foundation框架上面的。Foundation框架是用Object-C对Core Foundation框架里许多特性的封装。

       使用Foundation可以:

 

  • 创建和管理集合,比如数组和字典
  • 访问存储在应用程序里的图片和其它资源
  • 创建和管理字符串
  • 提交和接收通知
  • 创建日期和时间对象
  • 自动发现IP网络上的设备
  • 操作URL流
  • 执行异步代码

      你已经在《Your First iOS App》里使用到了Foundation框架。比如,你使用一个NSString类的实例存储用户输入的userName。你还使用了Foundation框架的initWithFormat方法创建了一个字符串。

UIKit框架提供创建基于触摸用户界面的类

      所有的iOS应用程序都基于UIKit,你不能是应用程序脱离这个框架。UIKit提供了在屏幕上绘制的机制,捕获事件,和创建通用用户界面元素。UIKit也通过管理显示在屏幕上的组件来组织复杂的项目。

      使用UIKit可以:

 

  • 构建和管理你的用户界面
  • 捕获触摸和基于移动的事件
  • 呈现文字和web内容
  • 优化你的多任务程序
  • 创建定制的用户界面元素

 

     在《YouFirst iOS App Tutorial》里,你也使用到了UIKit。当你仔细查看程序是怎么运行起来的时候,你会看到UIApplicationMain函数创建一个UIApplication类的实例,这个实例会捕获进来的用户事件。你实现UITextFieldDelegate协议,然后在用户按下Done时隐藏键盘。实际上,你是在使用UIKit创建用户界面上的UITextField, UILabel,和UIButton类。


你需要知道的其它重要的框架

 
Core Data , Core Graphics, Core Animation,和OpenGLES框架都是高级的技术。所以这些框架对于你开发应用程序也是很重要的,它们都需要时间去学习和掌握。

 

 

Core Data框架管着理应用程序数据模型

 

         Core Data提供对象的管理,使用Core Data,你可以创建模型对象,并管理这些对象。你管理这这些对象间的联系并修改数据。Core Data提供的内建SQLlite技术可以高效的管理数据。

         使用Core Data可以:

 

  • 在库里存储和接收对象
  • 提供基本的undo/redo
  • 自动验证属性值
  • 过滤、分组和优化内存中的数据
  • 用[NSFetchedResultsController]管理表视图中的结果
  • 支持基于文档的应用程序

 

 

Core Graphics框架帮助你创建图形

 

       高质量的图形对于所有的iOS应用程序都是很重要的。在iOS中最简单且最快捷的创建图形的方式是使用UIKit框架提供的基于预渲染图形的视图和控件,然后让UIKit和iOS完成绘制。但是当你需要创建复杂的图形时,Core Graphics则提供了更底层的库来帮助你。

       使用Core Graphics可以:

 

 

  • 创建基于路径的绘图
  • 抗锯齿渲染
  • 添加梯度、图片和颜色
  • Use coordinate-space transformations.
  • 创建、显示和分析PDF文档

 

 

Core Animation允许你创建高级的动画和虚拟效果

 

           UIKit提供建立在Core Animation之上的动画。如果你需要比UIKit能力更高级的功能,可以直接使用Core Animation。Core Animation接口包含在Quartz Core框架里。使用Core Animation可以创建嵌套的对象,并且可以对它们操作、旋转、缩放和转换。使用Core animation,你可以创建动态的用户界面而不用使用更底层的图形API,如OpenGL ES。

           使用Core Animation可以:

 

  • 创建定制动画
  • 添加定时函数和图形
  • 支持帧动画
  • Specify graphical layout constraints.
  • Group multiple-layer changes into anatomic update.

 

OpenGL ES 框架提供2D和3D绘图工具

OpenGL ES支持2D和3D绘图,Apple的OpenGL ES实现通过硬件提供了高速的全屏游戏式的应用程序。

           使用OpenGL ES可以:

 

  • 创建2D和3D图形
  • 创建更复杂的图形,比如数据虚拟化、模拟飞行,或者视频游戏
  • 访问底层图形设备

 

根据需要向项目中添加其它框架

           还有许多框架可以添加到你的程序里。当你决定使用一个框架但项目里却没有引入这个框架时,你就需要将它加入到你的项目里。

 

 

将别的框架添加到工程里

 

    1 打开工程

    2 点击项目名,显示project editor

    3 在TARGETS列表中选中要添加框架的工程

    4 点击project editor顶部的Build Phases

    5 点击Link Binary With Libraries前面的三角形打开这个分组

    6 通过点击添加(+)来添加一个框架

    7 在列表中选择一个框架,然后点击Add按钮

 

 

表 1  设备中的框架

名称

最先引入

前缀

描述


Accelerate.framework

4.0


cblas
,
vDSP

包含加速数学和DSP函数。 请查看 加速框架参考 。


AddressBook.framework

2.0


AB

包含直接访问用户联系人数据库的函数。请查看地址簿框架参考


AddressBookUI.framework

2.0


AB

包含显示系统定义的联系人挑选界面和编辑界面的类。请查看iOS地址簿UI框架参考 。


AssetsLibrary.framework

4.0


AL

包含显示用户照片和视频的类,请查看资源库框架参考 。


AudioToolbox.framework

2.0


AU
,
Audio

包含处理音频流数据以及播放或录制音频的接口。请查看音频工具箱框架参考


AudioUnit.framework

2.0


AU
,
Audio

包含加载并使用音频单元的接口。请查看音频单元框架参考.


AVFoundation.framework

2.2


AV

包含播放或录制音频的Objective-C接口。请查看AV Foundation框架参考.。


CFNetwork.framework

2.0


CF

包含通过WiFi或者蜂窝无线访问网络的接口。请查看CFNetwork框架参考


CoreAudio.framework

2.0


Audio

包含Core Audio框架使用的各种数据类型。请查看Core Audio 框架参考 。


CoreData.framework

3.0


NS

包含管理应用程序数据模型的接口。请查看Core Data 框架参考 。


CoreFoundation.framework

2.0


CF

提供一些基本软件服务,包括常见数据类型抽象、字符串实用工具、群体类型实用工具、资源管理以及偏好设置。请查看rovCore Foundation框架参考


CoreGraphics.framework

2.0


CG

包含Quartz 2D接口。请查看Core Graphics 框架参考 。


CoreLocation.framework

2.0


CL

包含确定用户方位信息的接口。请查看Core Location 框架参考


CoreMedia.framework

4.0


CM

包含操作音频和视频的底层例程。请查看Core Media 框架参考


CoreMotion.framework

4.0


CM

包含访问加速度计以及陀螺仪的数据的接口。请查看Core Motion 框架参考


CoreTelephony.framework

4.0


CT

包含访问电话相关的信息的例程。请查看Core Telephony 框架参考


CoreText.framework

3.2


CT

包含一个文本的布局渲染引擎。请查看Core Text参考集.。


CoreVideo.framework

4.0


CV

包含操作音频和视频的底层例程。请不要直接使用该框架。


EventKit.framework

4.0


EK

包含访问用户日历事件数据的接口。请查看Event Kit 框架参考


EventKitUI.framework

4.0


EK

包含显示标准系统日历界面的类。请查看Event Kit UI 框架参考


ExternalAccessory.framework

3.0


EA

包含与外设进行通讯的接口。请查看External Accessory 框架参考


Foundation.framework

2.0


NS

包含Cocoa Foundation层的类和方法。请查看Foundation 框架参考


GameKit.framework

3.0


GK

包含点对点连接管理接口。请查看Game Kit 框架参考


iAd.framework

4.0


AD

包含在应用程序中显示广告的类。请查看iAd 框架参考


ImageIO.framework

4.0


CG

包含读取或写入图像数据的类。请查看Image I/O 参考集


IOKit.framework

2.0

N/A

包含设备所使用的接口。请不要直接使用此框架。


MapKit.framework

3.0


MK

包含将地图界面嵌入到应用程序的类,也可以用于查找地理编码反向坐标。请查看Map Kit框架参考


MediaPlayer.framework

2.0


MP

包含显示全屏视频的接口。请查看Media Player 框架参考


MessageUI.framework

3.0


MF

包含撰写和排队发送电子邮件信息的界面。请查看Message UI 框架参考


MobileCoreServices.framework

3.0


UT

定义系统支持的统一类型标识符(UTIs)。


OpenAL.framework

2.0


AL

包含OpenAL接口。OpenAL是一个跨平台的方位音频库。如需进一步了解,请访问http://www.openal.org


OpenGLES.framework

2.0


EAGL
,
GL

包含OpenGL ES接口。OpenGL ES框架是OpenGL跨平台2D和3D渲染库的跨平台版本。请查看OpenGL ES 框架参考


QuartzCore.framework

2.0


CA

包含Core Animation接口。请查看Quartz Core 框架参考


QuickLook.framework

4.0


QL

包含预览文件接口。请查看Quick Look 框架参考


Security.framework

2.0


CSSM
,
Sec

包含管理证书、公钥私钥以及信任策略的接口。请查看Security框架参考


StoreKit.framework

3.0


SK

包含用于处理与应用程序内购买相关的财务交易。请查看 Store Kit 框架参考


SystemConfiguration.framework

2.0


SC

包含用于处理设备网络配置的接口。请查看System Configuration框架参考


UIKit.framework

2.0


UI

包含iOS应用程序用户界面层使用的类和方法。请查看UIKit 框架参考

 
分享到:
评论

相关推荐

    ios-iOS基础框架.zip

    "iOS基础框架"主要涵盖了Apple为开发者提供的各种库和工具,它们提供了构建iOS应用所需的核心功能。这些框架包括UIKit、Foundation、Core Data、Core Animation等,它们构成了iOS应用开发的基石。 首先,UIKit框架...

    iOS移动开发框架

    iOS开发框架主要包括: 1. UIKit:这个框架包含了创建和管理用户界面的基本类,如UIViewController、UIView等。我们的根视图控制器就是从UIViewController派生出来的,它是应用程序界面的基础。 2. Foundation:...

    iOS 工程入门框架

    "iOS工程入门框架"这个主题主要针对的是那些刚开始接触iOS开发或者想要深入理解iOS应用架构的新手。下面将详细阐述相关知识点。 1. **Objective-C或Swift**: iOS开发主要使用的两种语言,Objective-C是苹果的老牌...

    iOS通用开发框架

    在iOS应用开发中,构建一个通用的开发框架是提高开发效率和代码复用性的重要手段。这个开源项目名为“iOS通用开发框架”,旨在为开发者提供一套便捷、高效的基础工具集,帮助他们快速构建iOS应用程序。下面我们将...

    ios几大框架汇总

    iOS 几大框架汇总 iOS 框架是一个目录,这个目录包含了共享库,访问共享库里的代码的头文件,和其他的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。iOS 的基本框架分为四层:Cocoa Touch ...

    ios 数据请求框架 图片请求框架 刷新框架 kvc框架,进度条框架

    在iOS应用开发中,使用各种框架能够极大地提升开发效率,优化用户体验。以下是对标题和描述中提及的四个关键框架的详细解释: 1. **数据请求框架**:在iOS开发中,最常用的数据请求框架是AFNetworking。这是一个...

    IOS开发框架、开发步骤、开发重点技术详细讲解.zip

    IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发...

    iOS开发UI框架

    UIKit是iOS系统的主要UI框架,它包含了一系列的类和协议,用于构建和管理应用程序的图形用户界面。UIKit提供诸如视图(UIView)、控制器(UIViewController)和手势识别等功能,使得开发者能够创建出丰富多彩、响应...

    iOS开发框架

    在iOS应用开发中,框架是至关重要的组成部分,它们提供了一系列预先编写好的类库和API,开发者可以基于这些框架快速构建功能丰富的应用程序。本资源“iOS开发框架”显然是一个专为学习和开发iOS应用而设计的集合,...

    zmq ios最新框架

    描述中提到,“zmq框架是根据zmq官网对ios框架生成步骤生成出来的”,这意味着创建这个框架的过程遵循了官方文档的指导,确保了兼容性和稳定性。对于那些不愿意或不熟悉构建流程的开发者来说,可以直接下载并使用这...

    ATSketchKit, 在 Swift 中,iOS绘图框架编写.zip

    ATSketchKit, 在 Swift 中,iOS绘图框架编写 #ATSketchKit 0.1 ATSketchKit是一个用 Swift 编写的图形/绘制框架。它可以作为一个艺术应用的基础,一个简单的签名特征或者更多inteligent图形设计应用。快速查看如果你...

    iOS图表类框架AAChartKit

    iOS图表类框架AAChartKit AAChartKit是一款功能强大、极其精美的iOS图表类框架,基于流行的开源前端图表库Highcharts,提供了多种类型的图表绘制控件,适合多种场景下的图表绘制需求。下面是AAChartKit的主要特性和...

    IOS HTTP框架

    在iOS开发中,HTTP框架是用于处理网络请求和响应的核心工具,它们简化了与服务器进行数据交换的过程。本文将深入探讨“iOS HTTP框架”,特别是基于GitHub上的流行框架——AFNetworking。 首先,理解HTTP(超文本...

    iOS Charts框架渐变BarChartView

    由于Charts带渐变的BarChartView功能没有并入主分支,已有相关的request,但版本太老不支持Swift4.2,需自己改错,我整理了一个Bar带渐变的最新版本 使用说明: let dataSet = BarChartDataSet(values: entries, ...

    iOS9 通讯录新框架Demo

    Contacts框架主要包括以下几个核心类: 1. CNContact:这是代表单个联系人的主要类,包含了姓名、电话号码、电子邮件地址、生日等信息。 2. CNContactStore:用于与系统通讯录数据库进行交互,获取或修改联系人数据...

    iOS技术框架及特性介绍

    **iOS技术框架及特性介绍** 本文档旨在向开发者详尽阐述iOS操作系统的技术框架和特性,以便于理解如何在iPhone、iPod touch以及iPad设备上构建高效且用户友好的应用程序。 ### 谁应阅读本文档? 这篇文档面向的是...

    IOS数据一键存储框架

    "iOS数据一键存储框架"指的是一个专为iOS平台设计的数据库存储解决方案,它强调的是简便快捷的数据管理。这个框架可能是通过集成FMDB库和Objective-C的runtime技术来实现的。 **描述详解:** 描述中提到的...

    iOS组件与框架 iOS SDK高级特性剖析

    在iOS开发领域,掌握组件与框架以及SDK的高级特性是至关重要的。本资源"iOS组件与框架 iOS SDK高级特性剖析"深入探讨了这些关键知识点,旨在帮助开发者提升应用的用户体验和性能。 首先,iOS组件是构成应用程序的...

    iOS日志框架学习分享

    iOS日志框架学习分享 易于测试和收集应用的日志信息或是难以重现的问题,我们可以在离开Xcode的情况下将日志发送到邮箱

Global site tag (gtag.js) - Google Analytics