macOS SDK 的新功能

了解在 macOS SDK (用于为 Mac 创建 app 的工具包) 中可用的关键技术和功能。有关最新发布版本 (包括每个 beta 版) 中 API 更改的详细信息,请参阅 macOS 发布说明 (英文)

macOS 10.14

配合 macOS Mojave 10.14 SDK,app 可充分利用深色模式、Create ML、为 Mac App Store 而设的评分与评论 API、已认证 app、新的网络框架、Natural Langauge 框架及更多的工具和功能。

深色模式

在 macOS 10.14 中,用户现在可以切换到深色模式,将 macOS 的外观变成暗色调方案,让控件消隐在背景中,从而使用户能够专注于自己的工作。用户可以在“系统偏好设置”中为整个系统切换浅色和深色外观。

如需了解如何在 app 内集成深色模式,请参阅“在您的界面中支持深色模式 (英文)”和 AppKit (英文) 开发者文档。如需设计指导,请参阅“Human Interface Guidelines (英文)”。

Create ML

Create ML 是一项新的技术,用于在 Mac 上创建和训练自定的机器学习模型。Create ML 可以与 Swift 和 macOS Playground 等您所熟悉的工具搭配使用,让您能够更轻松地训练自己的模型。

如需了解如何开始使用 Create ML,请参阅 Create ML (英文) 开发者文档。

Mac App Store

Mac App Store 经过重新设计,加入了一个全新的“评分与评论”API,适用于使用 macOS 10.14 SDK 构建的 Mac app。

如需了解如何在 app 内让用户进行评分和评论,请参阅 SKStoreReviewController (英文) 开发者文档和“Human Interface Guidelines (英文)”。

经过认证的 App

在分发 app 之前,您可以将它们提交到 Apple 进行认证。在 macOS Mojave 上,用户首次打开经过认证的 app 时,他们会看到一个更加简化的“门禁”对话框,并可以确信这个 app 不是已知的恶意软件。经过认证的 app 使用 Developer ID 证书进行签名,并包含由 Apple 提供的票据。

如需详细了解如何对您的 app 进行认证,请参阅“上传 macOS app 以进行认证 (英文)”。

网络框架

新的网络框架让您可以更轻松地创建网络连接,以使用相应的传输和安全协议来发送和接收数据。

当您需要为您的自定 app 协议直接访问 TLS、TCP 和 UDP 等协议时,可以使用这个框架。如果是要加载基于 HTTP 和 URL 的资源,请继续使用构建在这个框架之上的 URLSession (英文)

如需了解有关网络框架的信息以及如何使用它来替换 app 中对低级套接字 API 的调用,请参阅关于网络 (英文) 框架的开发者文档。

Natural Language

Natural Language 框架是一种新的框架,用于分析自然语言文本并推导其特定于语言的元数据。你可以将此框架与 Create ML 配合使用来训练和部署自定义 NLP 模型。

如需进一步了解 app 如何处理和理解 Natural Language 文本,请参阅关于 Natural Language (英文) 框架的文档。

弃用的 API

每过一段时间,Apple 会为某些 API 加上弃用宏来标记,以表明相应的 API 不应再继续用于现行的开发。当标记上弃用时,并不意味着指定的 API 应立即停止使用,而是表示相应的宽限期已经开始,应该考虑从这个 API 转换为更新、更现代的替代方式。已弃用的 API 通常还会在它们被弃用的系统中保留一段合理的时间,并可以在这段时间内继续使用。但是,必须在现行的开发中停止使用这类 API,并且这类 API 仅会获得小幅更改,以支持安全补丁或修复其他严重错误。已弃用的 API 可能会从操作系统的未来版本中完全移除。

作为开发者,您应该尽快地在代码中停止使用被弃用的 API。至少您在编写新代码时,绝不应使用已弃用的 API。如果您现有的代码中存在已弃用的 API,请尽快更新这个代码。

弃用 OpenGL 和 OpenCL

使用 OpenGL 和 OpenCL 构建的 app 仍能在 macOS 10.14 中运行,但是 macOS 10.14 已弃用这些传统技术。使用 OpenGL 的游戏和图形密集型 app 现应采用 Metal。类似地,使用 OpenCL 执行计算任务的 app 现应采用 Metal 和 Metal Performance Shaders。

Metal 经过全面重新设计,能够以最合理的方式访问 iOS、macOS 和 tvOS 设备上的新型 GPU。Metal 避免了传统技术中固有的开销问题,为您呈现最新的图形处理功能。Metal 对图形和计算提供统一支持,让您的 app 能够高效地利用最新的渲染技术。如需了解如何使用 Metal 开发 app 和游戏,请参阅关于 Metal (英文)Metal Performance Shaders (英文)MetalKit (英文) 的开发者文档。如需了解如何将 OpenGL 代码迁移至 Metal,请参阅“在一个视图中混合使用 Metal 和 OpenGL 渲染技术 (英文)”。