1. 升級到Xcode9.0之后,可以通過Wifi連接iOS或tvOS設備進行無線調試。
要求: Xcode 9.0 以上版本、macOS 10.12.4以上版本、iOS 11.0以上版本, tvOS 11.0以上版本
2. 源控制。所有新的源代碼管理導航器和集成的支持GitHub帳戶可以快速瀏覽資源庫并將您的存儲庫推向云端。
3.Xcode服務器內置。連續集成機器人可以在任何具有Xcode 9的Mac上運行,無需安裝macOS Server。
4. 新游樂場模板。包括iOS模板,旨在在iPad中的Xcode和[ swift Playground中運行良好。
5.新建系統。Xcode新的構建系統的選擇性預覽提供了更高的可靠性和性能。
6.
一般
更新了使用plist文件定義文本宏的方式。
為項目中的用戶,項目或特定用戶定義文本宏。
自定義新的文件頭。有關更多信息,請參閱Xcode幫助中的自定義文件頭。
有關更多信息,請參閱Xcode幫助。
更新了索引引擎,包括在編譯文件時編制索引的能力。
設備窗口被分成用于設備和模擬器的單獨窗格。
資產目錄
命名顏色支持。
添加了廣泛的應用程序圖標。
為App圖標集添加了更大的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中的新功能 - 未定義的行為消毒劑。
使用未定義的行為消毒劑來查找程序崩潰的源,意外的行為以及與未來版本的Xcode的不兼容性。
檢測C語言中的幾種類型的未定義的行為,如整數溢出,無效的轉換和對齊違規。
在方案編輯器的“診斷”窗格中啟用未定義的行為消毒劑。
Xcode 9中的新功能 - 主線程檢查器。
檢測未在主線程上進行的AppKit,UIKit和WebKit方法調用。
在調試期間自動啟用,并且可以在方案編輯器的“診斷”選項卡中禁用。
主線程檢查器與Swift和c語言一起使用。
通過深度過濾來增強Breakpoint導航器。
添加了修改斷點的可視指示符。
擴展視圖調試器以顯示視圖控制器,并使用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.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開發人員論壇,討論任何蘋果開發者軟件,包括預發布產品。
有關最新的安全信息,請訪問https://support.apple.com/kb/HT1222。
關于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和設備配對成功,設備名稱的右側會顯示一個網絡圖標,如下圖所示.
運行我們的項目,在設備列表中不出意外會看到我們的無線連接的手機。選擇手機后運行
不出意外的話,此時是跑不起來的。還需要最后一步,回到剛剛的設備列表中,選中手機右鍵,在出來的選項卡中選擇一個Connect via IP Address項。選擇之后輸入手機的局域網ip地址。
以后項目運行,在下拉列表如果手機在局域網中也會有這個標志:
最后一步,選擇后直接運行,不出意外的話,項目無需數據線就跑起來了,
另外:此方法是支持無線調試的,連一次以后就不需要數據線了了~
再一次溫馨提示:此方式僅適用局域網內,同時軟件有硬性要求,開題已注明。