1、本节课知识点大纲:




ios常用第三方框架 ios 框架_ios常用第三方框架


iOS系统框架

2.iOS系统框架


2.1框架 Frameworks

框架的原文是Frameworks,而Frameworks的本意,是指一个核心的支撑结构,任何东西都可以搭建在他之上,是一个通用的,可复用,具备特定功能的软件或是环境,他可能包含了代码库,API文件,或是一些工具的集合体。

2.2iOS 框架 iOS Frameworks

Framework是一个有层级的目录,他将 动态代码库,nib files,图片文件,头文件和参考文件 全部封装成一个单一的资源包,多个程序之间可以同时共用它,并被程序调用去执行某个任务。

简单来说,对于Xcode而言,Framework就是一个文件后坠为 .framework的文件包,里面包含了与其相关的文件,程序在启动时会将它加载进内存。

2.3iOS Framework 文件夹

  • Headers文件夹,里面是存放了大量的.h头文件,里面记录了这个Framework对外开放类的声明或是一些静态变量...等
  • Framework同名的二进至文件,它的类型在Finder显示是 Unix executable 可执行文件,大家可以理解为里面记录的就是系统的实现代码被编译后的产物。
  • Framewoek资源文件夹Resources


ios常用第三方框架 ios 框架_xcode_02


  • Foundation.framework / Headers


ios常用第三方框架 ios 框架_ios常用第三方框架_03


3.iOS 系统框架 iOS System Frameworks


苹果官方为开发者准备了上百个稳定且成熟的框架,而大部分的框架都只提供了 Objective-C 跟 Swift的接口


ios常用第三方框架 ios 框架_xcode_04


3.1系统框架分层

所有的系统框架可以被分作四层(四个Layer),分别是 Cocoa Touch (触摸层),Media (媒体层),Core Services (核心服务层),以及 Core OS (操作系统层),


ios常用第三方框架 ios 框架_Powered by 金山文档_05


ios常用第三方框架 ios 框架_Powered by 金山文档_06


3.1.1系统框架分层 - Core OS

位于最底层的是CoreOS 核心操作系统层,这层提供的这些框架,已经是苹果提供的最靠近硬件的框架,通常情况下,这些功能不会直接应用于我们的应用程序,而是应用于其他框架。但是,在直接处理安全事务或和其他设备通讯的时候,则必须要应用到该层的框架。

  • 可以利用CoreBluetooth 框架使用蓝牙和外部设备交互
  • Security框架提供管理证书,公钥私钥的策略
  • 如果有复杂的计算可以使用Accelerate框架,委托硬件进行计算


ios常用第三方框架 ios 框架_ios常用第三方框架_07


ios常用第三方框架 ios 框架_xcode_08


3.1.2系统框架分层 - Core Service层

第二层是提供应用程序所需要的基础系统服务的核心服务层 Core Service ,


ios常用第三方框架 ios 框架_Powered by 金山文档_09


ios常用第三方框架 ios 框架_xcode_10


3.1.3系统框架分层 - Media层

媒体层里的框架功能就更明确了,是提供包括图行,音频,视频相关的技术支持

如果你想要开发一个短视频/直播,或是滤镜相机之类的App,那就会需要跟这一层的框架多打交道了。



ios常用第三方框架 ios 框架_ios_11


ios常用第三方框架 ios 框架_ios_12


3.1.4系统框架分层 - CocoaTouch层

最上一层 CocoaTouch层,大部分框架都与界面有关,也都具备自己特定的UI介面

  • 其中包含了开发App的最重要的框架之一 UIKit,UIKit提供了大量的UI控件,例如按钮, Label,滚动列表,宫格视图,以及App的页面UIViewController 和 UIView试图
  • 一个App的使用介面,跟页面之间的跳转都离不开UIKit,我们也会在后面的课程专门去介绍UIKit 介绍如何搭建App的页面。
  • 其他像是MapKit地图框架 和 NotificationCenter 通知中心框架也是开发常用的。


ios常用第三方框架 ios 框架_ios_13


ios常用第三方框架 ios 框架_Powered by 金山文档_14


3.2系统框架存放位置

SDK下的 /System/Library/Frameworks 对应所有的系统框架了,

设备上的iOS文件路经中,也有 /System/Library/Frameworks 文件夹,里面也放著对应的系统框架,并且是包含实现的也就是包含可执行文件。于是我们的App在启动时,也能链接到对应的Framework,并且正常执行


ios常用第三方框架 ios 框架_ios常用第三方框架_15