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. python特性、属性以及私有化

    python中特性attribute 特性是对象内部的变量 对象的状态由它的特性来描述,对象的方法可以改变它的特性 可以直接从对象外部访问特性 特性示例: class Person: name = ' ...

  2. atoi函数和atof函数

    1.函数名:atoi 功能:是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中 名字来源:alphanumeric to integer 用法:int atoi(const char *n ...

  3. linux下gmplayer安装(亲测OK!)

    需要的安装包及下载地址:  mplayer源代码包(MPlayer-1.0rc4.tar.bz2)下载:http://www.mplayerhq.hu/MPlayer/releases/ 解码器安装包 ...

  4. AutoIt 函数学习之----WinWaitActive

    WinWaitActive函数 暂停脚本的执行直至指定窗口被激活(成为活动状态)为止. WinWaitActive ( "窗口标题"[, "窗口文本"[, 超时 ...

  5. iPhone/iTouch免99美刀真机调试

    本文经本人验证,攻略来源于网上,由于多次转载原始出处不可靠,故无法对原作者进行链接引用,抱歉. 本文仅为记录流程,以备日后查询.本文版权所无,欢迎转载和拍砖. 测试环境: XCode 4.0.2 + ...

  6. 轻奢请向历史SAY NO_重青网_重庆青年报_重庆青年报电子版_重庆青年报网站_重庆青年报官方网站

    轻奢请向历史SAY NO_重青网_重庆青年报_重庆青年报电子版_重庆青年报网站_重庆青年报官方网站 轻奢请向历史SAY NO 经济学家George Taylor在他著名的"裙摆指数" ...

  7. UI_拖动View

    方法一 在touchesMoved中 // 获取到触摸的手指 UITouch *touch = [touches anyObject]; // 获取集合中对象 // 获取開始时的触摸点 CGPoint ...

  8. 关于java同步包中ConcurrentLinkedQueue类的深入分析与理解

    一,官方描写叙述 一个基于连接节点的无界线程安全队列.这个队列的顺序是先进先出.队列头部的元素是留在队列中时间最长的,队列尾部的元素是留在队列中时间最短的.新元素被插入到元素的尾部,队列从队列的头部检 ...

  9. jQuery为多个元素绑定相同的事件

    方式一: // 假设$("#div1", "#divN")有多个对象$("#div1", "#divN").each(f ...

  10. English - consist of 和 compose of 的区别

    comprise,compose,consist,constitute,include 这一组动词都有"组成,包含"的意思. comprise v.包含,包括,由……组成(整体): ...