最新 iOS 框架整体梳理(一)

2020-06-19 11:30:03 浏览数 (1)

前言


这段话其实是我差不多写完文章之后再回过头来写的,原本在写文章之前想写一下写的初衷的,但当我写完之后感觉初衷没有收获更真切一些。其实到这篇为止总结出来的也就三十多个,有些是比较新的框架,有些是我们开发者一直在使用接触的框架,我感觉收获还是很多。 很多东西你要不是一个一直在了解跟进WWDC内容的开发者可能时间一长你就不知道最近都出了些什么新的框架,但这样你走一遍之后你就会把许多遗漏掉的东西找回来,我的想法一直都没有变,作为一个移动端的开发者,不仅要“向下深挖” ,“向上学习”也是最基本的条件,就算你不清楚每一个框架具体的使用细节, 至少你一定要知道框架可以用来干什么!下面总结出来的框架有些也需要我自己去学习,果然欠了的迟早是要还的?

Part - 1


下面的框架我们按照我们的图一个一个的说:

1、Accelerate: 一个大规模的数学计算和图像计算的框架,它的作用和使用推荐下面两篇文章

Swift-Accelerate 框架介绍

Introduction to the Accelerate Framework in Swift

官方文档 Accelerate

2、Accounts: 它是iOS原生提供的一套账户管理框架,其支持Facebook,新浪微博,腾讯微博,Twitter和领英账户管理的功能。需要注意,在iOS 11 及以上系统中,将此功能已经删除,因此Accounts.framework实际上已经没有太大的意义,其只在iOS 11之前的系统上可用!所以这里我们就不在仔细说它了,简单的提一下就好。

3、AddressBook、AddressBookUI 通讯录相关的框架,我们获取联系人通讯录先关的都是咋这两个框架里面。

AddressBook、AddressBookUI 使用

AddressBook 官方文档

AddressBookUI 官方文档

4、AdSupport

AdSupport 从字面意思上理解是用来进行广告支持,这个框架十分简单,里面只有一个类,类中只有一个方法和两个属性。

AdSupport 的唯一用途是用来获取设备唯一的一个广告标识符。可以使用此标识符用来标记用户是否来源于某个广告推广,设备重启,重装应用程序都不会使广告标识符修改。

5、ARKit

ARKit 这个我就不用多说了,它是做什么的相信每个iOS开发者度清楚,它具体的使用以及学习大家可以上网去搜索,一大把资料的,也正是因为庞大,官网的说明反而很简单的几句话。

6、AssetsLibrary

The Assets Library framework is deprecated as of iOS 9.0. Instead, use the PhotoKit framework, which in iOS 8.0 and later provides more features and better performance for working with a user’s photo library.

上面这句话就总结了这可框架了,具体的内容就不在介绍了,关注的点应该转移到 PhotoKit 框架!

7、AudioToolbox、AudioUnit

AudioToolbox 是专门处理声音的一个框架,AudioToolbox 这个库是C的接口,偏向于底层,用于在线流媒体音乐的播放。AudioUnit 其实是最底层的,我们在使用的像 AVFoundation,Media Player ,AudioToolbox 等都是基于AudioUnit进行的封装。

具体的可以参考这篇文章:Audio Unit 基础

8、AuthenticationServices: 一个让用户轻松登录应用程序和服务的框架,我们在iOS13基础上添加的苹果登录就是出自这个框架。 在官方文档介绍它的功能点时候是这么说的:

1. 允许用户从应用程序的登录流中查找存储的密码。

2. 在应用程序和web浏览器之间共享数据,使用OAuth等技术来利用应用程序中现有的基于web的登录。

3. 在企业应用程序中创建单点登录(SSO)体验。

4. 简单明了的注册和登录流程减少了用户记住密码

官方文档 AuthenticationServices

9、AVFoundation AVKit

AVFoundation 这个框架我在以前做过一个专题专门有说过它,这里也就不再多做介绍了。需要的可以翻一下我以前的博客。 AVKit框架基于AVFoundation框架,提供了一个用于播放视频内容的高级界面,创建用于媒体播放的视图级服务。主要包含两个类:AVPictureInPictureController 、 AVPlayViewController 两个类。

关于AVKit 这里有一个大概的介绍: AVKit框架 AVKit的官方文档

10、BackgroundTasks

这个框架相信单从字面意思就能大致了解到它是作什么的,这里我们就不在具体的阐述它里面的内容,可以看这两文章对它有一个具体的了解 iOS 后台任务 BackgroundTask - 简书

11、BusinessChat

BusinessChat是iOS11.3后引入的新框架,这个框架配合iMessage应用将商家与用户更加紧密的结合起来,并且为商家提供了另外一种非常方便的客服系统。关于它的资料我找到的还真的不是特别多,但官方对这一块介绍的比较详细。

iOS开发之BusinessChat框架使用 这篇文章有介绍它的一个大致的使用

官方的介绍

12、CallKit

它是一个很有意思的框架,它是苹果 iOS 10 新发布的一个的框架。CallKit 框架能让我们把 自己APP语音或视讯电话的UI 界面整合在 iPhone 原生的电话 App 中。下面是官方文档对它的一个概述:

CallKit允许您将您的呼叫服务与系统上其他与呼叫相关的应用程序集成在一起。CallKit提供调用接口,您可以使用VoIP服务处理后端通信。对于呼入和呼出的电话,CallKit显示与电话应用程序相同的界面,使您的应用程序具有更本机的外观和感觉。CallKit会对系统级的行为做出适当的响应,比如不进行干扰。除了处理呼叫之外,您还可以提供一个呼叫目录应用程序扩展,以提供来电显示信息和与您的服务相关的被阻止的号码列表。下面的这些文章内容能帮助我们了解这个框架:

iOS10--CallKit的简单应用

iOS Call Kit for VOIP

官方文档

13、CarPlay

CarPlay 是一个手机车机互联系统,可以把iPhone上的地图、音乐、电话等功能映射到车载屏幕上使用。这句话概括了这个框架是用来干什么的。

iOS应用接入CarPlay初探

14、CFNetwork

CFNetwork 这个框架还是有必要了解一下的,我们经常使用到的API的请求基本都是NSURL的,CFNetwork是一个比较底层的框架,C语言编写的,NSURL也肯定就没有CFNetwork那么定制性更好了,官方文档对它的描述是 访问网络服务并处理网络配置中的更改。基于网络协议的抽象来简化任务,例如使用BSD套接字、管理HTTP和FTP服务器以及管理Bonjour服务。我的建议是要是对网络处理这块有想更好的一个了解的话有必要看安这个框架的使用以及它里面具体的东西,毕竟它很接近 Socket 。

CFNetwork的介绍和使用

官方文档

15、ClassKit

这也是一个新的框架,在11.4中加入的,也很有趣,但关于它的资料我找到的也很少,但通过官方的介绍你也能了解到一些信息,官方介绍的也比较详细。

官方文档

16、CloudKit

这个框架我们首先能联想到肯定是 iCloud了,的确这个框架也是专门用来给它服务的,每当我们看到一个新框架的时候我们脑袋里想的肯定是这框架是用来干什么的,具体我们该怎样使用它。

iOS CloudKit的使用 这篇文章也就了两个问题,它是什么,它是用来干嘛的。

17、Combine

Combine是Apple在2019年WWDC上推出的一个新框架。该框架提供了一个声明性的Swift API,用于随时间处理值。这些值可以表示多种异步事件

Swift Combine

Combine框架详细解析

18、Contacts ContactsUI

这两个框架我相信很多人还是比较熟悉了,以前的很多应用都喜欢获取用户的通讯录,不过现在的APP我感觉在慢慢减少这方面的权限获取,也可能和人们的生活方式有关吧,慢慢的很多人联系也就不再考通讯录的手机号码,这两个框架我们也就不再细致的介绍了。

19、CoreAudio CoreAudioKit CoreAudioTypes

Core Audio 提供了数字音频服务为iOS与OS X, 它提供了一系列框架去处理音频。Core Audio 中也包含我们最常用的前面也有说过的 AudioToolbox和AudioUnit 框架。要具体的说它里面的内容我们也能写一本书了。想要大致的了解它和它的使用,下面的文章能做到。

Core Audio音频基础概述

官方文档 Core Audio

官方文档 Core Audio Types

20、CoreBluetooth

这个框架也是比较重要的一个框架,在我们的开发中也是经常使用到的一个框架 蓝牙

iOS中的蓝牙 CoreBluetooth蓝牙系列

官方文档

21、CoreData

这个我就一句话带过,他就苹果提供的数据库,CoreData我以前也有写过关于它的文章,有需要的也可以往前面翻翻。

22、CoreFoundation

说到 CoreFoundation 我们就不可避免的的说活 Foundation ,这个框架和Foundation有什么区别和联系,他们之间使用的时候我们需要注意什么,他们之间的桥接等等这些都是我们需要注意的东西。具体的我们就不在说了,下面的这文章能帮助到我们。这个框架我们还是有必要进行一个具体的了解的!

提高性能之——Core Foundation

官方文档

23、CoreGraphices

这个按照字面我们能把它接成“图形核心”,其实它和我们常看到的 QuartzCore、Quartz2D等会很容易混淆,我以前在说Quartz2D的时候有提过关于他们之间的一些基本的区分以及关系,QuartzCore 这里可以看,然后关于CoreGraphices具体的内容的确也是比较的庞大,需要我们花时间去弄清除。然后我们在这里也没法具体的再谈了,还是下面的文章帮助我们理解。

iOS图像处理之Core Graphics和OpenGL ES小析

iOS绘图框架CoreGraphics分析

CoreGraphic框架解析(一)—— 基本概览 这篇后续还有具体的使用,这里就不一一列表,可以通过它找到的。

24、CoreHaptics

CoreHaptics 是 iOS13 中的新API,同时只有 iPhone 8 及之后的机型支持。CoreHaptics 提供了更加细腻,可控的震动表达方式,可以令APP产生一种全新的体验。下面是一些简单的文章和官方文档。

CoreHaptics

官方文档

25、CoreImage

CoreImage 框架是iOS处理图像的框架,主要用处可以给图片添加滤镜效果和图像识别功能(人脸、条形码等等)。

CoreImage和GPUImage的结合使用 这篇文章是一个很好的使用介绍

Core Image 官方文档

26、CoreLocation

在移动互联网时代,移动app能解决用户的很多生活琐事,比如导航:去任意陌生的地方 周边:找餐馆、找酒店、找银行、找电影院 。在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发 MapKit :用于地图展示 CoreLocation :用于地理定位。所以CoreLocation和MapKit也是经常在一起使用的,也就是定位和地图。

关于CoreLocation定位服务的简单使用

官方文档

27、CoreMedia

它是属于比较底层的一套音视频C语言接口,提供对媒体文件操作的底层接口。它的具体的使用我们基础到的比较多的是基于它的AVFoundation。

官方文档

28、CoreMIDI 这个我基本上是不想说了的,因为好像我们基本上都没什么使用,而且关于它的资料特别的少,MIDI是一套乐器数字接口,这个框架也是用来连接设备的 像MIDI 键盘,有兴趣的自己再去了解吧。

29、CoreML

CoreML 是一个机器学习框架,借助 Core ML,您可以将已训练好的机器学习模型,集成到自己的应用当中。

Core ML介绍 (Apple机器学习框架)

官方文档

30、CoreMotion

Core Motion 可以让开发者从各个内置传感器那里获取未经修改的传感数据,并观测或响应设备各种运动和角度变化。通过这些传感器可以获取加速度值,陀螺仪值等。

iOS CoreMotion的使用

官方文档

31、CoreNFC

NFC(近场通信)就是当两台硬件设备相距4cm以内时可以实现互相通信

iOS11中使用CoreNFC

官方文档

32、CoreServices

Core Services层为所有的应用程序提供基础系统服务。可能应用程序并不直接使用这些服务,但它们是系统很多部分赖以建构的基础。这么去理解的时候就发现其实他是一个很少我们具体需要我们使用的框架,但真的是一个无处不在的框架。

官方文档

33、CoreSpotLight

这也是一个很有趣的框架,它可以让你 App 中的内容在 Spolite 中搜索到, 并且将相关的搜索结果展现给用户, 并且允许用户和搜索的结果进行交互. 当用户选择了其中一个搜索的结果后, 不但可以自动的打开你的应用程序, 同时还可以跳转到指定的页面来查看详细的内容。

如何使用 Core Spotlight

官方文档

0 人点赞