macOS Sierra 简介

借助新的 macOS Sierra,开发人员可以利用新的 API,使最终用户能够以以前不可用的方式与其应用和网站进行交互。 例如,Apple 现在允许网站为客户提供通过 Apple Pay 安全地付费的选项,并增强 Metal 框架的图形和计算潜力。

有关 macOS Sierra 的详细信息,请参阅 Apple macOS + 应用文档。

macOS Sierra 中的新增功能

Apple 在 macOS Sierra 中添加了多个新的 API 和服务,以及对现有功能的许多增强功能,包括:

Apple 文件系统

借助 macOS Sierra,Apple 已将新的 Apple 文件系统发布为适用于 iOS、macOS、tvOS 和 watchOS 的新式文件系统。 Apple 文件系统针对闪存和 SSD 存储进行了优化,并提供以下功能:强加密、写入时复制元数据、空间共享、文件和目录克隆、快照、快速目录大小调整和原子安全保存基元。

有关详细信息,请参阅 Apple 的 Apple 文件系统指南

Apple Pay 增强

Apple 在 macOS Sierra 中对 Apple Pay 进行了多项增强,允许用户从网站进行安全付款。

借助 macOS Sierra,添加了多个新 API,可与 macOS Sierra、iOS 和 watchOS 配合使用,以支持动态支付网络和新的沙盒测试环境。

macOS Sierra 包括新的 ApplePay Javascript 框架,使开发人员能够将 Apple Pay 直接合并到基于 iOS 和 macOS Safari 的网站。 对于支持 Apple Pay 的网站,用户可以使用其 iPhone 或 Apple Watch 授权付款。

有关详细信息,请参阅 Apple ApplePay JS Framework 参考。

生成新式 macOS 应用

新式 macOS 应用(如 Apple 的 Safari Web 浏览器、页面字处理器和数字分布表)使用许多新技术来呈现统一的上下文敏感用户界面,该用户界面与传统的 UI 元素(如浮动面板和多个打开的窗口)无关。

选项卡式 Mac 窗口的示例

我们的生成新式 macOS 应用指南介绍了开发人员可用于在 Xamarin.Mac 中构建新式 macOS 应用的几个提示、功能和技术。

CloudKit 数据共享

cloudKit 框架已在 macOS Sierra 中扩展,允许用户快速轻松地从其专用 iCloud 数据库中共享记录或记录集。

CloudKit 提供了一个完整的 UI,用于发送和接受共享记录邀请,并且用户对有权访问记录的人员拥有完整的读/写控制。

有关详细信息,请参阅 Apple CloudKit Framework 参考CloudKit JS Framework 参考

重要

Apple 提供工具,用于帮助开发人员正确处理欧盟一般数据保护条例 (GDPR)。

Safari 应用扩展支持

Safari 应用扩展允许应用扩展 Safari Web 浏览器的行为,同时与 macOS Sierra 紧密集成。 由于 macOS Safari 应用扩展的工作方式类似于 iOS Safari 应用扩展,因此可以轻松地从一个系统移植到另一个系统。

有关详细信息,请参阅 Apple Safari 应用扩展编程指南

安全和隐私增强

Apple 在 macOS Sierra 中对安全和隐私进行了多项增强,可帮助应用提高应用的安全性,并确保最终用户的隐私,包括以下内容:

  • 新的 NSAllowsArbitraryLoadsInWebContent 密钥可以添加到应用的 Info.plist 文件中,并允许网页正确加载,而 Apple Transport Security (ATS) 保护仍为应用的其余部分启用。
  • 通用数据安全体系结构 (CDSA) API 已弃用,将替换为可生成非对称键的 SecKey API。
  • 对于所有 SSL/TLS 连接,现在默认会禁用 RC4 对称密码。 此外,安全传输 API 不再支持 SSLv3,建议应用尽快停止使用 SHA-1 和 3DES 加密。
  • 由于 iOS 10 和 macOS Sierra 中的新剪贴板允许用户在设备之间复制和粘贴,因此 API 已扩展为允许将剪贴板限制为特定设备,并带有时间戳,以便在给定时间点自动清除。 此外,命名粘贴板不再保留,将替换为共享粘贴板容器。
  • 如果应用访问受保护的数据(如用户的日历),则它必须在其 Info.plist 文件中声明具有正确用途字符串值键的意向(若是“日历”则为 NSCalendarUsageDescription)。
  • 未通过 Mac App Store 交付的开发人员签名应用现在可以利用 CloudKit、iCloud 密钥链、iCloud 驱动器、远程推送通知、MapKit 和 VPN 权利。
  • macOS Sierra 不再支持在其 zip 存档或未签名磁盘映像中传送外部代码或数据,因为运行时之前不知道运行时路径。

此外,在 macOS Sierra(或更高版本)上运行的应用必须静态声明其访问特定功能或用户信息的意图,方法是在其 Info.plist 文件中输入一个或多个隐私特定密钥,以向用户解释应用为何希望获得访问权限。

由于 macOS Sierra 与 iOS 10 共享这些更改,有关详细信息,请参阅 iOS 10 安全和隐私增强功能指南。

智能卡驱动程序扩展支持

借助 macOS Sierra,应用可以创建基于 NSExtension 的智能卡驱动程序,该驱动程序允许从某些类型的智能卡对内容进行只读访问。 然后,此信息会显示在系统密钥链内(替换已弃用的 Common Data Security 体系结构方法)。

有关详细信息,请参阅 Apple CryptoTokenKit 框架参考

统一日志记录

统一日志记录为应用提供了一个 API,用于跨系统的所有级别高效消息传递。 借助统一日志记录,应用可以精细控制多个级别的日志记录,包括隐私控件和活动跟踪,以便更轻松地进行调试。

一起使用活动跟踪和日志记录时,日志记录提供自动消息关联。

macOS Sierra 包括一个新的控制台应用(在应用程序/实用工具中),能够显示来自多个源(包括已连接设备)的日志数据。 它还支持标记化和保存的搜索,并在多个进程中显示相关消息之间的连接。

此外,还可以使用命令行工具查看和维护日志消息。

有关详细信息,请参阅 Apple 日志记录参考

广泛的颜色

macOS Sierra 扩展了在整个系统中对扩展范围像素格式和宽域颜色空间的支持,包括核心图形、核心图像、Metal 和 AVFoundation 等框架。 通过在整个图形堆栈中提供此行为,进一步简化了对具有宽色域显示器的设备的支持。

此外,AppKit 经过修改,可在新的扩展 sRGB 色彩空间中工作,从而可以更轻松地在宽色域中混合颜色,而不会造成明显的性能损失

在使用宽色时,Apple 提供以下最佳做法:

  • NSColor 现在使用 sRGB 颜色空间,并且不再将值限制在 0.01.0 范围内。 如果应用依赖于以前的固定行为,则需要修改 macOS Sierra。
  • 当使用 Core Graphics 或 Metal 等低级 API 来提供图像处理时,应用应使用支持 16 位浮点值的扩展范围颜色空间和像素格式。 必要时,应用必须手动限制颜色分量值。
  • Core Graphics、Core Image 和 Metal Performance Shaders 都提供了在两种颜色空间之间进行转换的新方法。

若要了解详细信息,请参阅宽色简介指南。

其他框架更改

除了上面列出的主要框架更改和新增内容外,Apple 在 macOS Sierra 中进行了许多其他次要框架更改。

若要了解详细信息,请参阅其他框架更改指南。

弃用的 API

macOS Sierra 中已弃用以下 API:

  • 不再支持 HFS 标准文件系统。

有关弃用和更改的完整列表,请参阅 Apple macOS v10.12 API 差异文档。