Xcode 13 正式版發(fā)布,來看看有什么新特性
Xcode 13 包括適用于 iOS 15、iPadOS 15、tvOS 15、watchOS 8 和 macOS Big Sur 11.3 的 SDK。Xcode 13 Release Candidate 支持 iOS 9 及更高版本、tvOS 9 及更高版本以及 watchOS 2 及更高版本的設(shè)備上調(diào)試。Xcode 13 需要運(yùn)行 macOS 11.3 或更高版本的 Mac。
通用
Xcode 13 包括對(duì) Swift 并發(fā)編程的原生支持、對(duì) Xcode Cloud 持續(xù)集成和交付的支持、對(duì) Git 拉取請(qǐng)求的集成支持、使用 DocC 在 Swift 框架中創(chuàng)建和查看文檔的能力、Vim 鍵綁定支持、Swift 包集合;
可以在命令行上使用 cktool 與 CloudKit 數(shù)據(jù)庫(kù)架構(gòu)和記錄進(jìn)行交互;
可以在命令行上使用 TextureConverter 將紋理壓縮為所有 Metal 壓縮紋理格式;
對(duì)于相同的內(nèi)容,Xcode 13 的 XIP 存檔現(xiàn)在大約小 15%。
Clang 編譯器
為了支持新的 Swift 并發(fā)模型,clang 現(xiàn)在可以在您多次調(diào)用完成處理程序或執(zhí)行路徑?jīng)]有完成處理程序調(diào)用時(shí)發(fā)出警告;
新的
-fobjc-constant-literals標(biāo)志允許您聲明全局常量文字,并對(duì)其在 Objective-C 代碼中支持的其他文字執(zhí)行優(yōu)化;可以在 Xcode 的構(gòu)建設(shè)置中配置 C++20 和 GNU++20 C++;
支持 C++20 似然屬性 [[likely]] 和 [[unlikely]]
資產(chǎn)目錄
應(yīng)用程序現(xiàn)在可以使用其資產(chǎn)目錄中的 iOS 應(yīng)用程序圖標(biāo)資產(chǎn)作為備用應(yīng)用程序圖標(biāo);
允許選擇適用于所有平臺(tái)(包括 watchOS)的通用系統(tǒng)顏色;
構(gòu)建系統(tǒng)
.xcconfig 文件現(xiàn)在支持使用
\跨多行拆分長(zhǎng)列表;
HEADER_SEARCH_PATHS = $(SRCROOT)/include \
$(SRCROOT)/include/component1 \
$(SRCROOT)/include/component2
當(dāng)使用
-xcconfig命令行標(biāo)志和XCODE_XCCONFIG_FILE環(huán)境變量將 xcconfig 文件傳遞給 xcodebuild 時(shí),Xcode 會(huì)使用 New Build System 語義解析它們,該語義也支持條件參數(shù)。通過將 SUPPORTED_PLATFORMS 構(gòu)建設(shè)置設(shè)置為您支持的平臺(tái)列表并將
ALLOW_TARGET_PLATFORM_SPECIALIZATION設(shè)置為 YES,將框架配置為在單個(gè)構(gòu)建操作中為多個(gè)平臺(tái)構(gòu)建;可以在構(gòu)建階段使用平臺(tái)過濾器,并為所有支持的平臺(tái)定位依賴項(xiàng)。
當(dāng)發(fā)生構(gòu)建失敗時(shí),xcodebuild 現(xiàn)在會(huì)在構(gòu)建日志末尾的摘要中顯示每個(gè)失敗命令的目標(biāo)和項(xiàng)目名稱;
當(dāng)腳本階段或自定義構(gòu)建規(guī)則聲明不屬于構(gòu)建輸入的一部分,且未聲明為構(gòu)建中任何其他任務(wù)的輸出依賴項(xiàng)的輸入依賴項(xiàng)時(shí),構(gòu)建系統(tǒng)會(huì)發(fā)出警告;
構(gòu)建選項(xiàng)表現(xiàn)在包括一個(gè)依賴順序選項(xiàng),它取代了并行構(gòu)建選項(xiàng)。
Core Data
使用 Core Data 模型編輯器的屬性檢查器中的 Allows Cloud Encryption 復(fù)選框來支持 CloudKit 加密記錄字段功能。
Core ML
Xcode 的 Core ML 模型編輯器現(xiàn)在支持新的 Core ML 包格式
.mlpackage,以及對(duì)其元數(shù)據(jù)和描述的直接編輯。當(dāng)部署目標(biāo)是 macOS 12、iOS 15、tvOS 15 或 watchOS 8 時(shí),Swift 為 Core ML 模型生成的接口現(xiàn)在包括通過強(qiáng)類型
MLShapedArray屬性訪問多維輸入和輸出。
Create ML
兩個(gè)新模板:Hand Pose Classification 和 Hand Action Classification,可用于訓(xùn)練模型來解釋手部姿勢(shì);
Sound Classification 模板的新 Audio Feature Print 選項(xiàng)能夠以更高的準(zhǔn)確度、更低的延遲和更小的模型尺寸更快地訓(xùn)練聲音分類器模型。
調(diào)試
Xcode 的控制臺(tái)現(xiàn)在支持通過 Editor > Wrap Lines 菜單項(xiàng)切換換行;
要在一行上設(shè)置列斷點(diǎn),請(qǐng)按住 Command 鍵并單擊表達(dá)式,然后從 Actions 菜單中選擇 Set Column Breakpoint;
如果調(diào)試器尚未解析斷點(diǎn),則斷點(diǎn)的圖標(biāo)將更改為占位符字形;
文檔
Xcode 可以根據(jù) Swift 代碼中的注釋以及隨附的文章生成文檔;
當(dāng)編寫項(xiàng)目文檔時(shí),Code completion 會(huì)提供建議。它在源文件中編寫文檔注釋和在 .docc 目錄中編寫標(biāo)記文件時(shí)提供建議。
Quick Help 現(xiàn)在使用 DocC 來呈現(xiàn)項(xiàng)目文檔并在文檔窗口中呈現(xiàn)指向項(xiàng)目文檔的鏈接;
索引
Xcode 索引宏名稱。它們現(xiàn)在出現(xiàn)在 Open Quickly 中。
Instruments
Instruments 中的調(diào)用樹視圖和擴(kuò)展詳細(xì)信息視圖現(xiàn)在用“[inlined]”標(biāo)記指示內(nèi)聯(lián)函數(shù)。
通過詳細(xì)視圖導(dǎo)航欄更容易發(fā)現(xiàn)不同的視圖。現(xiàn)在可以通過快捷方式(Command-1、Command-2 等)訪問詳細(xì)視圖。
在命令行上使用
xctrace export從包含Allocations, Leaks, 和 VM Tracker instruments 的跟蹤中導(dǎo)出表數(shù)據(jù)。Instruments 擴(kuò)展詳細(xì)信息視圖,現(xiàn)在在選擇關(guān)聯(lián)的詳細(xì)信息視圖行時(shí)顯示
os_log和os_signpost消息和回溯。Run Information 視圖現(xiàn)在出現(xiàn)在 Instruments 工具欄的活動(dòng)視圖區(qū)域中。
CPU Counters 模板現(xiàn)在更加可靠并且具有更好的性能;
leaks命令具有三種新模式:-referenceTree、-autoreleasePools和-debug;Network 模板現(xiàn)在包含一個(gè)用于捕獲和分析 HTTP 流量的新工具
Instruments 時(shí)間線視圖現(xiàn)在使用基于 Metal 的渲染器以獲得更流暢的體驗(yàn),包括對(duì)時(shí)間線可用性的整體改進(jìn);
os_signpost工具的記錄設(shè)置現(xiàn)在支持在記錄期間為 dynamicTracing 和 dynamicStackTracing 日志記錄類別指定 os_signpost 子系統(tǒng)。新的 CPU Profiler 模板允許使用基于周期的性能監(jiān)控中斷 (PMI) 分析 CPU 工作負(fù)載
為了支持在 macOS Monterey 和 iOS 15 中生成的新 JSON 格式的崩潰日志,Instruments 包含了一個(gè)新的
CrashSymbolicator.py腳本。
Interface Builder
您現(xiàn)在可以在大綱視圖中手動(dòng)重新排序 Storyboard 場(chǎng)景。
macOS 的 Storyboard 和 XIB 使用 UINIbEncoder 進(jìn)行編譯,以減少文件大小并提高運(yùn)行時(shí)性能;
現(xiàn)在可以使用鍵盤選擇和導(dǎo)航大綱視圖組,例如 Constraints;
Interface Builder 有一個(gè)重新設(shè)計(jì)的畫布底部欄,帶有用于更改設(shè)備和布局的彈出窗口,以及用于更改設(shè)備外觀和方向的開關(guān)。
添加了對(duì) UIButton 和 UIBarButtonItem 上的 changesSelectionAsPrimaryAction 屬性的支持;
支持從對(duì)象庫(kù)中創(chuàng)作和拖動(dòng) iOS Core Location Buttons
添加了對(duì)用于靜態(tài)表格視圖中表格視圖單元格的新內(nèi)容配置樣式的支持
UITabBar 和 UIToolbar 檢查器現(xiàn)在支持配置 scrollEdgeAppearance
Interface Builder 現(xiàn)在支持 UIButton.menu
編輯啟動(dòng) storyboards 時(shí),如果總圖像資源大小超過運(yùn)行時(shí)閾值限制,Xcode 會(huì)發(fā)出設(shè)計(jì)時(shí)警告。
Watch Storyboards 的預(yù)覽窗格現(xiàn)在顯示畫布樣式的邊。
現(xiàn)在可以在 Interface Builder 場(chǎng)景中預(yù)覽以下輔助功能設(shè)置:動(dòng)態(tài)類型、粗體文本、按鈕形狀、開/關(guān)標(biāo)簽、增加對(duì)比度和降低透明度。
現(xiàn)在可以啟用 UILabel 的 showsExpansionTextWhenTruncated 屬性以在標(biāo)簽被截?cái)鄷r(shí)顯示工具提示擴(kuò)展。
從文檔檢查器 > 模擬指標(biāo) > 場(chǎng)景大小自定義 Mac Catalyst 模擬場(chǎng)景大小
通過屬性檢查器為使用 Mac Catalyst 構(gòu)建的應(yīng)用程序指定 UIControl 對(duì)象上的工具提示。
Interface Builder 現(xiàn)在支持 UIBarButtonItem.menu
Interface Builder 現(xiàn)在支持新的 UITextContentType 屬性,包括:shippingTrackingNumber、flightNumber 和 dateTime。
iOS、iPadOS、macOS 和 tvOS 場(chǎng)景支持兩種新的 SF Symbol 渲染模式:分層和調(diào)色板。
Interface Builder 現(xiàn)在支持使用 UIButtonConfiguration 樣式創(chuàng)作按鈕,包括普通、灰色、著色和填充。
UINavigationBar、UITabBar 和 UIToolbar 檢查器現(xiàn)在支持配置 UIBarAppearance 實(shí)例。
UIButton 和 UISlider 支持為使用 Mac Catalyst 構(gòu)建的應(yīng)用程序選擇首選的行為風(fēng)格。
在視圖控制器的大小檢查器中使用 Freeform 模擬度量的 Storyboard 場(chǎng)景現(xiàn)在可以直接在畫布中使用調(diào)整大小旋鈕調(diào)整大小。
NSButton 斜角類型在 macOS 12 中支持斜角顏色。
在適用于 macOS 12 的應(yīng)用程序中,您可以使用屬性檢查器中的 localize 屬性在非系統(tǒng) NSMenuItem 上配置本地化的等效鍵選項(xiàng)。
在 iOS 15 的應(yīng)用程序中,可以使用屬性檢查器中的 localize 屬性在非系統(tǒng) UI 菜單命令上配置本地化的等效鍵選項(xiàng)。
鏈接
dyld 共享緩存已拆分為多個(gè)文件
使用 macOS 12 或 iOS 15 或更高版本的部署目標(biāo)構(gòu)建的所有程序和 dylib 現(xiàn)在都使用鏈?zhǔn)叫迯?fù)格式
統(tǒng)一 dyld2 和 dyld3。現(xiàn)在所有平臺(tái)上只有一個(gè) dyld。
DriverKit 運(yùn)行時(shí)現(xiàn)在有一個(gè) dyld 共享緩存。
如果 DYLD_PRINT_SEARCHING 環(huán)境變量在啟動(dòng)時(shí)設(shè)置為 1,則 dyld 會(huì)打印出它搜索的所有位置的路徑,以找到要加載的 dylib。
本地化
Xcode 現(xiàn)在可以打開 Xcode 本地化目錄 (.xcloc) 以查看和編輯字符串和其他本地化資產(chǎn)的翻譯。
新的 Use Compiler to Extract Swift Strings 構(gòu)建設(shè)置調(diào)用 Swift 編譯器從 Text()、String(localized:)、AttributedString(localized:) 初始值設(shè)定項(xiàng)、SwiftUI 的 LocalizedStringKey 和 Foundation 的 StringLocalizationKey 中準(zhǔn)確地提取字符串插值和字符串文字。
添加了對(duì) genstrings 和本地化導(dǎo)入和導(dǎo)出的支持,以提取在 Objective-C 代碼中使用新 NSLocalizedAttributedString 宏的字符串。
導(dǎo)出本地化時(shí),多個(gè)本地化中的錯(cuò)誤現(xiàn)在會(huì)聚合到一個(gè)警報(bào)對(duì)話框中。
在導(dǎo)出以進(jìn)行本地化時(shí),Xcode 會(huì)自動(dòng)從 Info.plist 文件中提取 NSGKFriendListUsageDescription、NSLocationTemporaryUsageDescriptionDictionary 和 NSFallDetectionUsageDescription。
Metal
Metal Debugger 現(xiàn)在支持 Selective Shader Debugging,它允許您限制大型 Compute 著色器的調(diào)試范圍。這導(dǎo)致更快的著色器調(diào)試器會(huì)話創(chuàng)建和迭代時(shí)間。
Metal Debugger 中的新捕獲控件可讓您精確控制來決定捕獲 Metal 工作負(fù)載的哪個(gè)部分,以及捕獲多個(gè)幀或范圍的選項(xiàng)。
Metal Debugger 現(xiàn)在支持導(dǎo)入 metallibsym 文件,這使您可以在應(yīng)用程序中進(jìn)行 Metal 著色器調(diào)試和分析,而無需在您的 metallib 中嵌入著色器源。
Metal Debugger 中的 Apple GPU 可以使用 GPU 時(shí)間線。使用此時(shí)間線可視化和檢查 Metal GPU 命令的并行執(zhí)行以及一組精選的 GPU 計(jì)數(shù)器。
Metal 管道狀態(tài)對(duì)象現(xiàn)在在 Metal Debugger 中表示為資源,包括一個(gè)全新的 Metal Pipeline States 和 Metal Libraries 查看器,以及 Metal Debugger 的 Memory Viewer 中的 Metal Pipeline 狀態(tài)的 GPU 內(nèi)存。
Instruments 的 Metal System Trace、Xcode 中的 Metal Debugger 以及全新的 Condition Inducer 中提供了新的一致 GPU 性能狀態(tài)分析工作流。
現(xiàn)在可以在 Metal System Trace 模板的記錄選項(xiàng)中覆蓋 GPU 性能狀態(tài)。
Metal Debugger 現(xiàn)在支持 Metal 光線追蹤以及新的高級(jí)加速結(jié)構(gòu)查看器。
Metal 應(yīng)用程序錄制設(shè)置現(xiàn)在特定于正在配置的設(shè)備。
Organizer
Xcode 現(xiàn)在可以近乎實(shí)時(shí)地提供崩潰報(bào)告,數(shù)據(jù)保留時(shí)間更長(zhǎng)。
Xcode 現(xiàn)在提供具有更多過濾功能和更多統(tǒng)計(jì)信息的崩潰報(bào)告。
現(xiàn)在可以通過 URL 共享崩潰報(bào)告
Xcode 現(xiàn)在會(huì)顯示您的崩潰問題的 TestFlight 反饋,以便更好地了解問題所在
現(xiàn)在可以根據(jù)任何特定的歷史應(yīng)用程序版本、任何特定的歷史應(yīng)用程序版本、產(chǎn)品類型(如 App Clip、應(yīng)用程序擴(kuò)展或主應(yīng)用程序)以及 TestFlight 或 App Store 的發(fā)布?xì)v史記錄過濾 Energy 報(bào)告列表。
Xcode Organizer 中的新 Scroll Hitch Goals 使分析應(yīng)用程序版本的滾動(dòng)體驗(yàn)變得容易
當(dāng)您查看應(yīng)用的指標(biāo)時(shí),您現(xiàn)在可以選擇查看應(yīng)用的 App Clip 的指標(biāo)
Xcode Organizer 中新的 Terminations 指標(biāo)顯示前景和背景終止,按原因細(xì)分
Xcode Organizer 中的歷史數(shù)據(jù)現(xiàn)在可以為每個(gè)指標(biāo)圖表顯示最多 16 個(gè)應(yīng)用程序的最新版本,提供應(yīng)用程序在更大時(shí)間窗口內(nèi)的性能趨勢(shì)。
現(xiàn)在,當(dāng)您查看指標(biāo)時(shí),檢查器會(huì)顯示您應(yīng)用的發(fā)布日期信息。
Xcode Organizer 中 Disk Write Reports 的 Qualitative Insights 在檢查器中顯示稱為 Insights 的新信息
現(xiàn)在 Xcode Organizer 中提供了 Smart Insights,可幫助您比以前更快地發(fā)現(xiàn)應(yīng)用程序的功能和性能回歸
預(yù)覽
預(yù)覽現(xiàn)在支持在預(yù)覽視圖時(shí)檢查視圖的輔助功能元素
Project Navigator
當(dāng) Products 組位于默認(rèn)位置時(shí),項(xiàng)目導(dǎo)航器會(huì)隱藏它
Move Focus to Editor 命令現(xiàn)在解釋 vim 方向移動(dòng)鍵。
schema 編輯表不再有最大尺寸
簽名和分發(fā)
xcodebuild 現(xiàn)在支持使用 App Store Connect API 密鑰對(duì) Apple Developer 網(wǎng)站進(jìn)行身份驗(yàn)證。
Xcode 現(xiàn)在提供在您第一次將新應(yīng)用上傳到 App Store Connect 時(shí)創(chuàng)建應(yīng)用記錄的功能。
將應(yīng)用上傳到 App Store Connect 時(shí),Xcode 中的分發(fā)助手會(huì)檢測(cè)您的應(yīng)用是否具有有效的內(nèi)部版本號(hào) (CFBundleVersion)。
Xcode 分發(fā)助手中的自動(dòng)簽名現(xiàn)在支持云簽名。
Xcode 13 支持在 Mac 上為 TestFlight 配置應(yīng)用程序
您現(xiàn)在可以在命令行上使用 notarytool 與 Apple 公證服務(wù)進(jìn)行交互
Source Control
現(xiàn)在,您可以在登錄 GitHub 或 Bitbucket Server 帳戶后,使用 Xcode 的源代碼控制功能創(chuàng)建、審查和合并拉取請(qǐng)求。
您現(xiàn)在可以從文檔選項(xiàng)卡欄中的任何編輯器(或編輯器拆分)中啟用代碼審查,默認(rèn)情況下它會(huì)在內(nèi)嵌演示中顯示比較。
源碼編輯器
Xcode 13 引入了 Vim 鍵綁定,在源代碼編輯器中模擬 vim 體驗(yàn)并結(jié)合現(xiàn)有的編輯器功能。
在首選項(xiàng)中啟用 Vim 鍵綁定,使用文本編輯 > 編輯中的啟用 Vim 鍵綁定選項(xiàng)。
可以通過選擇 Edit > Copy Location 以
<filename>:<line-number>的形式將所選內(nèi)容的當(dāng)前位置復(fù)制到剪貼板。在 Swift 中將占位符擴(kuò)展為閉包時(shí),代碼完成使用閉包的參數(shù)名稱而不是
<#Type#>。Xcode 13 中的 Swift 語法高亮顯示是即時(shí)且無閃爍的,無論是在文件之間進(jìn)行編輯還是導(dǎo)航。
即使您的代碼不完整或您的項(xiàng)目無法編譯,Swift Jump to Definition 現(xiàn)在也能提供更具彈性的體驗(yàn)。
從 Swift 類、協(xié)議或方法聲明跳轉(zhuǎn)到定義還可以輕松導(dǎo)航到整個(gè)工作區(qū)中的所有子類、擴(kuò)展和符合協(xié)議的類型。
Xcode 13 包括重新設(shè)計(jì)的 Swift 代碼完成功能,可最大限度地提高可靠性和性能,尤其是在項(xiàng)目源代碼中存在結(jié)構(gòu)和邏輯不一致的情況下。
Static Analyzer
靜態(tài)分析器現(xiàn)在警告帶有副作用的斷言、無限循環(huán)和更多 C++11 std::move 誤用情況。
StoreKit
Xcode 中的 StoreKit 測(cè)試支持對(duì)使用 StoreKit 新的現(xiàn)代基于 Swift 的 API 構(gòu)建的應(yīng)用內(nèi)購(gòu)買進(jìn)行全面測(cè)試。
Swift Packages
根包和基于分支的包依賴項(xiàng)現(xiàn)在可以在其目標(biāo)設(shè)置中使用 unsafeFlags。
Swift 包現(xiàn)在可以聲明 Mac Catalyst 的部署目標(biāo),并且現(xiàn)在可以在構(gòu)建條件中將 Mac Catalyst 指定為平臺(tái)。
當(dāng)包聲明工具版本為 5.5 或更高版本時(shí),macOS 的構(gòu)建條件不再適用于 Mac Catalyst。
Swift Packages 現(xiàn)在支持 DriverKit 作為平臺(tái)。
當(dāng)您嘗試導(dǎo)入本地尚不可用的模塊時(shí),Xcode 現(xiàn)在會(huì)建議您添加的集合中的包。
現(xiàn)在可以在 Add Packages 表中添加精選的包集合。
單元測(cè)試現(xiàn)在可以直接測(cè)試可執(zhí)行目標(biāo)。
Swift 重構(gòu)
新的重構(gòu)有助于遷移到異步代碼。“Convert Call to Async Alternative”可用于將完成處理程序作為最后一個(gè)參數(shù)的調(diào)用,并重構(gòu)它們以使用新的異步語言功能,假設(shè)該函數(shù)的異步等效項(xiàng)已經(jīng)存在。
現(xiàn)在可以將新的 Add Async Wrapper 重構(gòu)操作應(yīng)用于具有完成處理程序的函數(shù)。
測(cè)試
Source Editor 和 Test Navigator 具有 Run Test 操作的兩個(gè)新變體,它們無需構(gòu)建即可運(yùn)行測(cè)試選擇。
您現(xiàn)在可以使用 XCTPerformanceMeasurementPolarity 枚舉自定義如何將性能測(cè)試的自定義指標(biāo)的測(cè)量值與設(shè)置的基線進(jìn)行比較。
XCTest 現(xiàn)在能夠在受支持的 iOS 設(shè)備上的 UI 測(cè)試中合成指針交互。
Xcode 現(xiàn)在為在運(yùn)行測(cè)試時(shí)崩潰的進(jìn)程收集代碼覆蓋率數(shù)據(jù)。
性能 XCTests 現(xiàn)在支持測(cè)量應(yīng)用程序啟動(dòng)時(shí)的 CPU 使用率 (XCTCPUMetric)、磁盤寫入 (XCTStorageMetric) 和內(nèi)存使用率 (XCTMemoryMetric)。
xcodebuild 有一個(gè)新選項(xiàng)
-enablePerformanceTestsDiagnostics YES,用于收集性能 XCTest 的診斷信息。現(xiàn)在在所有新創(chuàng)建的測(cè)試計(jì)劃中默認(rèn)啟用測(cè)試超時(shí)。通過轉(zhuǎn)換方案創(chuàng)建的測(cè)試計(jì)劃需要手動(dòng)啟用測(cè)試超時(shí)以保留現(xiàn)有行為。
用戶界面測(cè)試現(xiàn)在支持在 macOS 中使用 swipeUp、swipeDown、swipeLeft 和 swipeRight 系列方法。
性能測(cè)試現(xiàn)在支持在 macOS 中為動(dòng)畫
os_signpost間隔使用 XCTOSSignpostMetric 時(shí)收集故障指標(biāo)。XCTest 現(xiàn)在支持測(cè)試重復(fù),且有三種測(cè)試重復(fù)模式。
新的透明屏幕覆蓋顯示自動(dòng)化運(yùn)行時(shí)的活動(dòng),并顯示描述如何停止自動(dòng)化的文本。
在 macOS 中,或在具有密碼的設(shè)備上使用自動(dòng)化時(shí),您必須從管理員帳戶運(yùn)行自動(dòng)化,并且必須進(jìn)行身份驗(yàn)證以授權(quán)自動(dòng)化。
XCTest 現(xiàn)在支持從 App Tracking Transparency 框架重置受保護(hù)資源“用戶跟蹤”的授權(quán)狀態(tài)。
用 Swift 編寫的測(cè)試方法可能會(huì)被標(biāo)記為異步或異步拋出,以允許調(diào)用和等待來自異步 API 的結(jié)果,作為 Swift 并發(fā)語言功能的一部分。
XCTestCase 現(xiàn)在包含一個(gè) addTeardownBlock 方法重載,其閉包參數(shù)是 async throws
xcodebuild 現(xiàn)在支持將某些環(huán)境變量傳遞給測(cè)試運(yùn)行器進(jìn)程。
XCTExpectFailure 函數(shù)現(xiàn)在包括用于自定義某些選項(xiàng)的 Swift 重載,而無需創(chuàng)建 XCTExpectedFailure.Options 實(shí)例
XCTest 現(xiàn)在能夠在 watchOS UI 測(cè)試中合成 Digital Crown 旋轉(zhuǎn)。
XCTest 現(xiàn)在包括 setUp 和 tearDown 實(shí)例方法的異步拋出重載
測(cè)試現(xiàn)在可以從任何線程調(diào)用 XCTestCase.expectation(description:)——以及其他返回 XCTestExpectation 的 XCTestCase API。這消除了之前測(cè)試從主線程調(diào)用這些 API 的要求,并允許使用它們的現(xiàn)有測(cè)試采用異步,而無需 @MainActor。
-End-
最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來,可以說是程序員面試必備!所有資料都整理到網(wǎng)盤了,歡迎下載!

面試題】即可獲取
