Xcode 13.2 beta 2 需要了解的都在這了
蘋(píng)果在上周發(fā)布了 Xcode 13.2 beta 2。從官方 release note 來(lái)看,這個(gè)版本主要還是解決問(wèn)題為主。在 Swift 的并發(fā)問(wèn)題上,也解決了一些問(wèn)題,未解決的問(wèn)題也給出了解決方案。一起來(lái)看看。
構(gòu)建系統(tǒng)
新功能
構(gòu)建系統(tǒng)和 Swift 編譯器采用了一種新模式,可以更好地利用可用內(nèi)核,從而加快 Swift 項(xiàng)目的構(gòu)建速度。該模式是可選的,您可以使用以下用戶默認(rèn)值全局啟用:
defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration 1
CarPlay 模擬器
已知的問(wèn)題
CarPlay Simulator 僅在 macOS 12 Monterey 中受支持。?
預(yù)覽
棄用
設(shè)備上的預(yù)覽不再包括 watchOS 和 tvOS 預(yù)覽。運(yùn)行應(yīng)用程序以查看您的 UI。
項(xiàng)目導(dǎo)航
解決的問(wèn)題
當(dāng)源代碼顯示多個(gè)警告和錯(cuò)誤時(shí),Xcode 性能不再受到影響。
簽名和分發(fā)
解決的問(wèn)題
解決了 Xcode 要求 macOS 應(yīng)用程序的每個(gè)組件在上傳到 App Store Connect 時(shí)都具有配置文件的問(wèn)題。
源代碼管理
已知的問(wèn)題
在并排比較模式下滾動(dòng)編輯過(guò)的文件或修改最后一行附近的文件可能會(huì)導(dǎo)致崩潰。
解決方法:禁用比較模式,或使用內(nèi)聯(lián)比較模式來(lái)修改文件(從“編輯器 > 內(nèi)聯(lián)比較”菜單項(xiàng)啟用。)
源代碼編輯器
解決的問(wèn)題
修復(fù)了使用 CocoaPods 安裝而未設(shè)置“調(diào)試”配置的項(xiàng)目可能在編輯器中構(gòu)建和語(yǔ)義功能不匹配的問(wèn)題,導(dǎo)致編輯器顯示“實(shí)時(shí)問(wèn)題”等問(wèn)題。
StoreKit
新功能
StoreKit 測(cè)試包括以月為單位的新訂閱續(xù)訂率。如果您在 macOS Monterey 12.1、iOS 15.2、tvOS 15.2 和 watchOS 8.3 之前的操作系統(tǒng)上進(jìn)行測(cè)試,則操作系統(tǒng)會(huì)使用以天為單位的棄用費(fèi)率來(lái)近似更新費(fèi)率。?
Swift
解決的問(wèn)題
使用 Swift Concurrency 的 Mac Catalyst 應(yīng)用程序現(xiàn)在可以在 macOS 12 Monterey 之前的操作系統(tǒng)上啟動(dòng)。
使用 Swift 并發(fā)并在 watchOS 8.0 之前部署的 watchOS 應(yīng)用程序現(xiàn)在為 64 位 watchOS 模擬器目標(biāo)構(gòu)建,不會(huì)出現(xiàn)鏈接錯(cuò)誤。
您現(xiàn)在可以使用 TestFlight 分發(fā)使用 Swift Concurrency 并部署到 iOS 15、macOS 12 Monterey、tvOS 15 和 watchOS 8 之前的操作系統(tǒng)的應(yīng)用程序。
已知的問(wèn)題
使用 iOS 15 或 macOS 12 Monterey SDK 鏈接到 RealityKit 的應(yīng)用程序無(wú)法在以前的操作系統(tǒng)上啟動(dòng)。
解決方法:將?OTHER_LD_FLAGS = -weak_framework RealityFoundation?添加到您的 Xcode 項(xiàng)目設(shè)置,以允許在較舊的操作系統(tǒng)上運(yùn)行 RealityKit 應(yīng)用程序。
Swift Packages
解決的問(wèn)題
解決了在嘗試導(dǎo)入二進(jìn)制目標(biāo)的模塊時(shí),帶有二進(jìn)制目標(biāo)的 Swift 包有時(shí)會(huì)失敗并顯示“無(wú)此類模塊”錯(cuò)誤的問(wèn)題。
測(cè)試
新功能
在使用 Apple 芯片的 Mac 上運(yùn)行 Swift 包的測(cè)試時(shí),Xcode 現(xiàn)在可以提供代碼覆蓋率信息。
解決的問(wèn)題
解決了在某些情況下 XCTest 錯(cuò)誤報(bào)告 XCUIElement 的 frame 屬性的問(wèn)題,特別是當(dāng)該元素是另一個(gè)進(jìn)程(例如 App Extension)的一部分時(shí)。
Xcode 現(xiàn)在可以在 macOS 10.15、iOS 13、tvOS 13 和 watchOS 6 或更高版本中運(yùn)行標(biāo)記為異步的 XCTest 測(cè)試方法。
Xcode Cloud
已知的問(wèn)題
將新產(chǎn)品加入 Xcode Cloud 時(shí),Xcode 不包含啟動(dòng)條件,從而導(dǎo)致加入失敗。
解決方法:在加入期間,手動(dòng)將開(kāi)始條件添加到默認(rèn)工作流程。
