ios的四个核心部分
来源:互联网 发布:淘宝女装店铺名字 编辑:程序博客网 时间:2024/04/29 11:50
IPHONE SDK 中文版参考库链接
http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide
ios的四个核心部分
1.Cocoa Touch
Cocoa Touch层的关键技术。
(1)多任务
为了节省电力,大多数程序进入后台后马上就会被系统暂停。暂停的程序还在内存里,但是不执行任何代码。这样程序需要重新激活的时候可以快速恢复,但是同时不浪费任何电力。然而,在如下原因下,程序也可以在后台下运行:
- 程序可以申请有限的时间完成一些重要的任务。
- 程序可以声明支持某种特定的服务,需要周期的后台运行时间。
- 程序可以使用本地通知在指定的时间给用户发信息,不管程序是否在运行。
不管你的程序在后台是被暂停还是继续运行,支持多任务都不需要你做什么额外的事情。系统会在切换到后台或者切换回来的时候,通知程序。在这个时刻,程序可以直接执行一些重要的任务,例如保存用户数据等。
(2)打印
程序提交的打印作业会被传递给打印系统,它管理真正的打印流程。设备上所有程序的打印作业会被排成队列,先入先出的打印。用户可以从打印中心程序看到打印作业的状态。所有这些打印细节都由系统自动处理。
注意:仅有支持多任务的设备才支持无线打印。你的程序可使用 UIPrintInteractionContro
(3)数据保护
要实现良好的数据保护,需要仔细考虑如何创建和管理你需要保护的数据。应用程序必须在数据创建时确保数据安全,并适应设备上锁与否带来的文件可访问性的变化。
(4)苹果推通知服务
从设计的角度看,要让iOS程序可以发送推通知,需要两部分的工作。首先,程序必须请求通知的发送,且在送达的时候能够处理通知数据。然后,你需要提供一个服务端流程去生成这些通知。这一流程发生在你自己的服务器上,和苹果的推通知服务一起触发通知。
(5)本地通知
本地通知的优势在于它独立与你的程序。一旦通知被预定,系统就会来管理它的发送。在消息发送的时候,甚至不需要应用程序还在运行。
(6)手势识别器
UIKit包含了UIGestureRecognizer
- 点击(任何次数)
- 捏合缩放
- 平移或者拖动
- 划过(任何方向)
- 旋转(手指分别向相反方向)
- 长按
(7)文件共享支持
要打开文件共享支持,请:
- 在程序的Info.plist文件内加入键UIFileSharingEnabled,值设置为YES。
- 把你要共享的文件放在程序的Documents目录内。
- 设备插到用户电脑时,iTunes在选定设备的程序页下面显示文件共享块。
- 用户可以在桌面上增加和删除文件。
支持文件共享的程序必须能够识别放到Documents目录内的文件,并正确的处理它们。例如,程序应该用自己的界面显示新出现的文件,而不是把这些文件列在目录里,问用户该如何处理这些文件。
(8)点对点对战服务
更多关于如何在程序中使用点对点对战功能的信息,参标准系统View Controller
Cocoa Touch层的很多框架提供了用来展现标准系统接口的View Controller。你应该尽量使用这些View Controller,以保持用户体验的一致性。任何时候你需要做如下操作的时候,你都应该用对应框架提供的View Controller:
- 显示和编辑联系人信息
- 使用Address Book UI框架提供的View Controller。 - 创建和编辑日历事件
- 使用Event Kit UI框架提供的View Controller。 - 编写email或者短消息
- 使用Message UI框架提供的View Controller。 - 打开或者预览文件的内容
- 使用UIKit框架里的UIDocumentInteractionCon troller 类。 - 拍摄一张照片,或者从用户的照片库里面选择一张照片
- 使用UIKit框架内的UIImagePickerController类。 - 拍摄一段视频
- 使用UIKit框架内的UIImagePickerController类。
(9)外部显示支持
(10)Cocoa Touch框架
*Address Book UI框架
*Event Kit UI框架
*Game Kit框架
*iAd框架
*Map Kit框架
从iOS 4.0开始,这个框架加入可拖动标记和定制覆盖对象的功能。可拖动标记令你可以移动一个已经被放置到地图上的标记,编程,也可以通过用户行为。覆盖对象提供了创建比标记点更复杂的地图标记的能力。你可以使用覆盖对象在地图上来放置信息,例如公交路线,选区图,停车区域,天气信息(如雷达数据)。
*Message UI框架
iOS 4.0和以后的系统,这个框架开始支持用来编写短消息的view controller。你可以使用这种view controller来创建和编辑短消息,而不用离开程序。和邮件编写接口一样,这个接口让用户选择发送前是否编辑一下。
2.Media
Media层提供了图片,音乐,影片等多媒体功能。图像分为2D图像和3D图像, 前者由Quartz2D来支持,后者则是用OpenglES.与音乐对应的模组是Core Audio和OpenAL, Media Player 实现了影片的播放, 而最后还提供了Core Animation来对强大动画的支持。具体介绍如下:
(1)图像技术(Graphics Technologies)
核心音频框架:
框架(Framework)
CoreAudio.framework
AudioUnit.framework
AudioToolbox.framework
(3)视频技术(Video Technologies)
3.Core Services
Core Services在Core OS基础上提供了更为丰富的功能, 它包含了Foundation.Framework和Core Foundation.Framework, 之所以叫Foundation ,就是因为它提供了一系列处理字串,排列,组合,日历,时间等等的基本功能。Foundation是属于Objective-C的API,Core Fundation是属于C的API。另外Core servieces还提供了其他的功能,比如:
(1)电话本
(2)核心基础框架
(3)CFNetwork
(4)核心位置框架(Core Location Framework)
(5)安全框架(Security Framework)
(6)SQLite
(7)支持XML
4.Core OS
核心服务层为所有应用提供基础系统服务,即使不直接使用这些服务,也应该了解内置在该系统中的技术。
(1)电话本
电话本框架(AddressBook.framework)提供了保存在手机设备中的电话本编程接口。开发者能使用该框架访问和修改存储在用户联系人数据库里的记录。例如,一个聊天程序可以使用该框架获得可能的联系人列表,启动聊天的进程(Process),并在视图上显示这些联系人信息等。
(2)核心基础框架
核心基础框架(CoreFoundation.framework)是基于C语言的接口集,提供iPhone应用的基本数据管理和服务功能。该框架支持如下功能:
Collection数据类型(Arrays、 Sets等);
Bundles;
字符串管理;
日期和时间管理;
原始数据块管理;
首选项管理;
URL和Stream操作;
线程和运行循环(Run Loops);
端口和Socket通信。
核心基础框架与基础框架是紧密相关的,它们为相同的基本功能提供了Objective-C接口。如果开发者混合使用Foundation Objects 和Core Foundation类型,就能充分利用存在两个框架中的"toll-free bridging"。toll-free bridging意味着开发者能使用这两个框架中的任何一个的核心基础和基础类型,例如Collection和字符串类型等。每个框架中的类和数据类型的描述注明该对象是否支持toll-free bridged。如果是,它与哪个对象桥接(toll-free bridged)。
(3)CFNetwork
CFNetwork框架(CFNetwork.framework)是一组高性能的C语言接口集,提供网络协议的面向对象的抽象。开发者可以使用 CFNetwork框架操作协议栈,并且可以访问低层的结构如BSD Sockets等。同时,开发者也能简化与FTP和HTTP服务器的通信,或解析DNS等任务。使用CFNetwork框架实现的任务如下所示:
BSD Sockets;
利用SSL或TLS创建加密连接;
解析DNS Hosts;
解析HTTP协议,鉴别HTTP和HTTPS服务器;
在FTP服务器工作;
发布、解析和浏览Bonjour服务。
(4)核心位置框架(Core Location Framework)
核心位置框架(CoreLocation.framework)主要获得手机设备当前的经纬度,核心位置框架利用附近的GPS、蜂窝基站或Wi- Fi信号信息测量用户的当前位置。iPhone地图应用使用这个功能在地图上显示用户的当前位置。开发者能融合这个技术到自己的应用中,给用户提供一些位置信息服务。例如可以提供一个服务:基于用户的当前位置,查找附近的餐馆、商店或设备等。
(5)安全框架(Security Framework)
iPhone OS除了内置的安全特性外,还提供了外部安全框架(Security.framework),从而确保应用数据的安全性。该框架提供了管理证书、公钥/私钥对和信任策略等的接口。它支持产生加密安全的伪随机数,也支持保存在密钥链的证书和密钥。对于用户敏感的数据,它是安全的知识库(Secure Repository)。
CommonCrypto接口也支持对称加密、HMAC和数据摘要。在iPhone OS里没有OpenSSL库,但是数据摘要提供的功能在本质上与OpenSSL库提供的功能是一致的。
(6)SQLite
iPhone应用中可以嵌入一个小型SQL数据库SQLite,而不需要在远端运行另一个数据库服务器。开发者可以创建本地数据库文件,并管理这些文件中的表格和记录。数据库SQLite为通用的目的而设计,但仍可以优化为快速访问数据库记录。访问数据库SQLite的头文件位于<iPhoneSDK>/usr/include/sqlite3.h,其中<iPhoneSDK>是SDK安装的目标路径。
(7)支持XML
基础框架提供NSXMLParser类,解析XML文档元素。libXML2库提供操作XML内容的功能,这个开放源代码的库可以快速解析和编辑 XML数据,并且转换XML内容到HTML。访问libXML2库的头文件位于目录<iPhoneSDK>/usr/include /libxml2/,其中<iPhoneSDK>是SDK安装的目标目录。
- ios的四个核心部分
- ios的四个核心部分
- ios的四个核心部分介绍
- java的四个核心
- struts的四个核心组件
- java的四个核心概念
- CSS的四个核心概念
- 深度学习的四个部分
- 深度学习的四个部分
- 互联网的核心部分
- 对极限编程四个核心的理解
- 计算机最核心的四个层次
- CSS 最核心的四个概念
- CSS 最核心的四个概念
- Android应用程序开发的四个重要组成部分
- Android应用程序开发的四个重要组成部分
- SQL语言所包含的四个部分
- iOS四个方向的手势
- Android ApiDemos示例解析(34):App->Preferences->Preferences from code
- 你可能不了解的strtotime函数
- Xmpp初窥
- 清空FILE文件域信息
- JSP 解决illegal to have multiple occurrences of contentType with different values错误
- ios的四个核心部分
- Android应用程序的默认最大内存值
- Android 用户界面---拖放(Drag and Drop)(一)
- 黑马程序员-集合总结
- SQL Server系统存储过程和参数示例
- Android 用户界面---拖放(Drag and Drop)(二)
- 多线程开发的捷径:构建Java并发模型框架
- vb.net常用函数
- 使用Fabric自动化你的任务