iOS开发技术的核心摘要

本文介绍了iOS操作系统的基本框架,包括CocoaTouch、Media、CoreService和CoreOS四个层次,并详细阐述了iOS系统的特色,如沙盒机制、内存管理规定及严格的审查机制。此外,还讨论了iOS开发环境的要求及开发过程中的限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、iOS框架介绍

iOS演变于Mac OS X的成熟内核,但与Mac OS X相比,iOS操作系统更加高效,支持iPhone、iPad等苹果移动设备的硬件。同时iOS继承了Mac OS X的风格。

iOS框架分为Cocoa Touch、Media、Core Service、Core OS四个层次。这四个层次从上到下排列,位置越高则说明层次越抽象,距离硬件层面越远,其特点如下:

1)、框架中层次最高的是Cocoa Touch框架,是我们使用得最多的框架,每个iOS应用都要使用,其中包括:UIKit和Foundation。

2).Media框架是对iPhone音频和视频协议的封装,如,OpenGL ES、EAGL、Quartz、Core Animation、Core Audio、Open Audio Library和Media Player等。

3).Core Services框架提供了一些核心框架,诸如Address Book和Core Foundation,后者包含了基本的数据类型定义,如数组和集合。

4).Core OS框架包含了系统内核级别的服务,如线程、文件、I/O、内存和网络。

iOS的总体框架如图1所示。


 1 iOS框架


2、系统特点

iPhone、iPad系列产品凭借其优美的设计、良好的用户体验,在近年速成为移动市场上的新宠儿。iOS系统及搭载该系统的iPhone、iPad应用程序具有以下几个特点:

1).iOS应用程序采用了“沙盒”(应用程序只能对自己的文件直接进行读、写操作)机制,严格控制了用户应用程序访问数据的权限。采用“沙盒”机制就可以使得每一个应用程序的内部文件不会轻易被外部系统、程序所修改,保证了程序的运行安全。

2).iPhone、iPad运行的时候,在任何时刻iOS系统只允许用户应用一个应用程序,我们在设计每一款APP(Application)的时候,用户通常关心的只是当前使用的程序。当用户没有退出该程序(如,按iOS设备的home键),而只是将其放置在后台的时候,此时程序将处于挂起状态。

3).iOS程序具有相对严格的内存管理规定机制,主要有手动管理和ARC(AutomaticReference Counting)两种方式。在iOS系统中,严格规定了每一个程序的最多内存限制。如果在某个程序的运行过程中,iOS系统测试到该程序占用的内存超过了系统允许其运行的最大限度,那么系统就会自动的将该进程杀死,自动将应用程序退出。虽然自从iOS 5推出了ARC,不需要开发者手动管理内存,但是开发者任然需要在程序开发过程中注意内存的使用、分配,防止内存泄露等问题的出现。

4).iOS应用程序具有严格的审查机制。苹果公司对程序的严格规定,保证了APP的流畅性、安全性等,使得每一个成功发布的APP都具有很高的可用性。对于那些不满足要求的程序(如,调用私有API、私自获取用户私有数据等),苹果公司是不允许其上传到官方的应用程序商店的。


3、iOS的开发环境

迄今为止,iOS只能在苹果的Mac OSX操作系统下进行开发。因此,对于大部分开发者而言,我们首先需要搭建开发平台和环境,此时我们需下载和安装最新版本的;还需要iOS设备来进行调试,其中包括模拟器调试和真机调试;最后,还需要借助测试工具对程序进行功能与性能的测。

iOS主要开发工具由三部分组成:开发工具、iOS模拟器、(是对iOS APP进行性能测试的一款集成在中的实用工具)。

4、开发的限制

iOS的“沙盒”、封闭等特性给它带来一些优势,如:数据安全、性能优化等,但凡事都有两面性,iOS的一些特性也使得iOS开发具有一定的局限性,主要有以下几点:

1).程序之间的数据访问限制

应用程序采用“沙盒”机制。因此,iOS移动设备上,不同的应用程序是不能直接进行数据访问和功能调用,这保证了程序的安全性,但也给开发带了不便,如果想实现两个程序之间数据的传输,只能通过特殊的(在应用程序中可配置)调用来完成,这些对程序开发者也造成了不便和影响,Android平台就可以很方便的实现不同程序之间数据的访问和功能的调用。

2).应用程序内存的限制

任何移动设备上内存都是有限的,其中也包括苹果移动设备,iOS系统不允许应用程序无止境的占用内存。当应用程序所占用内存过大,或超过了预警值,那么此时iOS系统会先在后台发出内存警告,若程序所占内存没有减下去,一旦超过预警值,则iOS系统会立刻关闭该应用程序所对应的进程,强制退出应用,这一点会让应用的用户体验大大折扣。

3).iOS私有方法调用的限制

为了方便开发者使用,iOS在开发文档中提供了iOS SDK帮助文档。iOS SDK封装了很多方法,开发者有时只需调用一个方法就能实现较为复杂的业务和效果,但SDK中不是所有的方法都能使用,其中拥有大量的私有API,通过这些API,开发者能够完成一些特殊功能或非常规的效果,如果开发的应用最终不会在苹果商店里上架(如企业类的应用一般不会上架,最终是部署在企业内网服务器上),那么使用这些API没有什么影响,如果应用需在商店上上架,那么苹果是不允许程序调用私有的API,一旦发现,那么程序就不会通过审核,所以,在这种情况下开发者须遵守iOS的开发协议,关注哪些API是私有的,避免使用。
iOS技术概述 介绍 4 谁应阅读本文档? 4 本文档的组织方式 5 获取iPhone SDK 5 提供反馈 5 其他参考资料 6 iOS 开发相关信息 6 iOS 架构 6 iPhone SDK 包含哪些东西? 8 您可以在 iOS 创建什么应用程序? 9 如何使用参考库? 9 Cocoa Touch 层 12 高级特性 12 多任务 12 数据保护 13 苹果推送通知服务 13 本地通知 14 手势识别器 14 文件共享支持 14 点对点服务 15 标准系统视图控制器 15 外部设备支持 16 Cocoa Touch 层包含的框架 16 Address Book UI 框架 16 Event Kit UI 框架 16 Game Kit 框架 17 iAd 框架 17 Map Kit 框架 17 Message UI 框架 17 UIKit 框架 18 媒体层 19 图形技术 19 音频技术 19 视频技术 20 媒体层包含的框架 21 资产库框架 21 AV Foundation 框架 21 Core Audio 22 Core Graphics 框架 23 Core Text 框架 23 Core Video 框架 23 Image I/O 框架 23 媒体播放器框架 24 OpenAL 框架 24 OpenGL ES 框架 24 Quartz Core 框架 25 Core Services 层 25 高阶特性 25 块对象 25 Grand Central Dispatch 26 应用程序内购买(In App Purchase) 26 定位服务 26 SQLite 26 XML 支持 27 Core Services 框架 27 Address Book 框架 27 CFNetwork 框架 27 Core Data 框架 28 Core Foundation 框架 28 Core Location 框架 29 Core Media 框架 29 Core Telephony 框架 29 Event Kit 框架 30 Foundation 框架 30 Mobile Core Services 框架 30 Quick Look 框架 31 Store Kit 框架 31 System Configuration 框架 31 Core OS 层 31 Accelerate 框架 32 External Accessory 框架 32 Security 框架 32 System 33 从 Cocoa 迁移到 iOS 33 通用的迁移注意事项 33 迁移数据模型 34 迁移用户界面 34 内存管理 35 框架差异 35 UIKit 与 AppKit 的对比 35 Foundation 框架的差异 38 其他框架的改变 38 iOS 开发者工具 40 Xcode 40 Interface Builder 43 Instruments 44 Shark 45 iOS 的框架 46 设备中的框架 46 模拟器的框架 49 系统库 49 文档修订历史 50
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构窝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值