Xcode 16 新特性
在 WWDC24 上 Apple 推出了 Xcode 16,相比较 Xcode 15,它有如下的变化。
项目
- 各类 Components 下载时支持断点续传。
- 增加了
Predictive Code Completion Model
的 Other Components,该模型主要用于代码预测功能。 - 创建 iOS 项目时,增加了
Testing System
选项,可以选择使用None
、XCTest for Unit and UI Tests
或者Swift Testing with XCTest UI Tests
,不再有Include Tests
选项。 - Project navigator 中的右键菜单
New File...
改为New Empty File
与New File from Template...
,后者保留了原先的功能,前者则可以快速创建 Swift 源文件。
功能
- 核心功能为
Predictive Code Completion
代码预测功能,但要求 Apple Silicon 16GB 及以上内存 macOS 15 及以上。 -
Assets.xcassets
中的 AppIcon 增加为 3 种,分别为Any Appearance
、Dark
与Tinted
。 - 选中代码,通过
Ctrl M
可以进行多行格式化。 - 项目构建失败时的错误信息更加明确。
- 更好的并行、更好的诊断与更快的调试。
iOS 18 适配指南
同样在 WWDC24 上 Apple 发布了 iOS 18,推出了很多新的内容。在掌握了基于 iOS 17 开发的基础上,只要学习以下的新特性就能轻松过渡到 iOS 18。
- 新增 Swift Testing 测试框架。
- 新增 UIUpdateLink,用于观察、参与与影响 UI 更新的过程。
- UIImageView 的 Symbol Animations 增加了新的动画效果与控制方式。
- UITextView 支持富文本编辑。
- UICalendarView 支持一次选择一周日期。
- UIViewController 增加了类型为
UIViewController.Transition
的preferredTransition
属性,可以实现特殊的转场效果,共有 5 种效果,分别为zoom
、coverVertical
、flipHorizontal
、crossDissolve
与partialCurl
。 - UITabBarController 增加了一种新的标签类型
UITab
,可以设置title
(标题)、subtitle
(副标题)、image
(图片)、badgeValue
(角标值)等。 - UITabBarController 增加了一个类型为 UITabBarController.Mode 的
mode
属性,用于设置显示效果,共有 3 种取值,分别为automatic
、tabBar
与tabSidebar
,其中最后一种在 iPadOS 显示时,可以在 siderBar 与 tabBar 之间进行切换。 - UITabBarControllerDelegate 增加了多个与
UITab
相关的代理方法。 - 进一步融合 SwiftUI,UIView 动画可以使用 SwiftUI 动画。
- 触觉反馈增加了一种 Apple Pencil Pro 与 iPad 搭配使用时的触觉反馈
UICanvasFeedbackGenerator
,用于指示绘图画布上的事件。 - Widget 增加新的类型 ControlWidget,需要在 WidgetControl.swift 文件中进行开发,在 iOS/iPadOS 的控制中心添加。
- 系统能够自动监听并且处理特征值的改变,不再需要
UITraitChangeObservable
协议中的特征变化注册方法registerForTraitChanges()
。
注:以上内容基于 Xcode 16 Beta,新特性均通过测试,详细内容会以专题文章的形式陆续展示。