一、版本說明
XCode 15 beta 發布于 2023 年 6月5日, 可支持 macOS 13.3 或以上版本, 你可以按需下載需要的平臺,
二、新增特性
1.代碼智能提示 (Code completion)
?創建新的檔案在參考時的提示
首先創建一個新的檔案
然后,在參考的地方,輸入檔案首字母會立即自動彈出補全提示,
- 函式呼叫時列出所有可能的引數排列
在沒有提示的情況下,呼叫函式時如何傳參往往是比較困難的,不知道可以傳哪些引數, 現在 XCode 將列出所有可供選擇的可能,你可以更輕松找到合適的引數串列并選擇它,
- 自動分析代碼背景關系,并給出最合適的建議,
例如在 Text 組件呼叫中,輸入"點號" 后,在彈出的提示串列中的最上方會提示 font (此時 Text 還沒設定 font ),這是因為XCode分析了背景關系,“識別出” 這是一個 Text, 并且此時還沒有設定過字體,你可能需要它,因此將字體放在建議的最上方,
2.資產檔案作為變數參考 (Asset catalogs)
過去資產檔案如圖片是以 “字串” 作為圖片名稱在代碼中被參考,現在直接通過類似變數的識別符號去參考它,它可以接受編譯時的檢查,
- 資產參考的編譯檢查
修改資產的名稱為 “MultipleClouds ” 后,參考處產生了編譯錯誤
這是因為此前資產的名稱是 "clouds", 現在,編譯器提示你修改它為 "MultipleClouds",
- 代碼中參考圖片資產的智能推薦
編輯資產的名稱時,可以獲得XCode 的智能推薦,
3.本地化資源集中管理 (Localization)
- 舊專案的本地化檔案遷移
XCode 設定中 選擇 Edit > Convert to string catalog, 此時 XCode 會自動掃描工程中的 storyboards、.strings、 以及 .stringsdict 型別的檔案,并將其列在下圖所示的串列中,你可以根據需要選擇部分或全部檔案進行遷移,
遷移完成后,所有的本地化翻譯將被整合到一個 Localization 目錄中,你還可以查看到不同語言翻譯的進度,
- 追蹤代碼中的字串變化
每次構建時,XCode 會自動提取代碼中的所有字串,當添加新字串或洗掉某個字串時,本地化目錄會標記出受影響的地方,并給出 “陳舊” 和 “新增” 的標記進行凸顯,從而提示你去翻譯或者洗掉它,
4.檔案 (Documentation)
- 新的檔案卡片樣式
- 檔案小助手
選擇小助手,然后選擇檔案預覽,
左邊是代碼,右邊可以看到對應的檔案,你可以實時編輯和預覽,這看起來有點像 MD,
5.新增 Swift 宏 (Swift macros)
系統部分框架已經實作了宏,如 Swift standard library、foundation、 以及一個新的 Swift data framework.
- 創建宏包 (macro package)
使用快捷鍵 Command-Shift-A, 然后在彈出的輸入框中輸入 New package 可以快速創建一個帶有樣例代碼的宏包,你可以修改并實作它,
然后選擇 Swift Macro
以下是一個已經實作的宏包 EnumHelper,而CaseDetection 被實作為一個宏,宏的代碼和一般的 swfit 代碼沒什么大的區別,
以下是參考了宏包 EnumHelper 中的宏 @CaseDetection,它默認會隱藏了宏實作,
- 展開宏和斷點除錯
當你需要時,你可以選擇展開宏,通過 Editor > Expand Macro 可以展開它,
展開后,還可以使用斷點,如下圖所示:
6.運行時預覽 (Previews)
- 基于宏快速創建一個預覽實體
使用宏 #Preview 快速創建一個預覽實體, 在右側邊欄可以看到預覽效果,
以下繼續添加了一個帶名稱的預覽實體,當有多個預覽實體時,可以在右側邊欄的左上角切換tab 預覽對應實體,
- AppKit 及UIKit 的預覽支持
為了兼容非SwiftUI 的代碼,可支持對舊工程的 Appkit 及 UIKit 添加預覽,
- Widget 預覽支持
7.書簽功能 (Bookmark)
- 添加書簽
你可能經常會遇到忘記此前關注或使用的一些重要代碼,在你想要找到之前的那些代碼時,你發現沒有辦法快速找到它,現在,通過添加可命名的書簽來標記他們,
添加完成后,書簽被展示在左邊欄的書簽tab下,
- 書簽分組
你可以將多個書簽打包成一個組,作為有關聯性的代碼,
你也可以設定一個組名,便于搜索和理解,
- 設定為代辦或完成
你可以將書簽作為任務來管理,比如你可以將書簽設定為完成狀態,它將會在左側顯示一個對勾,
8.代碼版本控制 (Source Control Navigation)
- 版本控制面板
在新的面板中,所有的版本改動將集中在一個檔案中一起預覽,通過上下滑動可以看到多個檔案的修改內容,從而避免來回切換修改的檔案,
修改的預覽是可互動的,你可以通過操作來擴大預覽區域,從而查看當前修改處的更多背景關系,
除了預覽,你還可以直接在當前界面下繼續編輯,編輯完成后,可以提交 commit,然后push,
可通過左側的豎條修改狀態,
小結:代碼修改的預覽、編輯、提交、推送都在同一頁面下,減少不必要的界面切換,操作更便捷,
9.測驗 (Testing)
- 測驗面板
Apple 對新的測驗面板使用Swift 進行了重寫,提速了45%,下圖案例列出了測驗計劃中的測驗用例,
- 查看測驗結果
測驗結果的整體統計資訊看起來簡明扼要,主要包括:
Top Insights: 分析測驗結果,給出一些問題分析的建議,包括錯誤的原因、分布、最耗時的測驗用例,
Tests: 展示測驗用的統計資料,包例成功率,按機型、語言分類,以及錯誤串列,
- 可互動的測驗用例回放
測驗用例的詳情資訊可以被查看,它展示了自動化的測驗步驟,以及標出發生錯誤的節點,你可以通過以上資訊來幫助找出問題的原因,
10.除錯 (Debugging)
- 控制臺引入 OSLog 的支持
OSLog 可用來很好的捕獲運行時資訊,它可定義及收集結構化的日志資訊,使日志看起來井井有條,接下來讓我們看看如何使用它,
首先,使用 OSLog 撰寫一段日志:
默認情況下,日志的元資訊是被隱藏的,僅顯示開發者輸入的日志資訊,控制臺中對不同嚴重程度(如 info、 notice 、error 等)的日志,標記為不同的顏色以示區分,
你可以選擇性的添加展示日志的分類,包括子系統類別等元資訊,
還可以過濾不同嚴重程式的日志,
最后,我們可以通過操作某條日志,跳轉到日志代碼定義處,
11.分發 (Distributing)
- 新增 TestFlight 包的備注資訊
你可以給 TestFlight 的包添加一些附屬的備注資訊,例如需要測驗哪些內容的說明,這些資訊會被展示給獲取 TF包的測驗者,
- 查看框架簽名
XCode 引入了XCFrameWork 可以對簽名的框架進行驗簽,從而顯示其來源,并保障其完整性不被破壞,從而建立框架的信任機制,
- 隱私清單
框架作者可以給自己的框架添加隱私清單,來說明隱私的使用情況和如何保護敏感資料,隱私清單會與框架捆綁一起簽名,因此,隱私清單是可被信任的,
來看看下圖所示的隱私清單:
你可以使用XCode可以生成和查看完整的隱私報告
- TestFlight 僅分發到內部測驗
當修復問題時,你不希望測驗包被真實用戶看見,這時你可以通過勾選 “僅分發給內部測驗” 然后只分發給自己公司或團隊的測驗者 ,這樣可以防止被誤發給共測用戶,
以下是另外一個操作內部測驗的路徑
三、總結
XCode15 在開發效率和性能、安全提升上主要表現為以下概括的內容:
更簡潔: 主要體現在宏、檔案、和日志上,
更智能: 提升自動補全代碼能力、提升測驗分析能力,
更便捷: 包拆分下載、代碼補全、書簽、git集中管理,本地化集中管理,
更安全: 圖片資產符號化管理, 通過對框架和隱私的處理,使得代碼更加安全,
作者:京東零售 王晰源
來源:京東云開發者社區
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/555311.html
標籤:其他
下一篇:返回列表