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