iPhone文档整理.docx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- iPhone 文档 整理
- 资源描述:
-
iPhone开发模式: 1. 开发时可以采用MVC(Model ,view和Controller)模式。 MVC模式是将你的代码风格成独立的功能模块的良好方法。模型(Model)部分定义了底层数据引擎并负责维护这些数据的整合;视图(View)部分定义了用户界面,它并不知道显示在界面上的原始数据的具体含义;控制器(Controller)部分像是模型和视图之间的一坐桥梁,负责更新它们。 2. Target—Action(目标-操作)模式 控件(Controls)采用目标-行动模式来提醒程序用户的交互。当用户按照预定义的方式与某个控件交互时(例如按了某个按钮),控件会发送一个消息(动作)给指定的对象(目标)。当收到消息时,目标对象根据消息采用相应的方式进行响应(例如更新程序状态来响应按钮点击)。 3.Delegation(委托)模式。 代理模式是一种可以不必通过继承却可以改变复合类行为的途径。你可以将你的用于改变复合类行为代码放到单独的代理对象中有复合类来调用,而不必去继承。复合类会调用代理对象中的方法从而给它一次运行自己代码的机会来更改复合类的行为 4.管理内存模型(Managed Memory Model) Objective-C采用"引用计数"的方式来决定合适清理对象所占的内存。当对象初次创建时,它的引用计数为1。其他对象可以调用改对象的retain, release 或 autorelease方法增加或减少此组件的引用计数。当对象的引用计数为0时,Objective-C运行环境会清理掉该对象所占的内存。 iPhone OS 技术分层: Figure1 iPhone OS 技术分层 这样的分层给开发带来了多种选择。下面两层与硬件部分直接交互,例如,Core OS和Core Services层包含了iPhone OS的基本接口,包括文件的访问、底层数据类型、Bonjour服务和网络的Sockets等。这些接口大部分是基于C语言的,包括的技术有:Core Foundation、CFNetwork、SQLite、POSIX线程的访问和UNIX sockets。我觉得iPhone的内核应该是用C写的,而且Mach的内核是一种UNIX的内核,所以使用这两层进行程序开发,就相当于使用Linux 的API进行程序开发,在这两层,你可以使用你的代码直接操作硬件,当然这需要你对较底层的开发比较熟悉。 上面两层会有更多高级的技术,这些技术使用基于C和基于Objective-C的混合接口。比如,Media层包含了支持2D和3D绘图、音频和视频的基本技术。这一层包含了基于C的技术:OpenGL ES, Quartz, and Core Audio。同时也包含Core Animation,这时一种基于Objective-C的高级的动画引擎。Objective-C语言是C的面向对象的扩展,在这里可以看作是Linux中QT库一样,你可以像使用QT的类和接口那样来使用基于Objective-C的接口,这些都是使用Objective-C语言封装好的,它可以缩短开发的时间,但前提是要熟悉Objective-C语言。 最上面一层-Cocoa Touch层中,大部分的技术使用Objective-C。这层中的许多框架为你的程序提供了基础的底层构造。比如,Foundation框架为集合、文件管理和网络的操作提供了面向对象的支持。UIKit框架为你的程序提供可视化的底层构架,包括窗口、视图、控件类和管理这些对象的控制器。这一层中的其它框架允许你访问用户的联系人和图片信息,以及设备上的加速器和其它硬件特征。在看多几个iPhone的程序之后,发现使用最多的就是UIKit框架,它提供了一个简单的图形界面程序所需要的控件,所以你可以是不熟悉Linux或Unix开发的程序员,你只要学会UIKit框架中控件的使用方法,你就可以创建iPhone程序。 新项目的出发点应该是Cocoa Touch层,特别是UIKit框架。当选择何种附加技术时,建议你从高层的框架开始,需要时,则应求助于低层的框架。如果要在你的程序中使用最少的工作量来支持标准的系统行为,更高层的框架会使这一过程变得简单。当要实现更高层中没有提供的定制行为时,这是唯一使用更低层框架的时间。 iPhone OS的更详细的技术概览,请参考iPhone OS编程指南。 个人认为,初学者应该从最上一层开始,尤其是从没有Mac开发经验的人。上层的框架会节省你开发的时间,并且上层的框架已经非常强大,可以基本满足一个简单程序所需的所有技术。 u Cocoa Touch层 Cocoa Touch是iPhone OS架构中最重要层之一。它包括开发iPhone应用的关键框架,当开发iPhone应用时,开发者总是从这些框架开始,然后向下追溯到需要的较低层框架。Cocoa Touch层包括UIKit框架,基础框架(Foundation Framework)和电话本UI框架(Address Book UI Framework)。 (1)UIKit框架 UIKit框架(UIKit.framework)包含 Objective-C 程序接口,提供实现图形、事件驱动的iPhone应用的关键架构。iPhone OS中的每一个应用采用这个框架实现如下核心功能: l 应用管理; l 支持图形和窗口; l 支持触摸事件处理; l 用户接口管理; l 提供用来表征标准系统视图和控件的对象; l 支持文本和Web内容; l 通过URL scheme与其他应用的集成。 为提供基础性代码建立应用,UIKit也支持一些与设备相关的特殊功能,如下所示: l 加速计数据; l 内建Camera; l 用户图片库; l 设备名称和模式信息。 (2)基础框架(Foundation Framework) 基础框架(Foundation.framework)支持如下功能: l Collection数据类型(包括Arrays、Sets); l Bundles; l 字符串管理; l 日期和时间管理; l 原始数据块管理; l 首选项管理; l 线程和循环; l URL和Stream处理; l Bonjour; l 通信端口管理; l 国际化。 (3)电话本UI框架(Address Book UI Framework) 电话本UI框架(AddressBookUI.framework)是一个Objective-C标准程序接口,主要用来创建新联系人,编辑和选择电话本中 存在的联系人。它简化了在iPhone应用中显示联系人信息,并确保所有应用使用相同的程序接口,保证应用在不同平台的一致性。 u 媒体层(Media layer) 媒体层包括图像、音频和视频技术,采用这些技术在手机上创建最好的多媒体体验。更重要的是,应用这些技术开发的应用将有更好的视听效果。利用iPhone OS高层框架可以快速地创建先进的图像和动画。媒体层包括图像技术(Graphics Technologies,包括Quartz、Core Animation和OpenGL ES),音频技术(Audio Technologies,包括Core Audio和OpenAL)和视频技术(Video Technologies)。 (1)图像技术(Graphics Technologies) 高质量图像是所有iPhone应用的一个重要的组成部分。任何时候,开发者可以采用UIKit框架中已有的视图和功能以及预定义的图像来开发iPhone应用。然而,当UIKit框架中的视图和功能不能满足需求时,开发者可以应用下面描述的技术和方法来制作视图: l Quartz。核心图像框架(CoreGraphics.framework)包含了Quartz 2D画图API,Quartz 与在Mac OS中采用的矢量图画引擎是一样先进的。Quartz支持基于路径(Path-based)画图、抗混淆(Anti-aliased)重载、梯度 (Gradients)、图像(Images)、颜色(Colors)、坐标空间转换(Coordinate-space Transformations)、pdf文档创建、显示和解析。虽然API 是基于C语言的,它采用基于对象的抽象表征基础画图对象,使得图像内容易于保存和复用。 l 核心动画(Core Animation)。Quartz核心框架(QuartzCore.framework)包含CoreAnimation接口,Core Animation是一种高级动画和合成技术,它用优化的重载路径(Rendering Path)实现复杂的动画和虚拟效果。它用一种高层的Objective-C接口配置动画和效果,然后重载在硬件上获得较好的性能。Core Animation集成到iPhone OS 的许多部分,包括UIKit类如UIView,提供许多标准系统行为的动画。开发者也能利用这个框架中的Objective-C接口创建客户化的动画。 l OpenGL ES。OpenGL ES框架(OpenGLES.framework)符合OpenGL ES v1.1规范,它提供了一种绘画2D和3D内容的工具。OpenGL ES 框架是基于C语言的框架,与硬件设备紧密相关,为全屏游戏类应用提供高帧率(high frame rates)。开发者总是要使用OpenGL框架的EAGL接口,EAGL接口是OpenGL ES框架的一部分,它提供了应用的OpenGL ES画图代码和本地窗口对象的接口。 (2)音频技术(Audio Technologies) l iPhone OS的音频技术为用户提供了丰富的音频体验。它包括音频回放,高质量的录音和触发设备的振动功能等。 l iPhone OS的音频技术支持如下音频格式:AAC、Apple Lossless(ALAC)、A-law、IMA/ADPCM(IMA4)、Linear PCM、μ-law和Core Audio等。 ² 核心音频(Core Audio Family)。核心音频框架家族(Core Audio family of frameworks)提供了音频的本地支持。Core Audio是一个基于C语言的接口,并支持立体声(Stereo Audio)。开发能采用iPhone OS 的Core Audio框架在iPhone 应用中产生、录制、混合和播放音频。开发者也能通过核心音频访问手机设备的振动功能。 ² OpenAL。iPhone OS 也支持开放音频库(Open Audio Library, OpenAL)。OpenAL是一个跨平台的标准,它能传递位置音频(Positional Audio)。开发者能应用OpenAL在需要位置音频输出的游戏或其他应用中实现高性能、高质量的音频。 由于OpenAL是一个跨平台的标准,采用OpenAL的代码模块可以平滑地移植到其他平台。 (3)视频技术(Video Technologies) iPhone OS通过媒体播放框架(MediaPlayer.framework)支持全屏视频回放。媒体播放框架支持的视频文件格式包括.mov, .mp4,.m4v和.3gp,并应用如下压缩标准: l MPEG4规范的视频部分; l 众多的音频格式,包含在音频技术的列表里,如AAC、Apple Lossless (ALAC)、A-law、IMA/ADPCM(IMA4)、线性PCM、μ-law和Core Audio等。 u 核心服务层(Core Services Layer) 核心服务层为所有应用提供基础系统服务。 (1)电话本 电话本框架(AddressBook.framework)提供了保存在手机设备中的电话本编程接口。开发者能使用该框架访问和修改存储在用户联系人数据库里的记录。例如,一个聊天程序可以使用该框架获得可能的联系人列表,启动聊天的进程(Process),并在视图上显示这些联系人信息等。 (2)核心基础框架 核心基础框架(CoreFoundation.framework)是基于C语言的接口集,提供iPhone应用的基本数据管理和服务功能。该框架支持如下功能: l Collection数据类型(Arrays、 Sets等); l Bundles; l 字符串管理; l 日期和时间管理; l 原始数据块管理; l 首选项管理; l URL和Stream操作; l 线程和运行循环(Run Loops); l 端口和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框架实现的任务如下所示: l BSD Sockets; l 利用SSL或TLS创建加密连接; l 解析DNS Hosts; l 解析HTTP协议,鉴别HTTP和HTTPS服务器; l 在FTP服务器工作; l 发布、解析和浏览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安装的目标目录。 u 核心OS(Core OS) 层 包含操作系统的内核环境、驱动和基本接口。内核基于Mac操作系统,负责操作系统的各个方面。它管理虚拟内存系统、线程、文件系统、网络和内部通信。核心OS层的驱动也提供了硬件和系统框架之间的接口。然而,由于安全的考虑,只有有限的系统框架类能访问内核和驱动。 iPhone OS提供了许多访问操作系统低层功能的接口集,iPhone 应用通过LibSystem库来访问这些功能,这些接口集如下所示: l 线程(POSIX线程); l 网络(BSD sockets); l 文件系统访问; l 标准I/O; l Bonjour和DNS服务; l 区域语言相关信息(Locale Information); l 内存分配; l 数学计算。 许多Core OS技术的头文件位于目录<iPhoneSDK>/usr/include/,iPhoneSDK是SDK的安装目录。 iPhone OS框架 iPhone OS框架提供了开发应用程序的接口,表16-2列出了框架的类、方法、函数、类型或常量的关键词前缀(Key Prefix)。开发者在自己的程序中应尽量避免使用这些关键词作为前缀。 (1)设备框架 表16-2描述了iPhone OS设备的框架,它们位于目录<Xcode>/Platforms/iPhoneOS. platform/Developer/SDKs/<iPhoneSDK>/System/Library/Frameworks,这里<Xcode>是<Xcode>的安装目录,<iPhoneSDK>是指定的SDK版本目录。 表16-2 设备框架表 名 称 初始版本 前 缀 描 述 AddressBook. framework 2.0 AB 包含直接访问用户 联系人数据库的功能 AddressBookUI. framework 2.0 AB 包含显示系统定义 联系人和编辑接口 AudioToolbox. ramework 2.0 AU, Audio 包含音频流数据处 理和音频播放与录制接口 AudioUnit.framework 2.0 AU, Audio 包含装载和使用音 频单元的接口 CFNetwork.framework 2.0 CF 包含Wi-Fi和蜂窝基 站访问网络的接口 CoreAudio.framework 2.0 Audio 提供Core Audio数据类型 CoreFoundation. framework 2.0 CF 提供基础软件服务, 包括通用数据类型、 字符串应用、Collection Utilities、资源管理和 首选项的抽象 CoreLocation.framework 2.0 CL 包含用户位置信息的接口 CoreGraphics.framework 2.0 CG 包含Quartz 2D的接口 Foundation.framework 2.0 NS 包含Cocoa基础层的类和方法 IOKit.framework 2.0 N/A 包含设备接口 MediaPlayer.framework 2.0 MP 包含播放全屏视频接口 OpenAL.framework 2.0 AL 包含跨平台位置音频库 的OpenAL接口 OpenGLES.framework 2.0 EAGL, GL 包含OpenGL ES接口, 它是跨平台的2D和 3D图形库的OpenGL 的嵌入式版本 QuartzCore.framework 2.0 CA 包含Core Animation接口 Security.framework 2.0 CSSM, Sec 包含管理证书,公钥/ 私钥对和信任策略的接口 System-Configuration. framework 2.0 SC 包含设备网络配置的接口 UIKit.framework 2.0 UI 包含iPhone应用的用 户界面的类和方法 (2)模拟器框架(Simulator Framework) 虽然开发者针对设备框架开发代码,开发者也需要针对模拟器框架编译代码进行应用测试。设备框架和模拟器框架绝大多数是相同的,但也有一些细微的不同。例如,模拟器框架采用几个Mac OS X框架作为自己实现的一部分,这样由于系统的限制,设备框架和模拟器框架获得的接口可能有些细微的不同。表16-3描述了iPhone模拟器框架。iPhone模拟器框架位于目录<Xcode>/Platforms/iPhoneSimulator.platform/Developer/ SDKs/<SimulatorSDK>/System/Library/Frameworks,<Xcode>是<Xcode>的安装目录,<SimulatorSDK>是特别的Simulator SDK目录。 表16-3 模拟器框架(Simulator Framework)列表 名 称 版 本 前 缀 描 述 Accelerate.framework 2.0 cblas,vDSP, vv 模拟器内部使用的框架, iPhone 应用不能 引用这个框架 AddressBook .framework 2.0 AB 包含直接访问联系人 数据库的函数 AddressBookUI. framework 2.0 AB 包含系统定义的联系 人选择器和编辑接口 Application- Services.framework 2.0 N/A 包含指向核心 图形框架的指针 AudioToolbox. framework 2.0 AU, Audio 包含处理音频流和 音频播放与录制的接口 AudioUnit.framework 2.0 AU,Audio 包含装载和使用音频 单元的接口 CFNetwork.framework 2.0 CF 包含Wi-Fi和蜂窝基 站访问网络的接口 CoreAudio.framework 2.0 Audio 包含高层音频接口 CoreFoundation. framework 2.0 CF 提供基础软件服务, 包括通用数据类型、 字符串管理、Collection 应用、资源管理和首 选项管理等 CoreGraphics. framework 2.0 CG 包含Quartz 2D接口 CoreLocation. framework 2.0 CL 包含用户位置接口 CoreServices. framework 2.0 CF 模拟器使用的内部框架 Disk Arbitration.framework 2.0 N/A 模拟器使用的内部框架 Foundation.framework 2.0 NS 包含Cocoa 基础层的类和方法 IOKit.framework 2.0 N/A N/A 模拟器使用的内部框架 MediaPlayer. framework 2.0 MP 包含全屏视频播放接口 OpenAL.framework 2.0 AL, al 包含跨平台位置音 频库的OpenAL接口 OpenGLES.framework 2.0 GL, gl 包含OpenGL ES接口, 它是跨平台的2D 和3D图形库OpenGL 的嵌入式版本 QuartzCore.framework 2.0 CA 包含Core Animation接口 Security.framework 2.0 CSSM, Sec 包含管理证书、公 钥/私钥对和信任策略的接口 System- Configuration .framework 2.0 SC 包含设备网络配置的接口 UIKit.framework 2.0 UI 包含iPhone应用的 用户界面的类和方法 (3)系统库(System Libraries) 需要指出的是,Core OS and Core Services层的一些专业库并没有封装成框架。iPhone OS在系统目录/usr/lib中包含许多动态共享库,其后缀为.dylib,它们的头文件位于目录/usr/include。iPhone SDK的每个版本都包括动态共享库的本地复制。这些复制安装在开发系统,开发者能从Xcode 项目中链接它们。这些动态库位于<Xcode>/Platforms/ iPhoneOS.platform/Developer/SDKs/<iPhoneSDK>/usr/lib,其中<Xcode>是<Xcode>的安装目录,<iPhoneSDK>是指定的SDK版本目录。例如,iPhone OS 2.0 SDK的动态共享库位于目录:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib,相应的头文件位于/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS 2.0.sdk/usr/include。 iPhone OS用符号链接指向大多数库的当前版本。当使用链接动态共享库时,用符号链接代替链接库的某个版本。iPhone OS 将来有可能改变库的版本,如果当前开发的软件链接到库的某个固定版本,这个版本有可能将来在用户的系统中不存在。 8展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




iPhone文档整理.docx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/11894870.html