macOS Sierra 简介

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

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

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 中,添加了多个可与 macOS Sierra、iOS 和 watchOS 配合使用的新 API,以支持动态支付网络和新的沙盒测试环境。

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

有关详细信息,请参阅 Apple 的 ApplePay JS 框架 参考。

生成新式 macOS 应用

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

选项卡式 Mac 窗口的示例

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

CloudKit 数据共享

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

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

有关详细信息,请参阅 Apple 的 CloudKit 框架参考CloudKit JS 框架参考

重要

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 Architecture 方法) 。

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

统一日志记录

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

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

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

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

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

宽域颜色

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

此外, AppKit 已修改为在新的扩展 sRGB 颜色空间中工作,使在宽色域中混合颜色更容易,而不会显著降低性能。

Apple 在处理宽色时提供以下最佳做法:

  • NSColor 现在使用 sRGB 颜色空间,并且不再将值固定到 0.01.0 范围。 如果应用依赖于以前的 clamp 行为,则需要针对 macOS Sierra 对其进行修改。
  • 使用低级别 API(如核心图形或金属)提供图像处理时,应用应使用支持 16 位浮点值的扩展范围颜色空间和像素格式。 如有必要,应用必须手动固定颜色分量值。
  • 核心图形、核心图像和金属性能着色器都提供了用于在两个颜色空间之间进行转换的新方法。

若要了解详细信息,请参阅 我们的《宽色简介》 指南。

其他框架更改

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

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

弃用的 API

macOS Sierra 中已弃用以下 API:

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

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