Xcode 9的新功能
Xcode是用於爲Apple TV,Apple Watch,iPad,iPhone和Mac創建應用程序的完整開發人員工具集。Xcode開發環境以tvOS SDK,watchOS SDK,iOS SDK和macOS SDK的形式捆綁Instruments分析工具,Simulator和操作系統框架。
Xcode 9的亮點
Xcode 9包括整體質量改進以及廣泛的新功能。
- 全新編輯。快速,基於結構的編輯器,可讓您智能地突出顯示和瀏覽您的代碼。包括偉大的Markdown支持。
- 重構。重構內置於編輯體驗之中,並可跨Swift,Objective-C,Interface Builder和許多其他文件類型。
- 超快速搜索 “查找”導航器會立即返回結果。
- 調試。通過網絡無線調試iOS和tvOS設備,Metal的新調試器以及Xcode中的更多功能。
- 源代碼管理。所有新的源代碼管理導航器和集成的支持GitHub帳戶,以快速瀏覽存儲庫並將您的存儲庫推送到雲端。
- Xcode服務器內置。連續集成機器人可以在任何具有Xcode 9的Mac上運行,無需安裝macOS Server。
- 新遊樂場模板 包括iOS模板,旨在在iPad中的Xcode和Swift Playground中運行良好。
- 新建系統。Xcode新建構建系統的選擇性預覽可提高可靠性和性能。
一般
更新了使用plist文件定義文本宏的方式。
- 爲項目中的用戶,項目或特定用戶定義文本宏。
- 自定義新的文件頭。有關更多信息,請參閱Xcode幫助中的自定義文件標題。
- 有關更多信息,請參閱Xcode幫助。
更新了索引引擎,包括在編譯文件時對其進行索引的能力。
- 設備窗口被分成用於設備和模擬器的單獨的窗格。
資產目錄
- 命名顏色支持。
- 添加了廣泛的應用程序圖標。
- 向App Icon集合增加了一個較大的iOS營銷。
- 添加了保留圖像矢量數據以選擇動態類型縮放的選項。
- 增加了對HEIF圖像的支持。
建築與連接
- 新的Xcode 9 - 新建系統。
- 添加了一個在Swift中編寫的新構建系統的預覽。
- 提供更高的可靠性。
- 捕獲許多項目配置問題。
- 提高整體構建系統性能。注意,構建系統性能不包括構建系統使用的編譯器,鏈接器和其他工具。
- 目前可選,並將成爲未來版本的Xcode的默認值。
- 要選擇項目或工作區的新構建系統,請選擇“文件”>“項目設置”或“文件”>“工作區設置”,然後爲構建系統類型選擇“新建構建系統(預覽)”。
- 有關與現有項目兼容性的說明,請參閱Xcode發行說明。
功能
- iOS熱點和多路徑TCP的新配置。
- 新的網絡配置,包括內容過濾,代理DNS查詢以及代理TCP和UDP連接。
- 用於watchOS的新背景模式用於錄音和轉彎方向。
- tvOS背景提取的新模式。
核心ML
- 新的Xcode 9 - 核心ML編輯器。
- 爲模型生成強類型接口。
- 用於設備上使用的模型編譯。
調試
Xcode 9中的新功能 - iOS和tvOS設備的網絡調試。
- 通過WiFi或有線網絡調試iOS和tvOS設備。
- 通過Bonjour連接或輸入IP地址。
- iOS設備需要插入一次才能啓用網絡調試。
新的Xcode 9 - GPU幀捕獲和GPU覆蓋。
- 查看命令緩衝區,附件,資源和調用堆棧。
- 修改着色器並將更改保存到您的應用程序。
- 移動序列的時間軸。
- 檢查和修改附件中各個像素的值,包括顏色值,alpha,深度等。
- 通過最小化紋理帶寬,最小化渲染像素的數量,禁用混合階段,僅顯示線框,以及縮放鑲嵌數量,來實現渲染狀態而不修改代碼。
新的Xcode 9 - 未定義的行爲消毒劑。
- 使用Undefined行爲消毒劑來查找程序崩潰,意外行爲以及與未來版本的Xcode的不兼容性。
- 檢測C語言中的幾種類型的未定義行爲,如整數溢出,無效的轉換和對齊違規。
- 在方案編輯器的診斷窗格中啓用未定義的行爲消毒劑。
新的Xcode 9 - 主線程檢查器。
- 檢測未在主線程上進行的AppKit,UIKit和WebKit方法調用。
- 在調試期間自動啓用,並且可以在方案編輯器的“診斷”選項卡中禁用。
- 主線程檢查器與Swift和C語言一起使用。
通過深度過濾增強斷點導航器。
- 添加修改斷點的可視指示符。
- 擴展視圖調試器以顯示視圖控制器,並使用SceneKit和SpriteKit視圖。
- 增強iOS電能表。
文檔
- 新的統一瀏覽器,集成了參考,示例代碼和文章。
- 改進文檔搜索。
- 用於在頁面之間導航的新跳轉欄。
- 集成示例代碼下載。
儀器
- 用於在跟蹤文檔的圖形區域中固定圖形的新拆分視圖。
- 添加了所有策略,並將策略選擇器移動到跟蹤文檔頂部的新工具欄。
- 增強型金屬調試儀。
- 金屬系統跟蹤VR支持查看事件,如合成器活動,姿勢查詢等
界面生成器
- 增加了對資產目錄中使用命名顏色的支持。
- 增加了對新邊距和基線視圖約束的支持。
- 增加了對汽車佈局安全區域指南的支持。
- 增加了對全屏WatchOS應用程序的支持。
金屬2支持
Xcode 9中的新功能 - Capture API。
- 在你的代碼中定義明確的捕獲邊界。
- 使用新MTLCaptureManager類和新MTLCaptureScope協議來編程設置,管理和觸發捕獲邊界。
- 使用擴展的Xcode GPU Capture UI手動啓動和停止捕獲。您還可以使用Xcode來捕獲應用程序中定義的API邊界。
Xcode 9中的新功能 - GPU計數器。
- 分析有關特定GPU捕獲的詳細分析指標。在iOS和tvOS中,GPU計數器顯示爲命令編碼器的時間線; 在macOS中,GPU計數器顯示爲繪製或調度調用的時間線。
- 檢查渲染或計算流水線階段的運行時性能,如頂點着色器,片段着色器,計算內核等。
- 比較在每個流水線階段花費的GPU時間來查找您的性能瓶頸。
Xcode 9中的新功能 - GPU備註。
- 在金屬着色語言代碼中查找優化機會。
- 在着色器編輯器中調試特定於設備的運行時問題。
- 按照直接的解決方案和說明來改進您的代碼。
Xcode 9中的新功能 - 智能過濾。
- 通過鍵入到調試導航器來查找特定的調試信息。當您鍵入和突出顯示匹配的文本(如資源,像素格式,功能名稱,對象標籤等)時,Xcode會動態顯示建議。
- 通過從預定義的Metal對象菜單中選擇選項來過濾搜索結果。
- 使用多個具有許多匹配條件的過濾器。
新的Xcode 9 - VR支持。
- 查看VR提交和左眼/右眼提交的表面。
添加紋理檢查,以檢查渲染目標中各個像素的值,如顏色,alpha,深度等。
- 添加檢查輸出頂點屬性到緩衝區編輯器。
- 添加數據提示支持金屬對象,如紋理,緩衝區和採樣器。
重構
- 跨Swift,C,Objective-C和C ++文件的全局重命名。
- 查看所有更改在一個地方。
- 轉換Swift和Objective-C格式之間的方法簽名。
- 根據需要更新屬性,getter,setter和合成的iVars。
- 一個按鈕更改。
- 修復 - 它會自動填充switch語句中的缺失情況,並且一致的協議一致性的強制性方法。
- 提取所有支持的語言的方法功能,以及其他語言特定的本地重構。
模擬器
Xcode 9中的新功能 - 多個併發模擬器。
- 同時運行多個模擬器。
- 並行運行更多測試。
- 測試同步和其他多設備工作流程。
iOS和WatchOS模擬器的新Chrome包括硬件控件,並允許輕鬆拖動和調整模擬設備的大小。
- 從地圖,照片和Safari與模擬器共享信息。
- 添加了關閉窗口或退出模擬器之後運行模擬器的選項,以便與命令行工具的simctl命令更好地集成xcrun。
- 錄製模擬器的視頻。
- 選擇幫助>模擬器幫助獲取幫助。
源代碼管理
- 用於查看當前工作區的分支,標籤和遠程存儲庫的新的源代碼管理導航器。
- 新的源代碼管理檢查器顯示所選導航器項目的詳細信息。
- 分支歷史的新編輯器,包括一個方便導航的跳轉杆。
- 文件差異的新的並行編輯器。
- 更容易和更快地訪問常見任務。
- GitHub帳戶集成,方便瀏覽和一鍵創建項目和相關聯的GitHub存儲庫。
源編輯
- 新的Xcode 9 - 所有新的源代碼編輯器。
- 更快更多功能查找和更換。
- 快速滾動任何大小的文件。
- 直接操縱代碼結構,如令牌和塊。
- 重新設計源代碼管理的集成。
- 重新設計了錯誤和警告消息的顯示。
- 支持Markdown。
迅速
- Xcode 9中的新功能 - Swift 4。
- Swift 4和Swift 3,Swift 4和Swift 3目標的一個編譯器可以在同一個項目中編譯。
- 改進的遷移者體驗,只支持將選定目標遷移到Swift 4。
- 更快的通用代碼和減少的代碼大小。
測試
- 新的Xcode 9 - 並行設備測試。
- 向XCTest添加了新的API。
- 控制和捕獲截圖。
- 集體考試活動。
- 測試附件。
- 清理塊中的清理測試狀態。
- 在一個UI測試中定位多個應用。
- 使用指定的語言和區域運行測試。
Xcode服務器
Xcode 9中新增 - 內置Xcode服務器。
- 用於配置Xcode Server和設置Bot權限的首選項中的“新建服務器和工具”窗格。
增加了對2因素認證的支持。
- 更新了機器人的功能。
- 支持自動和手動配置工作流。
- 傳遞額外的參數xcodebuild。
- 在設備和模擬器上並行運行測試。
- 配置語言和區域進行測試。
- 發送“所有清除”電子郵件通知。
兼容性
Xcode 9.0需要運行MacOS Sierra 10.12.4或更高版本的Mac。
安裝
Xcode 9 beta可以與以前版本的Xcode共存。
Xcode的預發行版本可從developer.apple.com提供給授權的種子開發人員,打包在壓縮的XIP文件中。要在beta期間安裝Xcode,請下載XIP文件,將其拖到“應用程序”文件夾中,然後雙擊該文件。XIP文件擴展到位。
注意: 如果您在Safari首選項中啓用了“打開”安全“文件下載”,則XIP文件將下載並自動在您的下載文件夾中擴展。在啓動它之前,將Xcode-beta拖到“應用程序”文件夾中。
在最終版本中,Xcode通過Mac App Store安裝。
開發人員資源
Apple開發人員計劃提供對Apple Store,Apple App,iPad,iPhone和iPod touch設備的訪問App Store,Mac App Store和Apple TV App Store的其他支持和文檔以及用於測試和部署的資源。有關更多信息,請訪問Apple開發者計劃網站。
訪問Apple開發者論壇,討論有關任何Apple開發者軟件,包括預發佈產品。
有關最新的安全信息,請訪問Apple開發者計劃網站。
關於SDK和模擬器
軟件開發工具包(SDK)是代表特定watchOS,iOS或macOS版本API的框架(庫,頭和資源)的集合。您的應用程序從SDK獲取的大多數功能實際上由主機操作系統提供,這使得正確的基本SDK和操作系統部署目標設置對於應用程序兼容性至關重要。Xcode自動構建最新的SDK並定位到最新的操作系統。
如果您的應用程序不需要最新的操作系統功能,則可以使用Xcode項目設置中的“操作系統部署目標”選項將其配置爲在先前版本的平臺操作系統上運行。如果您的項目是在舊版本的Xcode中創建的,您可以讓Xcode更新您的項目。有關此功能的詳細信息,請參閱項目現代化。
重要提示: 在將應用程序提交到App Store之前,您必須在運行受支持的目標操作系統版本或版本的設備上進行測試。
自動簽名
如果您正在處理尚未更新到當前簽名過程的舊項目,則對簽名過程的更改可能會阻礙您的開發。
企業和App Store開發人員帳戶的推薦方法是在開發和分發期間使用Xcode自動簽名代碼簽名應用程序。有關自動簽名的文檔,請參閱Xcode幫助。如果您的舊項目未配置爲使用自動簽名,請閱讀技術問答(QA1814)“設置自動配置的Xcode”,以瞭解可以重新配置Xcode項目的過程。
在使用其他技術之前,應考慮自動簽名,但如果您的項目需要手動簽名,請在Xcode幫助中搜索“手動簽名”以查看當前的手動簽名實踐。
項目現代化
打開項目時,Xcode對其進行評估,以查看是否應更新任何設置。此功能提供了一個簡單的方法來確保您的項目符合最新的SDK和最佳做法。
打開問題導航器以查看是否需要更新項目中的任何內容。您也可以在項目導航器中選擇項目,然後選擇編輯器>驗證設置
如果問題導航器列出了現代化問題,請單擊該問題以查看一個對話框,該對話框解釋應該進行的更新,並允許您執行任何或所有更新。
單擊執行更改後,無論是否選擇進行所有更改,Xcode都不會再次顯示警告。要重新運行檢查,請在項目導航器中選擇項目,然後選擇編輯器>驗證設置。
也可以看看
要了解有關使用Xcode的更多信息,請選擇“幫助”>“Xcode幫助”。