前言


这段话其实是我差不多写完文章之后再回过头来写的,原本在写文章之前想写一下写的初衷的,但当我写完之后感觉初衷没有收获更真切一些。其实到这篇为止总结出来的也就三十多个,有些是比较新的框架,有些是我们开发者一直在使用接触的框架,我感觉收获还是很多。 很多东西你要不是一个一直在了解跟进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也是经常在一起使用的,也就是定位和地图。

 
      官方文档

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

官方文档

最新 iOS 框架整体梳理(一)的更多相关文章

  1. 最新 iOS 框架整体梳理(二)

    在前面一篇中整理出来了一些了,下面的内容是接着上面一篇的接着整理.上篇具体的内容可以点击这里查看:   最新 iOS 框架整体梳理(一) Part - 2          34.CoreTeleph ...

  2. 最新 iOS 框架整体梳理(三)

    这一篇得把介绍框架这个系列终结了,不能超过三篇了,不然太长了..... 还是老规矩,前面两篇的机票在下方: 最新 iOS 框架整体梳理(一) 最新 iOS 框架整体梳理(二) Part - 3     ...

  3. iOS开发:iOS的整体架构以及API介绍

    iOS的整体架构分为4层——Cocoa Touch层.Media层.Core Services层和Core OS层,下面概要介绍一下这4层. Cocoa Touch:构建iOS应用的一些基本系统服务, ...

  4. 最新iOS 6 in Xcode4.5新特性——Storyboard和属性自动绑定

    最新iOS 6 in Xcode4.5新特性编程之二(上)——Storyboard和属性自动绑定 从Xcode 4.3开始,Storyboard 就是iOS 5和iOS 6中令人兴奋的一个新特性,他将 ...

  5. 01 mybatis框架整体概况(2018.7.10)-

    01 mybatis框架整体概况(2018.7.10)- F:\廖雪峰 JavaEE 企业级分布式高级架构师课程\廖雪峰JavaEE一期\第一课(2018.7.10) maven用的是3.39的版本 ...

  6. iOS开发知识梳理博文集

    前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...

  7. 您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧

    转载至: http://www.cnblogs.com/Imaigne/p/4153397.html 您的项目引用了最新实体框架:但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mys ...

  8. 从零开始,打造自己的首个 iOS 框架

    如果你曾试图创建自己的iOS框架,你知道这不是一个头脑发热作出的决定 — 管理依赖以及写测试用例一点也不简单.本教程将会带你从头到尾创建你的第一个iOS框架,让你可以创建自己的框架. 我们将在框架暴露 ...

  9. iOS框架介绍

    iOS框架介绍      Cocoa Touch   GameKit  实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息  iOS设备之间蓝牙数据传输   从iOS7开始过期   局域网游 ...

随机推荐

  1. kafka学习 之 Quickstart

    第一步:安装启动kafka 官网链接:https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.11-2.3.0.tgz 进入指定 ...

  2. matlab 提示 Error using mex No supported compiler or SDK was found 错误的解决办法

    在使用simulink的S-Function去调用C程序的时候,需要使用mex指令预先编译C程序,但是出现 Error using mex No supported compiler or SDK w ...

  3. HBase Filter 过滤器之QualifierFilter详解

    前言:本文详细介绍了 HBase QualifierFilter 过滤器 Java&Shell API 的使用,并贴出了相关示例代码以供参考.QualifierFilter 基于列名进行过滤, ...

  4. [hdu5358]分类统计,利用单调性优化

    题意:直接来链接吧http://acm.hdu.edu.cn/showproblem.php?pid=5358 思路:注意S(i,j)具有区间连续性且单调,而⌊log2x⌋具有区间不变性,于是考虑枚举 ...

  5. Mysql常用sql语句(19)- in / exists 子查询

    测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 子查询在我们查询方法中是比较常用的,通过子查询可 ...

  6. 1020 Tree Traversals (25分)思路分析 + 满分代码

    题目 Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder an ...

  7. assign 与 深浅拷贝

    Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖.后面的源对象的属性将类 ...

  8. Reflux之Action

    reflux在flux的基础上,去掉了dispatcher. 在Reflux中,每一个Action本身就是一个Publisher(消息发布者),具有消息发布功能:而每一个Store除了作为数据存储之外 ...

  9. 使用包时,报 xxx.default is not a function

     最近做了一个导出功能,代码如下 import request from 'request-promise-native'; export default class Form { // 导出 @po ...

  10. form提交(图片,excel其他文件)

    HTML表单需要设置enctype="multipart/form-data"这个属性,如果不这么设置,在提交表单时候,相关文件将无法获取. HTML表单如何打包数据文件是由enc ...