iOS 技术预览

iOS 技术预览

1. 关于iOS相关技术

iOS是运行在iPad,iPhone,iPod设备上的操作系统。iOS Software Development Kit(SDK)包含开发、安装、运行、测试App需要的工具和接口。App开发使用Objective-C和Apple提供的框架。帮助文档 :Xcode>Help>Documentation and API Reference

2. iOS分层体系结构

层次:

--------------------

|  Cocoa Touch |

---------------------

|  Media            |

--------------------

| Core Services|

---------------------

| Core OS        |

---------------------

(1).  Cocoa Touch 层,编写iOS App的关键框架,包括:用户界面、触摸输入、多任务、通知推送、其他高级的系统服务。高级特性:

a). App Extensions:扩展app的功能,如:Share(分享到社交网络)、Action(对当前内容执行一个简单的任务)、Widget(通知中

心不减)、Photo editing(照片编辑)、Document provider(提供允许别的App访问的文档存储器)、Custom keyboard

b).Handoff:切换到另外一个设备上继续原来的工作

c).Document Picker:UIDocumentPickerViewController授权用户访问应用程序沙盒之外的文件。

d).AirDrop:相互靠近的设备之间共享照片、文档、URL、其他数据等。UIActivityViewController。

e).TextKit:处理和格式化文本。

f). UIKit Dynamics:App可以为UIView对象和其他遵循UIDynamicItem协议的对象指定动态行为。

g).Multitasking:多任务

h).Auto Layout:使用少量的代码建立动态的界面(即自动适应)。

i).Storyboards:推荐的设计用户界面的方式

j).UI State Preservation(UI状态保持)

k).Apple Push Notification Service:消息推送提示用户有新消息,即使App不在运行。

l).Local Notifications

m).Gesture Recognizer:检测常规类型手势。所有手势识别器都是基于UIGestureRecognizer类。

n).Standard System View Controller:许多系统框架定义了标准的系统界面的控制器。包括:使用Addres Book UI框架来显示

和编辑联系人、使用EventKit UI框架创建和编辑日历事件、使用Message UI框架构建邮件或SMS消息、使用UIKit框架中的            UIDocumentInteractionController类来打开或预览文件、使用UIKit框架中的UIImagePickerController类来选择图片和照片和            视频剪辑。

(2). Media(媒体)层:包含图像,音频,视频,Airplay支持。

1). 图像相关:

a). UIKit graphics:UIKit定义的在你的视图中支持绘画图片,动画显示视图内容。

b). Core Graphics framework:也称为Quartz,本地绘画引擎,支持2D和图形渲染。

c). Core Animation:Quartz核心框架的部分,优化App的动画体验

d). Core Image:以无损检测的方式支持对视频和图像的管理。

e). OpenGL ES 和 GLKit: OpenGL ES使用硬件加速接口来处理高级2和3D渲染。GLKit为OpenGL ES的Objective-C面向

对象封装。

f). Metal: 使用极低的开销来访问A7 GPU。

g). TextKit和Core Text:TextKit为UIKit家族中的类用于执行文本格式和管理文本。Core Text为基于C语言的高级文本格式好

和布局。

h). Image I/O:提供大多数图形读/写访问接口。

i). Photo 库:Photos和PhotosUI框架提供用户照片、视频、和媒体文件的访问。

2). 音频相关:

a). Media Player framework:访问用户iTunes库,支持播放列表。

b). AV Foundation:录音和回放音频和视频的Objective-C接口。

c). OpenAL:传输音频使用的工业级别的技术。

d). Core Audio:提供了录制和回放音频和MIDI内容的简单的和复杂的接口。

支持的音频格式:AAC,ALAC,A-law,IMA4,u-law,DIV/Intel IMA ADPCM,Microsoft GSM 6.10, AES3-2003

3). 视频相关:

a). UIImagePickerController:UIKit用于选择用户媒体文件的视图控制器。

b). AVKit:呈现视频的一系列简单接口,支持全屏播放视频,支持可选的播放控制。

c). AV Foundation:提供高级的视频回放和录制。

d). Core Media:定义了低级别的数据类型和管理媒体的接口。

4). AirPlay:

将你的音频和视频内容导入到Apple TV和其他第三方AirPlay设备上播放。支持AirPlay:

a). 为了将内容显示在iOS设备上,创建一个窗口病设置它为UIScreen对象。

b). Media Play framework的回放类自动支持AirPlay。

c). AV Foundation的AVPlayer类可以支持AirPlay播放音频和视频内容(需要用户启用)。

d). 通过embed标签的airplay属性使得web上的音频和视频支持AirPlay播放。UIWebView类也支持。

(3). Core Service层,Core Foundation和Foundation 框架,支持位置、iCloud、社交媒体、网络等。高级特性包括:

a). Peer-to-Peer:点对点服务,接近的设备间通过蓝牙进行点对点连接。

b). iCloud Storage:存储文档和数据。

c). Block Objects: 类似其他语言的闭包。

d). Data Protection:数据保护。

e). File-Share Support:使得用户数据文件在iTunes9.1+中可用。

f). Grand Central Dispatch:BSD的技术。

g). In-App Purchase:应用内购物。

h). SQLite:应用程序中使用SQLite数据库。

i). XML Support:NSXMLParser类解析XML文档。

(4).Core OS层:

a). Accelerate Framework:包含了执行DSP,线性代数,图像处理的接口。

b). Core Bluetooth Framework:蓝牙相关操作。

c). External Accessory Framework:提供了与iOS上扩展的硬件设备通信的接口。

d). Generic Security Services Framework(GSS):安全服务相关。

e). Local Authentication Framework:让你使用Touch ID来验证用户身份。

f). Network Extension Framework:提供配置和控制VPN的接口。

g). Security Framework:保证你App管理的数据的安全。

h). System:包括内核环境,驱动,以及底层的UNIX接口。

i). 64-Bit Support:支持64位体系结构。

3. Cocoa Touch层包含的框架

(1).  Address Book UI Framework

AddressBookUI.framework用于创建、编辑、选择联系人。

(2). EventKit UI Framework

EventKitUI.framework提供显示和编辑日历相关事件的视图控制器。

(3). GameKit Framework

GameKit.framework支持游戏中心(让用户在线共享游戏相关信息)。

(4). iAd Framework

iAd.framework通过在应用程序中提供广告获取资金。

(5). MapKit Framework

MapKit.framework应用程序中嵌入地图。

(6). Message UI Framework

MessageUI.framework允许你应用程序中发送邮件和信息。

(7). Notification Center Framework

NotificationCenter.framework在通知中心创建小部件。

(8). PushKit Framework

PushKit.framework提供VoIP应用程序注册支持。

(9). UIKit Framework

UIKit.framework实现图形界面主要框架,包括:

a). 用户界面管理,包括支持nib和storyboard文件;

b). 用户界面的视图控制器;

c). 代表标准系统视图和控制器的对象;

d). 支持处理touch和motion事件;

e). 支持文档模型包括iCloud;

f). 支持图形和窗口,包括支持扩展显示;

g). 多任务支持;

h). 打印支持;

i). 支持定制标准UIKit控制器界面;

j). 支持文本和web内容;

k). 支持剪切,复制,黏贴;

l). 动画支持用户界面内容;

m). 通过URL协议和框架接口整合系统中其他App;

n). 禁止用户访问;

o). 支持Apple Push Notification 服务;

p). 支持本地通知;

q). 创建PDF;

r). 定制视图输入;

s). 创建定制的文本视图;

t). 支持邮件,Twitter, Facebook其他服务共享内容

4. Media层包含的框架:

(1). Assets Library Framework

AssetsLibrary.framework提供对Photos应用管理的照片和视频的访问。

(2). AV Foundation Framework

AVFoundation.framework提供了播放,录制,管理音频和视频内容的Objective-C类。

(3). AVKit Framework

AVKit.framework利用AVFoundation.framework中的类管理视频。

(4). Core Audio

包含处理音频的一系列框架,支持产生、录制、混频、播放音频。CoreAudio.framework 定义了音频相关的数据类型。

a). AudioToolbox.framework录制和回放音频文件。也支持管理音频文件、播放系统警告声音、触发设备震动。

b). AudioUnit.framework提供使用内建音频单元(音频处理模块)的服务。

c). CoreMIDI.framework提供与MIDI设备通信的标准方式。

d). MediaToolbox.framework访问音频tap的接口。

(5). CoreAudioKit Framework

CoreAudioKit.framework提供与内建音频App链接管理的标准视图。

(6). Core Graphics Framework

CoreGraphics.framework包含Quartz 2D绘画相关API的接口。

(7). Core Image Framework

CoreImage.framework提供内建的过滤视频和图像的接口。

(8). Core Text Framework

CoreText.framework提供基于C语言的布局文本和处理字体的接口。

(9). Core Video Framework

CoreVideo.framework为Core Media框架提供缓冲和缓冲池。

(10). Game Controller Framework

GameController.framework允许你App中发现和配置iPhone/iPod/iPad(MFi)游戏控制器硬件。

(11). GLKit Framework

GLKit.framework包含了简化创建一个OpenGL ES App的类。

(12). Image I/O Framework

ImageIO.framework提供导入和导出图像数据和元数据的接口。

(13). Media Accessibility Framework

MediaAccessibility.framework管理媒体文件字幕内容。

(14). Media Player Framework

MediaPlayer.framework提供播放音频和视频内容的高级接口。

(15). Metal Framework

Metal提供A7 GPU支持

(16). OpenAL Framework

应用间传输音频的的标准接口。

(17). OpenGL ES Framework

OpenGLES.framework提供绘画2D和3D内容的工具。基于C语言的框架

(18). Photos Framework

Photos.framework提供使用照片和视频资源(包括iCloud上)的接口。

(19). Photos UI Framework

PhotosUI.framework允许你创建用于编辑图片和视频的App扩展。

(20). Quartz Core Framework

QuartzCore.framework保护核心动画接口。

(21). SceneKit Framework

是一个使用3D图像创建简单游戏和富App的Objective-C框架。

(22). SpriteKit Framework

SpriteKit.framework为2D和2.5D游戏提供硬件加速。

5. Core Services层包含的框架:

(1).  Accounts Framework

Accounts.framework提供统一的账号管理。

(2). Address Book Framework

AddressBook.framework程序可访问的用户联系人数据库。

(3). Ad Support Framework

AdSupport.framework提供访问一个应用程序中用于广告的标识符。

(4). CFNetwork Framework

CFNetwork.framework使用网络协议。

(5). CloudKit Framework

CloudKit.framework提供iCloud支持。

(6). Core Data Framework

CoreData.framework 管理数据模型。

(7). Core Foundation Framework

CoreFoundation.framework:基于C语言的基础数据管理和iOS服务。

a).  数据集类型(数组,集合等)

b). Bundles(包)

c). 字符串管理

d). 日期时间管理

e). 原始数据块管理

f). URL和流操作

g).线程和run loop

h).端口和Socket通信

(8). Core Location Framework

CoreLocation.framework提供地址和航向信息。

(9). Core Media Framework

CoreMedia.framework提供AV Foundation框架访问的低级媒体类型。

(10). Core Motion Framework

CoreMotion.framework访问设备上所有motion相关的数据。

(11). Core Telephony Framework

CoreTelephony.framework提供与电话相关信息交互接口。

(12). EventKit Framework

EventKit.framework访问日历事件的接口。

(13). Foundation Framework

Foundation.framework对Core Foundation框架中许多特性进行Objc包装。

a). 数据集类型(数组,集合等)

b). Bundles(包)

c). 字符串管理

d). 日期和时间管理

e). 原始数据块管理

f). 偏好设置管理

g). URL和流操作

h). 多线程和run loops

i). Bonjour(零配置网络)

j).端口通信管理

l). 国际化支持

m). 正则表达式

n). Cache支持

(14). HealthKit Framework

HealthKit.framework管理健康相关信息。

(15). HomeKit Framework

HomeKit.framework智能家居相关。

(16). JavaScript Core Framework

JavaScriptCore.framework提供Javascript对象的Objc封装。用于执行Javascript代码和解析JSON数据。

(17). Mobile Core Services Framework

MobileCoreServices.framework定义UTIs低级别的类型。

(18). Multipeer Connectivity Framework

MultipeerConnectivity.framework支持发现附近的设备,且无需请求Internet连接久能与之通信。

(19). NewsstandKit Framework

NewsstandKit.framework提供一个供用户阅读新闻和杂志的中心位置。

(20). PassKit Framework

PassKit.framework提供存储优惠券,登机牌,活动门票,和商业折扣卡的位置。

(21). Quick Look Framework

QuickLook.framework提供直接预览文件内容的接口。

(22). Safari Services Framework

SafariServices.framework支持Safari之间访问URL。

(23). Social Framework

Social.framework提供访问设计媒体账号分享内容。

(24). StoreKit Framework

StoreKit.framework提供iOS应用中支持为内容和服务付款。

(25). System Configuration Framework

SystemConfiguration.framework配置网络连接的接口。

(26). WebKit Framework

WebKit.framework应用程序中显示HTML内容。也提供创建或编辑HTML文件中DOM对象。

6. iOS设备上可以的框架

<Xcode.app>/Contents/Developer/Platforms/iPhoneOS.platfrom/Developer/SDKs/<iOS_SDK>/System/Library/Frameworks

7.  系统库

目录: /usr/lib 和 /usr/include

时间: 2024-10-10 02:15:55

iOS 技术预览的相关文章

熊猫猪新系统测试之一:Windows 10 技术预览版

话说本猫不用windows很多年了呀!不过看到微软最新的Windows10还是手痒了,想安装体验一把.于是第一时间下载,并做成usb引导安装镜像,在08年的老台式机上安装尝鲜鸟.下载ISO和安装方法这个略过了,因为网上一大把教程吖!这里只是就使用的第一感觉和大家分享下. 首先,微软自己说了,Windows10 技术预览版(build 9841)不推荐实际工作使用,一是因为bug较多,二是微软会在后台大量收集用户使用报告,有隐私拒绝强迫症的童鞋可以略过鸟!我在家一般用Mac OS X系统,在单位用

Windows Server 2016技术预览

Windows Server 2016是微软将于2016年9月份发布的最新服务器操作系统.目前微软官方发布了许多Windows Server 2016新的功能和特性,下面我们来简单看下: 主要内容 预览版界面 系统需求及安装 服务器管理变化 新特性及变化 预览版界面 服务器界面,沉浸而不渲染 登录界面,色调变得活泼起来,用户图像由原先Windows2012的方块变成圆形 继续 进入系统,乍一看,以为是WIN10呢,注意右下角 如此做法,似乎在传递win10的最佳服务器系统就是他了 开始菜单,Al

微软发布Win10:技术预览版免费下载

微软今日如约放出了Windows 10技术预览版的下载,大家现在就可以免费下载Windows 10技术预览版ISO文件,安装并开启体验. Windows 10技术预览版首批提供了英语.简体中文.葡萄牙语,含32位.64位. Windows 10技术预览版简体中文版64位大小为3.96GB,32位大小为3.05GB. 产品密钥:NKJFK-GPHP7-G8C3J-P6JXR-HQRJR Windows 10技术预览版简体中文版官方下载: 64位:http://go.microsoft.com/fw

Windows 10 技术预览版抢先体验

Windows 10 是微软公司新一代操作系统,即传说中的Windows Threshold,NT内核为6.4.该系统于2014年9月30日(美国东部时间, 北京时间2014年10月1日)发布开技术预览版.北京时间10月2日凌晨开放下载技术预览版[1] .该操作系统可能会是微软的最后一款操作系统(即不再有大更新). Windows 10正式版将于2015年发布,将涵盖PC.平板电脑.手机.XBOX和服务器端,芯片类型将涵盖Intel.AMD和ARM[2] . 上面文字引述百度百科内容. ====

WINDOWS SERVER 2016 TP4(技术预览第四版)搭建MDT 2013 UPDATE 1成功

c=gengchenencheenWINDOWS SERVER 2016 TP4(技术预览第四版)搭建MDT 2013 UPDATE 1成功 WINDOWS SERVER 2016 TP4(技术预览第四版) MDT 2013 UPDATE 1

System Center 10 DPM技术预览版安装体验

前言 整体来说,System Center DPM技术预览版的安装过程和之前DPM 2012 R2的安装过程没有太大的区别,安装完成后的管理界面也没有太大的区别.相信等正式版推出之后,会有大量的新功能和新特性放出来,对新产品的支持会更好. 下载的安装包是exe格式的,需要先解压出来. 进入到解压后的文件夹,运行SCDPM的安装文件. 然后进入DPM的安装向导,选择install data protection manager. 同意许可协议. DPM会自动完成先决条件的准备组件安装. 进入安装的

微软 Windows 10 简体中文技术预览版 下载及试用

1. 下载 Windows Technical Preview 下载地址: http://windows.microsoft.com/zh-cn/windows/preview-iso 产品密钥: NKJFK-GPHP7-G8C3J-P6JXR-HQRJR 系统要求 基本上,如果你的电脑可以运行 Windows 8.1,则可以放心开始安装. 如果不太确定,不必担心-Windows 将检查你的系统以确保可以安装技术预览版. 处理器:1 千兆赫 (GHz) 或更快 内存:1 GB(32 位)或 2

06、Windows 10 技术预览

随着 Windows 10 发布的,未来 Windows 平台都是统一开发模型,可以只写一个 Appx 包,就可以同时部署到 Windows/ Windowsw Phone/ Tablet /xbox ..平台上了,我们几个 Windows 组的同事也是摩拳擦掌,希望写一 个用户体验很好的客户端. 看了一下 MSDN 最新发布的文档和视频教程,这里作为笔记,大概总结了一下在 Windows 10上,针对 Windows 8.1 和 WP 上的一些技术更新. 贴一张视频里面聚合的路线图: MSDN

微软发布Azure Stack第一个技术预览版

为了提升商业灵敏度和加快创新步伐,各个企业都在迅速地转向云服务.在微软,我们已经见到微软智能云Azure的飞速发展和使用,每月我们都有近十万的新增订阅量.然而,我们也了解到还有很多企业在完全移到公有云这点上仍然存有业务上的顾虑,像在数据主权或符合监管要求方面的考虑.而这就让他们处于一个比较复杂的境遇,即一脚驻足于公有云.一脚仍留在本地的数据中心. 为了管理这种复杂性,微软认为企业需要把云作为一种模式,而不仅仅是一个位置.这个模式连接基础设施,应用和人,以混合云的方式,实现私有云,托管云(host