Xcode 16 新特性
在 WWDC24 上 Apple 推出了 Xcode 16,相比較 Xcode 15,它有如下的變化。
項(xiàng)目
- 各類 Components 下載時(shí)支持?jǐn)帱c(diǎn)續(xù)傳。
- 增加了
Predictive Code Completion Model的 Other Components,該模型主要用于代碼預(yù)測功能。 - 創(chuàng)建 iOS 項(xiàng)目時(shí),增加了
Testing System選項(xiàng),可以選擇使用None、XCTest for Unit and UI Tests或者Swift Testing with XCTest UI Tests,不再有Include Tests選項(xiàng)。 - Project navigator 中的右鍵菜單
New File...改為New Empty File與New File from Template...,后者保留了原先的功能,前者則可以快速創(chuàng)建 Swift 源文件。
功能
- 核心功能為
Predictive Code Completion代碼預(yù)測功能,但要求 Apple Silicon + 16GB 及以上內(nèi)存 + macOS 15 及以上。 -
Assets.xcassets中的 AppIcon 增加為 3 種,分別為Any Appearance、Dark與Tinted。 - 選中代碼,通過
Ctrl + M可以進(jìn)行多行格式化。 - 項(xiàng)目構(gòu)建失敗時(shí)的錯(cuò)誤信息更加明確。
- 更好的并行、更好的診斷與更快的調(diào)試。
iOS 18 適配指南
同樣在 WWDC24 上 Apple 發(fā)布了 iOS 18,推出了很多新的內(nèi)容。在掌握了基于 iOS 17 開發(fā)的基礎(chǔ)上,只要學(xué)習(xí)以下的新特性就能輕松過渡到 iOS 18。
- 新增 Swift Testing 測試框架。
- 新增 UIUpdateLink,用于觀察、參與與影響 UI 更新的過程。
- UIImageView 的 Symbol Animations 增加了新的動畫效果與控制方式。
- UITextView 支持富文本編輯。
- UICalendarView 支持一次選擇一周日期。
- UIViewController 增加了類型為
UIViewController.Transition的preferredTransition屬性,可以實(shí)現(xiàn)特殊的轉(zhuǎn)場效果,共有 5 種效果,分別為zoom、coverVertical、flipHorizontal、crossDissolve與partialCurl。 - UITabBarController 增加了一種新的標(biāo)簽類型
UITab,可以設(shè)置title(標(biāo)題)、subtitle(副標(biāo)題)、image(圖片)、badgeValue(角標(biāo)值)等。 - UITabBarController 增加了一個(gè)類型為 UITabBarController.Mode 的
mode屬性,用于設(shè)置顯示效果,共有 3 種取值,分別為automatic、tabBar與tabSidebar,其中最后一種在 iPadOS 顯示時(shí),可以在 siderBar 與 tabBar 之間進(jìn)行切換。 - UITabBarControllerDelegate 增加了多個(gè)與
UITab相關(guān)的代理方法。 - 進(jìn)一步融合 SwiftUI,UIView 動畫可以使用 SwiftUI 動畫。
- 觸覺反饋增加了一種 Apple Pencil Pro 與 iPad 搭配使用時(shí)的觸覺反饋
UICanvasFeedbackGenerator,用于指示繪圖畫布上的事件。 - Widget 增加新的類型 ControlWidget,需要在 WidgetControl.swift 文件中進(jìn)行開發(fā),在 iOS/iPadOS 的控制中心添加。
- 系統(tǒng)能夠自動監(jiān)聽并且處理特征值的改變,不再需要
UITraitChangeObservable協(xié)議中的特征變化注冊方法registerForTraitChanges()。
注:以上內(nèi)容基于 Xcode 16 Beta,新特性均通過測試,詳細(xì)內(nèi)容會以專題文章的形式陸續(xù)展示。