背景:
Xcode 9 新特性介紹:
1、官方原文介紹鏈接
本文為官方介紹翻譯而來,布局排版等都是按照官方布局來的。
與原文相比扣孟,排版上基本還是熟悉的配方,還是熟悉的味道~~
最后荣赶,有些翻譯網(wǎng)上拿下來的不夠通順的凤价,敬請諒解。
PS:本文沒有新特性的詳細(xì)介紹拔创,知識(shí)單純的搬運(yùn)官方介紹利诺,所以如果對一些功能點(diǎn)有興趣,比如無線調(diào)試剩燥,集合Github等慢逾,可以看文章片尾。
文章片尾會(huì)放幾篇關(guān)于新特性功能點(diǎn)的詳細(xì)介紹的文章鏈接灭红。
正文:
What's New in Xcode 9
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框架澈段。
Highlights of Xcode 9(Xcode 9的亮點(diǎn))
Xcode 9包括整體質(zhì)量改進(jìn)以及廣泛的新功能。
1舰攒、全新編輯败富。快速摩窃,基于結(jié)構(gòu)的編輯器兽叮,可讓您智能地突出顯示和瀏覽代碼。包括偉大的Markdown支持猾愿。
2鹦聪、重構(gòu)。重構(gòu)內(nèi)置于編輯體驗(yàn)之中蒂秘,并可跨Swift泽本,Objective-C,Interface Builder和許多其他文件類型姻僧。
3规丽、超快速搜索∑埠兀“查找”導(dǎo)航器會(huì)立即返回結(jié)果赌莺。
4、調(diào)試松嘶。通過網(wǎng)絡(luò)無線調(diào)試iOS和tvOS設(shè)備艘狭,Metal的新調(diào)試器以及Xcode中的更多功能。
5翠订、源控制巢音。所有新的源代碼管理導(dǎo)航器和集成的支持GitHub帳戶可以快速瀏覽資源庫并將您的存儲(chǔ)庫推向云端。
6尽超、Xcode服務(wù)器內(nèi)置官撼。連續(xù)集成機(jī)器人可以在任何具有Xcode 9的Mac上運(yùn)行,無需安裝macOS Server橙弱。
7、新游樂場模板燥狰。包括iOS模板棘脐,旨在在iPad中的Xcode和Swift Playground中運(yùn)行良好。
8龙致、新建系統(tǒng)蛀缝。Xcode新的構(gòu)建系統(tǒng)的選擇性預(yù)覽提供了更高的可靠性和性能。
General(其他功能)
1目代、更新了使用plist文件定義文本宏的方式屈梁。
為項(xiàng)目中的用戶嗤练,項(xiàng)目或特定用戶定義文本宏。
自定義新的文件頭在讶。
有關(guān)更多信息煞抬。
2、更新了索引引擎构哺,包括在編譯文件時(shí)編制索引的能力革答。
3、設(shè)備窗口被分成用于設(shè)備和模擬器的單獨(dú)窗格曙强。
Asset Catalogs
1残拐、命名顏色支持。
2碟嘴、添加了廣泛的應(yīng)用程序圖標(biāo)溪食。
3、為App圖標(biāo)集添加了更大的iOS營銷娜扇。
4错沃、添加了保留圖像矢量數(shù)據(jù)以選擇動(dòng)態(tài)類型縮放的選項(xiàng)。
5袱衷、增加了HEIF圖像的支持捎废。
Building and Linking
1、添加了一個(gè)在Swift中編寫的新構(gòu)建系統(tǒng)的預(yù)覽致燥。
2登疗、提供更高的可靠性。
3嫌蚤、捕獲許多項(xiàng)目配置問題辐益。
4、提高整體構(gòu)建系統(tǒng)性能脱吱。
5智政、注意,構(gòu)建系統(tǒng)性能不包括構(gòu)建系統(tǒng)使用的編譯器箱蝠,鏈接器和其他工具续捂。
6、目前可選宦搬,并將成為未來版本的Xcode的默認(rèn)值牙瓢。
7、要選擇項(xiàng)目或工作區(qū)的新構(gòu)建系統(tǒng)间校,請選擇“文件”>“項(xiàng)目設(shè)置”或“文件”>“工作區(qū)設(shè)置”矾克,然后選擇“構(gòu)建系統(tǒng)”類型的“新建構(gòu)建系統(tǒng)(預(yù)覽)”。
8憔足、有關(guān)與現(xiàn)有項(xiàng)目兼容性的說明胁附,請參閱Xcode版本說明酒繁。
Capabilities
1、iOS熱點(diǎn)和多路徑TCP的新配置控妻。
2州袒、新的網(wǎng)絡(luò)配置,包括內(nèi)容過濾饼暑,代理DNS查詢以及代理TCP和UDP連接稳析。
3、用于watchOS的新背景模式用于錄音和轉(zhuǎn)彎方向弓叛。
4彰居、tvOS背景提取的新模式。
Core ML( 核心ML編輯器)
1撰筷、為模型生成強(qiáng)類型接口陈惰。
2、用于設(shè)備使用的模型編譯毕籽。
Debugging
1抬闯、 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)試。
具體步驟:點(diǎn)擊查看真機(jī)無線調(diào)試步驟
2蒸播、 GPU幀捕獲和GPU覆蓋睡榆。
查看命令緩沖區(qū),附件袍榆,資源和調(diào)用堆棧胀屿。
修改著色器并將更改保存到您的應(yīng)用程序。
移動(dòng)序列的時(shí)間軸包雀。
檢查和修改附件中各個(gè)像素的值宿崭,包括顏色值,alpha才写,深度等葡兑。
通過最小化紋理帶寬,最小化渲染像素的數(shù)量赞草,禁用混合階段讹堤,僅顯示線框,以及縮放鑲嵌的數(shù)量房资,來實(shí)現(xiàn)渲染狀態(tài)而不修改代碼蜕劝。
3檀头、 未定義的行為消毒劑轰异。
使用未定義的行為消毒劑來查找程序崩潰的源岖沛,意外的行為以及與未來版本的Xcode的不兼容性。
檢測C語言中的幾種類型的未定義的行為搭独,如整數(shù)溢出婴削,無效的轉(zhuǎn)換和對齊違規(guī)。
在方案編輯器的“診斷”窗格中啟用未定義的行為消毒劑牙肝。
4唉俗、主線程檢查器。
檢測未在主線程上進(jìn)行的AppKit配椭,UIKit和WebKit方法調(diào)用虫溜。
在調(diào)試期間自動(dòng)啟用,并且可以在方案編輯器的“診斷”選項(xiàng)卡中禁用股缸。
主線程檢查器與Swift和C語言一起使用衡楞。
通過深度過濾來增強(qiáng)Breakpoint導(dǎo)航器。
添加了修改斷點(diǎn)的可視指示符敦姻。
擴(kuò)展視圖調(diào)試器以顯示視圖控制器瘾境,并使用SceneKit和SpriteKit視圖。
增強(qiáng)iOS電能表镰惦。
Documentation
新的統(tǒng)一瀏覽器迷守,集成了參考,示例代碼和文章旺入。
改進(jìn)文檔搜索兑凿。
用于在頁面之間導(dǎo)航的新跳轉(zhuǎn)欄。
集成示例代碼下載眨业。
Instruments
用于在跟蹤文檔的圖形區(qū)域中固定圖形的新拆分視圖急膀。
添加了所有策略,并將策略選擇器移動(dòng)到跟蹤文檔頂部的新工具欄龄捡。
增強(qiáng)型金屬調(diào)試儀卓嫂。
金屬系統(tǒng)跟蹤VR支持查看事件,如合成器活動(dòng)聘殖,姿勢查詢等
Interface Builder
增加了對資產(chǎn)目錄使用命名顏色的支持晨雳。
增加了對新邊距和基線視圖約束的支持。
添加了對自動(dòng)布局安全區(qū)域指南的支持奸腺。
增加了對全屏WatchOS應(yīng)用程序的支持餐禁。
Metal 2 Support
1、 Capture API突照。
在你的代碼中定義明確的捕獲邊界帮非。
使用新MTLCaptureManager類和新MTLCaptureScope協(xié)議來編程設(shè)置,管理和觸發(fā)捕獲邊界。
使用擴(kuò)展的Xcode GPU Capture UI手動(dòng)啟動(dòng)和停止捕獲末盔。您還可以使用Xcode來捕獲應(yīng)用程序中定義的API邊界筑舅。
2、 GPU計(jì)數(shù)器陨舱。
分析有關(guān)特定GPU捕獲的詳細(xì)分析指標(biāo)翠拣。在iOS和tvOS中,GPU計(jì)數(shù)器顯示為命令編碼器的時(shí)間線;在macOS中游盲,GPU計(jì)數(shù)器顯示為繪制或調(diào)度調(diào)用的時(shí)間線误墓。
檢查渲染或計(jì)算流水線階段的運(yùn)行時(shí)性能,例如頂點(diǎn)著色器益缎,片段著色器谜慌,計(jì)算內(nèi)核等。
比較每個(gè)流水線階段花費(fèi)的GPU時(shí)間量莺奔,以查找您的性能瓶頸畦娄。
3、 GPU備注弊仪。
在金屬著色語言代碼中查找優(yōu)化機(jī)會(huì)熙卡。
在著色器編輯器中調(diào)試特定于設(shè)備的運(yùn)行時(shí)問題。
遵循直接的解決方案和指示來改善您的代碼励饵。
4驳癌、 智能過濾。
通過鍵入到調(diào)試導(dǎo)航器來查找特定的調(diào)試信息役听。當(dāng)您鍵入和突出顯示匹配的文本(例如資源颓鲜,像素格式,功能名稱典予,對象標(biāo)簽等)時(shí)甜滨,Xcode會(huì)動(dòng)態(tài)顯示建議。
通過從預(yù)定義的Metal對象菜單中選擇選項(xiàng)來過濾搜索結(jié)果瘤袖。
使用多個(gè)匹配條件的多個(gè)過濾器衣摩。
5、 VR支持捂敌。
查看VR提交和左眼/右眼提交的表面艾扮。
添加了紋理檢查,用于檢查渲染目標(biāo)中各個(gè)像素的值占婉,如顏色泡嘴,alpha,深度等逆济。
添加檢查輸出頂點(diǎn)屬性到緩沖區(qū)編輯器酌予。
添加數(shù)據(jù)提示支持金屬對象磺箕,如紋理,緩沖區(qū)和采樣器抛虫。
Refactoring
跨Swift滞磺,C,Objective-C和C ++文件的全局重命名莱褒。
查看所有更改在一個(gè)地方。
轉(zhuǎn)換Swift和Objective-C格式之間的方法簽名涎劈。
根據(jù)需要更新屬性广凸,getter,setter和合成的iVars蛛枚。
一個(gè)按鈕更改谅海。
修復(fù) - 它會(huì)自動(dòng)填充switch語句中的缺失情況,并且一鍵單擊協(xié)議一致的強(qiáng)制性方法蹦浦。
提取所有支持的語言的方法功能扭吁,以及其他語言特定的本地重構(gòu)。
Simulator-模擬器
1盲镶、 多個(gè)并發(fā)模擬器侥袜。
同時(shí)運(yùn)行多個(gè)模擬器。
并行運(yùn)行更多測試項(xiàng)目溉贿。
測試同步和其他多設(shè)備工作流程枫吧。
適用于iOS和watchOS模擬器的新Chrome包括硬件控件,并允許輕松拖動(dòng)和調(diào)整模擬設(shè)備的大小宇色。
從地圖九杂,照片和Safari與模擬器共享信息。
添加了關(guān)閉窗口或退出模擬器后運(yùn)行模擬器的選項(xiàng)宣蠕,以便與命令行工具的simctl命令更好地集成xcrun例隆。
錄制模擬器的視頻。
通過選擇幫助>模擬器幫助獲取幫助抢蚀。
Source Control
新的源代碼管理導(dǎo)航器镀层,用于查看當(dāng)前工作空間的分支,標(biāo)簽和遠(yuǎn)程存儲(chǔ)庫皿曲。
新的源代碼管理檢查器顯示所選導(dǎo)航器項(xiàng)目的詳細(xì)信息鹿响。
分支歷史的新編輯器,包括一個(gè)方便導(dǎo)航的跳轉(zhuǎn)桿谷饿。
文件差異的新的并行編輯器惶我。
更容易和更快地訪問常見任務(wù)。
GitHub帳戶集成博投,輕松瀏覽和一鍵創(chuàng)建項(xiàng)目及相關(guān)的GitHub資源庫绸贡。
Source Editing ( 源代碼編輯器)
更快,更多功能查找和更換。
快速滾動(dòng)任何大小的文件听怕。
直接操縱代碼結(jié)構(gòu)捧挺,如令牌和塊。
重新設(shè)計(jì)源代碼管理的集成尿瞭。
重新設(shè)計(jì)錯(cuò)誤和警告消息的介紹闽烙。
支持Markdown。
Swift (新的Xcode 9 -Swift 4)
Swift 4和Swift 3声搁,Swift 4和Swift 3目標(biāo)的一個(gè)編譯器可以在同一個(gè)項(xiàng)目中編譯黑竞。
改進(jìn)的遷移者體驗(yàn),僅支持將選定目標(biāo)遷移到Swift 4疏旨。
更快的通用代碼和減少的代碼大小很魂。
Testing
并行測試裝置
對XCTest添加了新的APIs
控制和捕捉截圖。
團(tuán)體測試活動(dòng)檐涝。
測試附件遏匆。
在特有界面清理測試狀態(tài)。
在一個(gè)UI測試中應(yīng)用多個(gè)應(yīng)用程序谁榜。使用指定的語言和區(qū)域運(yùn)行測試幅聘。
Xcode Server
新建在Xcode服務(wù)器。
在偏好配置中窃植,配置Xcode服務(wù)器和BOT權(quán)限設(shè)置喊暖。
增加了雙因素身份驗(yàn)證支持。更新的機(jī)器人功能
支持自動(dòng)和手動(dòng)配置工作流撕瞧。
傳遞額外的參數(shù)xcodebuild陵叽。
在設(shè)備和模擬器上并行運(yùn)行測試。
為測試配置語言和區(qū)域丛版。
發(fā)送“全部清除”電子郵件通知巩掺。
Compatibility-兼容性
Xcode 9.0需要運(yùn)行MacOS Sierra 10.12.4或更高版本的Mac。
Installation-安裝
Xcode 9 beta可以與以前版本的Xcode共存页畦。
Xcode的預(yù)發(fā)行版本可從developer.apple.com提供給授權(quán)的種子開發(fā)人員胖替,打包在壓縮的XIP文件中。要在beta期間安裝Xcode豫缨,請下載XIP文件独令,將其拖到“應(yīng)用程序”文件夾中,然后雙擊該文件好芭。XIP文件擴(kuò)展到位燃箭。
注意:如果您在Safari首選項(xiàng)中啟用了“打開”安全“文件下載”,則XIP文件將下載并自動(dòng)擴(kuò)展到您的下載文件夾中舍败。在啟動(dòng)它之前將Xcode-beta拖到“應(yīng)用程序”文件夾中招狸。
在最終版本中敬拓,Xcode通過Mac App Store進(jìn)行安裝。
Developer Resources-開發(fā)人員資源
Apple開發(fā)人員計(jì)劃提供對Apple Store裙戏,Apple App乘凸,iPad,iPhone和iPod touch設(shè)備的訪問App Store累榜,Mac App Store和Apple TV App Store营勤,附加支持和文檔以及用于測試和部署的資源。有關(guān)更多信息壹罚,請?jiān)L問Apple開發(fā)人員計(jì)劃網(wǎng)站葛作。
訪問Apple開發(fā)人員論壇,討論任何蘋果開發(fā)者軟件渔嚷,包括預(yù)發(fā)布產(chǎn)品。
有關(guān)最新的安全信息稠曼,請?jiān)L問https://support.apple.com/kb/HT1222形病。
About SDKs and Simulator(關(guān)于SDK和模擬器)
軟件開發(fā)工具包(SDK)是代表特定watchOS,iOS或macOS版本的API的框架(庫霞幅,標(biāo)頭和資源)的集合漠吻。您的應(yīng)用程序從SDK獲取的大多數(shù)功能實(shí)際上由主機(jī)操作系統(tǒng)提供,這使得正確的基本SDK和操作系統(tǒng)部署目標(biāo)設(shè)置對應(yīng)用程序兼容性至關(guān)重要司恳。Xcode自動(dòng)構(gòu)建最新的SDK并針對最新的操作系統(tǒng)途乃。
如果您的應(yīng)用程序不需要最新的操作系統(tǒng)功能,則可以使用Xcode項(xiàng)目設(shè)置中的“操作系統(tǒng)部署目標(biāo)”選項(xiàng)將其配置為在先前版本的平臺(tái)操作系統(tǒng)上運(yùn)行扔傅。如果您的項(xiàng)目是在舊版本的Xcode中創(chuàng)建的耍共,您可以讓Xcode更新您的項(xiàng)目。有關(guān)此功能的詳細(xì)信息猎塞,請參閱項(xiàng)目現(xiàn)代化试读。
重要提示:在將應(yīng)用程序提交到App Store之前,您必須在運(yùn)行受支持的目標(biāo)操作系統(tǒng)版本或版本的設(shè)備上進(jìn)行測試荠耽。
Automatic Signing(自動(dòng)簽名)
如果您正在處理尚未更新到當(dāng)前簽名過程的舊項(xiàng)目钩骇,則對簽名過程的更改可能會(huì)阻礙您的開發(fā)。
企業(yè)和App Store開發(fā)人員帳戶的推薦方法是在開發(fā)和分發(fā)期間使用Xcode自動(dòng)簽名代碼簽名應(yīng)用程序铝量。有關(guān)自動(dòng)簽名的文檔倘屹,請參閱Xcode幫助。如果您的舊項(xiàng)目未配置為使用自動(dòng)簽名慢叨,請閱讀技術(shù)問答(QA1814)“設(shè)置自動(dòng)配置的Xcode”型奥,以了解可以重新配置Xcode項(xiàng)目的過程。
在使用其他技術(shù)之前匹耕,應(yīng)考慮自動(dòng)簽名,但如果您的項(xiàng)目需要手動(dòng)簽名请梢,請?jiān)赬code幫助中搜索“手動(dòng)簽名”以查看當(dāng)前的手動(dòng)簽名實(shí)踐。
Project Modernization(項(xiàng)目現(xiàn)代化)
當(dāng)您打開一個(gè)項(xiàng)目時(shí)力穗,Xcode對其進(jìn)行評估毅弧,以查看是否應(yīng)更新任何設(shè)置。此功能提供了一個(gè)簡單的方法來確保您的項(xiàng)目符合最新的SDK和最佳做法当窗。
打開問題導(dǎo)航器以查看是否需要更新項(xiàng)目中的任何內(nèi)容够坐。您也可以在項(xiàng)目導(dǎo)航器中選擇項(xiàng)目,然后選擇編輯器>驗(yàn)證設(shè)置崖面。
如果問題導(dǎo)航器列出了現(xiàn)代化問題元咙,請單擊該問題以查看一個(gè)對話框,以解釋應(yīng)該進(jìn)行的更新巫员,并允許您執(zhí)行任何或所有更新庶香。
單擊執(zhí)行更改后,無論是否選擇進(jìn)行所有更改简识,Xcode都不會(huì)再次顯示警告赶掖。要重新運(yùn)行檢查,請?jiān)陧?xiàng)目導(dǎo)航器中選擇項(xiàng)目七扰,然后選擇編輯器>驗(yàn)證設(shè)置奢赂。
See Also
想要學(xué)習(xí)更多關(guān)于Xcode的知識(shí),請打開Xcode颈走,選擇 Help > Xcode help膳灶。
本篇文章只對官方進(jìn)行了中文轉(zhuǎn)換,對于其中的一些功能點(diǎn)立由,有些文章對此進(jìn)行了詳情描述轧钓。
我這里簡單收集了幾篇:
2锐膜、帶你快速瀏覽Xcode 9新特性
Enjoy ~