1.2.1 Core OS

1.2.1 Core OS

Core OS,又称核心OS,其实质是苹果基于FreeBSD和Mach所改写的Darwin,它是一个符合POSIX标准的Unix核心。这一层提供了整个iOS的基础功能,包括硬件驱动、内存管理、程序管理、线程管理、文件系统、网络传输以及标准输入输出等。此外,Core OS层的驱动也提供了硬件和系统框架之间的接口,通过下面的框架(Framework),程序可以访问大部分和底层相关的硬件或者服务。

1.Accelerate

Accelerate框架是一个进行大规模的数学计算、图像计算以及针对高性能进行优化的框架,它借助了自身矢量运算的能力,在CPU上提供高性能和高能效的计算。开发者使用这个框架比开发者自己实现这些接口有优势,因为Accelerate框架已经根据所有iOS 设备硬件配置进行过优化,开发者只需写一次代码就能确保它在所有设备上有效。

2.Core Bluetooth

Core Bluetooth为iOS应用提供了与蓝牙4.0低功耗的设备进行通信的能力,为此,它提供了所需要的类。须注意不要继承并且覆写这些类的方法,这样做会导致不必要的崩溃。这个框架的接口允许开发者扫描附近的蓝牙设备并与找到的设备进行连接、断开连接或进行一些信息的传递。

3.ExternalAccessory

ExternalAccessory为iOS应用提供了与外部设备通信的能力,这些设备可以通过蓝牙或者Apple Lightning连接器连接到iOS设备上。ExternalAccessory提供了获取每个可用配件的信息和初始通信会话的方式,通信成功后,开发者可以自由地操作配件,直接使用任何它支持的命令。

4.LocalAuthentication

LocalAuthentication可以让用户通过生物认证(如Touch ID、Face ID)或者密码进行身份验证。用户可以使用这些认证方式轻松地访问设备或者应用。为了最大程度地提高安全性,开发者无法直接获取这些验证数据,只能在某个验证之后得到验证的结果。

5.Network

Network提供了基于传输协议和安全协议的网络连接,用于发送和接收数据。当需要直接访问TLS、TCP、UDP等协议的时候可以使用Network,其中提供的NSURLSession可以方便地加载基于HTTP协议的URL资源。

6.Security

Security可以保护应用内的数据,并控制外部对应用的访问。Security提供了一些主流加密的实现方案,大部分场景不需要开发者自己去实现这些协议。此外,它还可以方便地在多台设备上共享认证信息,方便用户访问应用或内容。