iOS系统框架 | 青训营笔记

160 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第3天。

今天整理了上课的系统框架部分,感觉比前面讲的知识都好理解,初步感觉有点入门,明日会增加foundation部分的。

iOS开发基础工具

iOS系统框架

框架(Frameworks)

开发者可以基于框架开发。

框架指一个通用的,可复用,具备特定功能的软件或环境,可能包含了代码库,API文件,或是一些工具的集合体,用于支撑软件开发者能更容易更方便的达到某个程序功能。提供方可能是系统/其他开发者/软件开发公司。

iOS框架

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

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

iOS Framework 文件夹

Framework 的文件目录

  • Headers文件夹(存放了.h头文件)

    记录这个Framework对外开放类的声明或是一些静态变量等

  • 与该Framework同名的二进制文件

    类型在Finder显示是 Unix executable 可执行文件,即记录的是系统的实现代码被编译后的产物

  • Resources文件夹(其他资源文件)

Framework以一个资源包的形式去供开发者使用的,除了系统提供的之外,也可以自己去开发Framework或是使用其他三方提供的Framework

iOS系统框架

WWDC升级更新,大部分框架只提供了OC和Swift的接口

系统框架分层

  • 四层(四个Layer)

    • Cocoa Touch (触摸层) 🌰 UIKit

      最顶层 大部分框架和界面相关 具备特定的UI界面 包括UIKit等

    • Media (媒体层)

      提供包括图片,音频,视频相关的技术支持

    • Core Services (核心服务层) 🌰 Foundation

      提供应用程序所需要的基础系统服务的核心服务层

    • Core OS (操作系统层)

      处于最底层 提供最接近硬件的框架 应用于其他框架/直接处理安全事务或和其他设备通讯时 一般不会直接应用于应用程序

系统框架存放位置

每个SDK下的 /System/Library/Frameworks

引用文章

第三节:iOS 开发基础工具