zoukankan      html  css  js  c++  java
  • iOS 系统架构及常用框架

    1.iOS基于UNIX系统,因此从系统的稳定性上来说它要比其他操作系统的产品好很多

    2.iOS的系统架构分为四层,由上到下一次为:可触摸层(Cocoa Touch layer)、媒体层(Media layer)、核心服务层(Core Services layer)、核心操作系统层(Core OS layer)如图:

    (1)触摸层:为应用程序开发提供了各种常用的框架并且大部分框架与界面有关,本质上来说它负责用户在iOS设备上的触摸交互操作。它包括以下这些组件:

    Multi-Touch Events  Core Motion   Camera
    
    View Hierarchy   Localization   Alerts
    
    Web Views     Image Picker   Multi-Touch Controls

     (2)媒体层:通过它我们可以在应用程序中使用各种媒体文件,进行音频与视频的录制,图形的绘制,以及制作基础的动画效果。它包括以下这些组件:

    Core Audio     OpenGL    Audio Mixing
    
    Audio Recording   Video Playback   JPG,PNG,TIFF
    
    PDF     Quartz    Core Animation 
    
    OpenGL ES

    (3)核心服务层:我们可以通过它来访问iOS的一些服务。它包括以下这些组件:

    Collections     Address Book   Networking
    
    File Access     SQLite    Core Location
    
    Net Services    Threading    Preferences
    
    URL Utilities

     (4)核心操作系统层包括:内存管理、文件系统、电源管理以及一些其他的操作系统任务。它可以直接和硬件设备进行交互。核心操作系统层包括以下这些组件:

    OS X Kernel    Mach 3.0    BSD
    
    Sockets     Power Mgmt  File System
    
    Keychain     Certificates   Security
    
    Bonjour

    3.Cocoa Touch简介

    (1)在最上层Cocoa Touch层中的很多技术都是基于Objective-C语言的。Objective-C语言为iOS提供了集合、文件管理、网络操作等支持。比如UIKit框架,它为应用程序提供了各种可视化组件,比如像窗口(Window)、视图(View)和按钮组件(UIButton)。Cocoa Touch层中的其他框架,对我们在应用程序中的开发来说也是非常有用的,如访问用户通信录功能框架、获取照片信息功能的框架、负责加速感应器和三维陀螺仪等硬件支持的框架。

     4.应用程序的框架

    应用程序项目都是从Cocoa Touch层开始的,具体来说就是从UIKit Framework开始的。当在编写程序的过程中需要用到一些特殊功能的时候,我们应该从框架的最顶端技术开始寻找相应的框架,只有在上层结构无法解决时,才能使用其下层的技术。其实,顶层的框架已经涵盖了我们绝大多数需要的功能。

                          常用的iOS SDK框架:

    框架名称

        

    AddressBook.framework

    提供访问存储核心数据库中用户联系人信息的功能

    AddressBookUI.framework

    提供一个用户界面,用于显示存储在地址簿中的联系人信息

    AudioToolbox.framework

    提供音频录制和回放的底层API,同时也负责管理音频硬件

    AudioUnit.framework

    提供一个接口,让我们的应用程序可以对音频进行处理

    AVFoundation.framework

    提供音频录制和回放的底层API,同时也负责管理音频硬件

    CFNetwork.framework

    访问和配置网络,像HTTPFTPBonjour Services

    CoreFoundation.framework

    提供抽象的常用数据类型,如 Unicode stringsXMLURL

    CoreGraphics.framework

    提供2D绘制的基于CAPI

                     续表:

    框架名称

        

    CoreLocation.framework

    使用GPSWi-Fi获取位置信息

    Foundation.framework

    提供Object-C的基础类(像NSObject)、

    基本数据类型和操作系统服务等

    GameKit.framework

    为游戏提供网络功能;点对点互联和游戏中的语音交流

    MapKit.framework

    为应用程序提供内嵌地图的接口

    MediaPlayer.framework

    提供播放视频和音频的功能

    MessageUI.framework

    提供视图控制接口用以处理E-mail和短信

    OpenGLES.framework

    提供简洁而高效的绘制2D3D图形的OpenGL API子集

    QuartzCore.framework

    提供动画特效以及通过硬件进行渲染的能力

    StoreKit.framework

    为应用程序提供在程序运行中消费的支持

    SystemConfiguration.framework

    检测当前网络是否可用和硬件设备状态的能力

    UIKit.framework

    创建和管理应用程序的用户界面

  • 相关阅读:
    牛客练习赛51 D题
    Educational Codeforces Round 72 (Rated for Div. 2) C题
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) C题
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) A题
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises) A题
    Educational Codeforces Round 72 (Rated for Div. 2) B题
    Educational Codeforces Round 72 (Rated for Div. 2) A题
    《DSP using MATLAB》Problem 7.2
    《DSP using MATLAB》Problem 7.1
    《DSP using MATLAB》Problem 6.24
  • 原文地址:https://www.cnblogs.com/QM80/p/3629174.html
Copyright © 2011-2022 走看看