iOS是执行在iPhone、iPod Touch或iPad上的操作系统,之前叫做iPhone OS,iOS与Mac OS X有共同的基础架构和底层技术。但iOS是依据移动设备的特点而设计的,所以和Mac OS X系统略有差别,比方对多点触摸和加速感应器的支持。

以下来看看iOS框架简单介绍:

iOS 的系统架构分为四个层次:核心操作系统层(Core OS layer)、核心服务层(Core Services layer)、媒体层(Media layer)和可触摸层(Cocoa Touch layer)。下图展示了Mac OS X和iOS系统架构层次的一个对照。

从上图中我们能够发现Mac OS X与iOS的系统架构层次仅仅有最上面一层不同,由Cocoa框架换成了Cocoa Touch,因此开发iOS应用程序与开发Mac OS X程序是相似的,如今就让我们来详细看看每层所包括的内容。

事实上iOS是基于UNIX的,所以我们全然能够相信这个操作系统,要知道从系统的稳定性上来说它要比其它操作系统的产品好非常多。

位于iOS系统架构最以下的一层是核心操作系统层,它包含内存管理、文件系统、电源管理以及一些其它的操作系统任务。它能够直接和硬件设备进行交互。核心操作系统层包含以下这些组件:

 OS X Kernel  Mach 3.0  BSD

 Sockets  Power Mgmt  File System

 Keychain  Certificates  Security

 Bonjour

第二层是核心服务层,我们能够通过它来訪问iOS的一些服务。它包含下面这些组件:

 Collections  Address Book  Networking

 File Access  SQLite  Core Location

 Net Services  Threading  Preferences

 URL Utilities

第三层是媒体层,通过它我们能够在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。它包含下面这些组件:

 Core Audio  OpenGL  Audio Mixing

 Audio Recording  Video Playback  JPG,PNG,TIFF

 PDF  Quartz  Core Animation

 OpenGL ES

最上面一层是可触摸层,这一层为我们的应用程序开发提供了各种实用的框架,而且大部分与用户界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。它包含下面这些组件:

 Multi-Touch Events  Core Motion  Camera

 View Hierarchy  Localization  Alerts

 Web Views  Image Picker  Multi-Touch Controls

在Cocoa Touch层中的非常多技术都是基于Objective-C语言的。Objective-C语言为iOS提供了像集合、文件管理、网络操作等支持。像 UIKit框架,它为应用程序提供了各种可视化组件,比方像窗体(Window)、视图(View)和button组件(UIButton)。Cocoa Touch层中的其它框架,对我们在应用程序中的开发来说也是非常实用的,如訪问用户通信录功能框架、获取照片信息功能的框架、负责加速感应器和三维陀螺仪等硬件支持的框架。

iOS框架介绍

什么是框架?本质上来说它是帮助我们完毕各种特定功能的软件库。

我 们编写的应用程序项目,都是从Cocoa Touch层開始的,详细来说就是从UIKit Framework開始的。当在编敲代码的过程中须要用到一些特殊功能的时候,我们应该从框架的最顶端技术開始寻找对应的框架,仅仅有在上层结构无法解决时,才干使用其下层的技术。事实上,顶层的框架已经涵盖了我们绝大多数须要的功能。

表1-1列出了一些经常使用的iOS SDK框架。

IOS框架概览的更多相关文章

  1. 最新 iOS 框架整体梳理(三)

    这一篇得把介绍框架这个系列终结了,不能超过三篇了,不然太长了..... 还是老规矩,前面两篇的机票在下方: 最新 iOS 框架整体梳理(一) 最新 iOS 框架整体梳理(二) Part - 3     ...

  2. Spring Framework 5.0.0.M3中文文档 翻译记录 Part I. Spring框架概览1-2.2

    Part I. Spring框架概览 The Spring Framework is a lightweight solution and a potential one-stop-shop for ...

  3. 从零开始,打造自己的首个 iOS 框架

    如果你曾试图创建自己的iOS框架,你知道这不是一个头脑发热作出的决定 — 管理依赖以及写测试用例一点也不简单.本教程将会带你从头到尾创建你的第一个iOS框架,让你可以创建自己的框架. 我们将在框架暴露 ...

  4. iOS框架介绍

    iOS框架介绍      Cocoa Touch   GameKit  实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息  iOS设备之间蓝牙数据传输   从iOS7开始过期   局域网游 ...

  5. GPUImage ==> 一个基于GPU图像和视频处理的开源iOS框架

    Logo 项目介绍: GPUImage是Brad Larson在github托管的开源项目. GPUImage是一个基于GPU图像和视频处理的开源iOS框架,提供各种各样的图像处理滤镜,并且支持照相机 ...

  6. 最新 iOS 框架整体梳理(二)

    在前面一篇中整理出来了一些了,下面的内容是接着上面一篇的接着整理.上篇具体的内容可以点击这里查看:   最新 iOS 框架整体梳理(一) Part - 2          34.CoreTeleph ...

  7. 最新 iOS 框架整体梳理(一)

    前言 这段话其实是我差不多写完文章之后再回过头来写的,原本在写文章之前想写一下写的初衷的,但当我写完之后感觉初衷没有收获更真切一些.其实到这篇为止总结出来的也就三十多个,有些是比较新的框架,有些是我们 ...

  8. IOS框架和服务

    在iOS中框架是一个目录,包含了共享资源库,用于访问该资源库中储存的代码的头文件,以及图像.声音文件等其他资源.共享资源库定义应用程序可以调用的函数和方法. iOS为应用程序开发提供了许多可使用的框架 ...

  9. 【IOS学习】1.IOS框架

    1.框架概述 iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa ...

随机推荐

  1. 数据库中字段类型对应C#中的数据类型

    数据库中字段类型对应C#中的数据类型:数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char ...

  2. J2SE知识点摘记(十二)

    1.      File类 下面的构造方法可以用来生成File对象 File(String directoryPath) geName()用于返回文件名,getParent()返回父目录名,exist ...

  3. myeclipse 环境配置优化,不断跟新整理中

    myeclipse 环境配置,不断跟新整理中1.General --->Workspace ---> UTF-8 工作环境编码2.General --->Editors --> ...

  4. 单机Oracle+asm(11.2.0.3.0) Patch Set Update(11.2.0.3.7 )

    之前写过一篇关于PSU升级的案例,参考如下: http://blog.csdn.net/jyjxs/article/details/8983880 但是,感觉有些地方理解的不是很透彻明白,照猫画虎的比 ...

  5. perl 解json数组

    <pre name="code" class="cpp">http://11.36.10.82:4000/api/bus?bus=307&f ...

  6. 传智播客C/C++学院年薪24-50万招聘C/C++讲师

    C/C++技术讲师 6名 (北京,年薪:24-50万) 传智播客C/C++课程培训体系如下: 1.C语言,世界五百强C语言面试训练 2.C++语言,世界五百强C++语言面试训练 3.数据结构与算法,世 ...

  7. 从文档流来看内联元素和块元素的css排版

    veda原创[抄录]讲得很好存自己这里看 从文档流来看内联元素和块元素的css排版 CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的 ...

  8. .net 资源

    基于.net构架的留言板项目大全源码 http://down.51cto.com/zt/70 ASP.net和C#.net通用权限系统组件功能教程 http://down.51cto.com/zt/1 ...

  9. IO与文件读写---使用Apache commons IO包提高读写效率

    觉得很不错,就转载了, 作者: Paul Lin 首先贴一段Apache commons IO官网上的介绍,来对这个著名的开源包有一个基本的了解:Commons IO is a library of ...

  10. BZOJ 1066: [SCOI2007]蜥蜴( 最大流 )

    结点容量..拆点然后随便写 --------------------------------------------------------------- #include<cstdio> ...