iOS应用软件开发基础——第二课_Mac/iOS操作系统构架

原创 2013年12月06日 09:11:03

一、Mac与iOS框架的区别参考:http://blog.csdn.net/crazyzhang1990/article/details/12503183

二、iOS框架

1、核心操作系统层(Core OS layer)-----包含核心部分、文件系统、网络基础、安全特性、能量管理和一些设备驱动,还有一些系统级别的API。它包括以下这些组件:

      OS X Kernel:操作系统核心,参考http://zh.wikipedia.org/wiki/OS_X。

      Mach 3.0:微内核的操作系统,参考http://zh.wikipedia.org/wiki/Mach。
      BSD:常被当作工作站级别的Unix系统,参考http://zh.wikipedia.org/wiki/BSD。

      Sockets:网络基础,参考http://zh.wikipedia.org/wiki/Berkeley套接字。
      Security:安全特性,用来处理认证,密码管理,安全性管理。    
      Power Management:电源管理。 
      File System:文件系统。
      Keychain Access:钥匙串访问,钥匙串 ( Keychain )是苹果公司Mac OS中的密码管理系统。它在Mac OS 8.6中被导入,并且包括在了所有后续的Mac OS版本中,包括Mac OS X。    
      Certificates:证书。  
      Bonjour:支持页面包含故障诊断、设置、使用方法信息和服务,可为新用户提供帮助。它还提供维修、手册、用户论坛、文章和软件更新等丰富资源。

2、核心服务层(Core Services layer)----提供核心服务,例如字符串处理函数、集合管理、网络管理、URL处理工具、联系人维护、偏好设置等。Core Services在Core OS基础上提供了更为丰富的功能, 它包含了Foundation.Framework和Core Foundation.Framework, 之所以叫Foundation ,就是因为它提供了一系列处理字串,排列,组合,日历,时间等等的基本功能。Foundation是属于Objective-C的API,Core Fundation是属于C的API。它包括以下这些组件:
     Collections:集合管理,Arrays、 Sets等。
     Address Book:用来处理电话薄资料
     Networking:网络管理。
     File Access:文件访问。
     SQLite:轻量级的数据库。   
     Core Location:用来处理GPS定位
     Net Services:网络服务。   
     Threading:线程。
     Preferences:偏好设置。
     URL Utilities:URL处理工具。

3、媒体层(Media layer)----该层框架和服务依赖Core Services层,向Cocoa Touch层提供画图和多媒体服务,如声音、图片、视频等。通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。它包括以下这些组件:
     Core Audio:核心音频模组。
     OpenGL:3D绘图。   
     Audio Mixing:
     Audio Recording:  
     Video Playback:  
     JPG,PNG,TIFF:
     PDF:    
     Quartz:2D图像。 
     Core Animation:核心动画模组。
     OpenGL ES:3D图像。

4、可触摸层(Cocoa Touch layer)----该框架基于 iPhone OS应用层直接调用层,如触摸事件、照相机管理等,包该层含UIKit框架和Foundation框架。在Cocoa Touch层中的很多技术都是基于Objective-C语言的。Objective-C语言为iOS提供了像集合、文件管理、网络操作等支持。像UIKit框架,它为应用程序提供了各种可视化组件,比如像窗口(Window)、视图(View)和按钮组件(UIButton)。Cocoa Touch层中的其他框架,对我们在应用程序中的开发来说也是非常有用的,如访问用户通信录功能框架、获取照片信息功能的框架、负责加速感应器和三维陀螺仪等硬件支持的框架。最上面一层是Cocoa Touch,它是Objective-C的API, 其中最核心的部分是UIKit.Framework,应用程序界面上的各种组件,全是由它来提供呈现的,除此之外它还负责处理屏幕上的多点触摸事件,文字的输出,图片,网页的显示,相机或文件的存取,以及加速感应的部分等。它包括以下这些组件:
     Multi-Touch:多点触摸。

     Core Motion:手势。

     View Hierarchy:view层。
     Localization:
     Controls:
     Alerts:
     Web Views:
     Map Kit:
     Image Picker:
     Camera: 


 

MacOSX&iOS操作系统之OSX和iOS架构

MacOSX&iOS操作系统之OSX和iOS架构 字数1796 阅读45 评论0 喜欢2 原创文章转载请注明出处,谢谢 介绍的知识点会有点零乱,因为也是书上看来的,这些知识只...
  • qq_30513483
  • qq_30513483
  • 2016年07月29日 20:26
  • 1725

iOS开发之基础控件(Swift版)

iOS开发之基础控件的Swift版
  • yangshebing21
  • yangshebing21
  • 2016年01月04日 21:33
  • 1677

IOS开发基础Object-C(11)—Category语法

谢天谢地,糟心的内存管理终于讲完了,我们的OC内存管理也就先告一段落了,以后还是需要多联系多理解,记住,理解最重要。 今天呢,我们再来讲一个很重要的语法——Category,根据字面的意思呢就是种类分...
  • u010037928
  • u010037928
  • 2015年11月28日 17:14
  • 2184

(0012) iOS 开发之MAC 终端命令学习

Mac 下经常使用终端命令行,看上去很高大上的感觉。自己对终端命令行不是很熟悉。所以下决心学习它。于是就记下自己使用的命令行!以备忘记时查阅。 1.ls        列出目录下所有文件 2.cd(...
  • shifang07
  • shifang07
  • 2016年12月28日 11:53
  • 761

IOS 初级开发入门教程(一)介绍篇

导读        目前移动端开发市场上引导开发者追求技多不压身,一个全栈开发者至少要懂后台服务器、数据库、Android、web、ios开发等。“一超多强”是指开发者先成为一门技术的专家然后掌握了...
  • csdn_aiyang
  • csdn_aiyang
  • 2017年08月22日 15:50
  • 611

iOS应用软件开发基础——第一课_软件开发思想

软件开发定义:根据客户要求建造出软件系统或者系统中软件部分的一个产品开发的过程。 软件开发流程:产品定义(screenflows界面流,UI,样子)——>论证——>构架(拆分,详细) 形象|抽象  —...
  • meizhena
  • meizhena
  • 2013年12月05日 11:07
  • 298

IOS开发基础Object-C(07)—OC内存管理(1)-retain和release

前面我们已经说过,OC不同于Java的地方就是没有垃圾回收机制,在内存管理这块,cocoa引入了一种称为引用计数(reference counting)的技术,有时也叫保留计数,每个对象有一个与之对关...
  • u010037928
  • u010037928
  • 2015年11月04日 17:15
  • 1298

Mac OS 和 iOS 操作系统架构

做iOS开发已经半年多了,但是感觉对iOS开发的理解却还只停留在表面,昨天刚把两个项目结了,今天打算学了一下iOS系统的架构,以便于更好的理解和开发。 首先看一下Mac OS 和 iOS 系统架构的...
  • CrazyZhang1990
  • CrazyZhang1990
  • 2013年10月09日 13:44
  • 11362

芒果iOS开发之Swift教程01-Swift基础

苹果在2014年WWDC(苹果开发者大会)发布了Swift,用于编写iOS,Mac OS X和watchOS应用程序。Swift 采用安全的编程模式并添加了很多新特性,而且对于熟悉OC人开发者来说学习...
  • CrazyZhang1990
  • CrazyZhang1990
  • 2016年09月12日 11:58
  • 982

IOS开发基础Object-C(10)—OC内存管理(4)-autorelease使用

最想必大家近也是被内存管理整的焦头烂额,大家也就再痛苦这么一下,今天的autorelease已经是内存管理的最后一章了,今天的内容完成我们的内存管理也就先告一段落了。希望大家一定要理解内存管理,因为内...
  • u010037928
  • u010037928
  • 2015年11月27日 11:21
  • 2470
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS应用软件开发基础——第二课_Mac/iOS操作系统构架
举报原因:
原因补充:

(最多只允许输入30个字)