iOS開(kāi)發(fā)中如何快速上手Xcode 6
譯文【51CTO譯文】Xcode的每一次版本更新都專(zhuān)注于為開(kāi)發(fā)人員帶來(lái)更為強(qiáng)大的工具方案,幫助他們更為順暢地完成應(yīng)用程序構(gòu)建。在今年發(fā)布的Xcode 6版本當(dāng)中,開(kāi)發(fā)人員繼續(xù)迎來(lái)更多軟件設(shè)計(jì)與構(gòu)建的全新方式。在今天的教程中,我們將對(duì)Xocde 6中的新型與改進(jìn)功能加以概述,同時(shí)介紹大家應(yīng)如何將其應(yīng)用到自己的開(kāi)發(fā)工作當(dāng)中。
1.Playgrounds
在今年的WWDC大會(huì)上,蘋(píng)果公司正式公布了Swift——一款面向蘋(píng)果移動(dòng)設(shè)備軟件開(kāi)發(fā)工作的全新編程語(yǔ)言。為了配合新語(yǔ)言的誕生,Xcode 6新增了一項(xiàng)名為Playgrounds的功能——這其實(shí)是一套交互工作區(qū),開(kāi)發(fā)人員可以在此編寫(xiě)Swift代碼并在無(wú)需將其運(yùn)行在設(shè)備或者模擬器中的前提下獲取實(shí)時(shí)運(yùn)行效果反饋。這對(duì)于Xcode來(lái)說(shuō)無(wú)疑是一種很好的補(bǔ)充,現(xiàn)在各位可以在將自己的代碼成果正式添加到主代碼庫(kù)內(nèi)之前,以實(shí)驗(yàn)性方式快速便捷地掌握地實(shí)時(shí)運(yùn)行效果。
2. Interface Builder
今年WWDC大會(huì)的另一大主題議題在于構(gòu)建自適應(yīng)式應(yīng)用程序。相對(duì)于原本針對(duì)特定屏幕尺寸構(gòu)建應(yīng)用程序,蘋(píng)果公司現(xiàn)在鼓勵(lì)開(kāi)發(fā)人員打造出能夠忽略實(shí)際屏幕大小、自動(dòng)與運(yùn)行所在平臺(tái)相適應(yīng)的應(yīng)用程序產(chǎn)品。
這一舉措實(shí)際上源自最初誕生于iOS 6系統(tǒng)當(dāng)中的Auto Layout及其數(shù)個(gè)后續(xù)版本,該方案允許開(kāi)發(fā)人員直接創(chuàng)建能夠同時(shí)運(yùn)行在3.5英寸與4.0英寸屏幕上的應(yīng)用方案。如今這一機(jī)制得到了進(jìn)一步改善,iOS開(kāi)發(fā)人員已經(jīng)能夠打造出直接運(yùn)行在全部受支持iPhone平臺(tái)上的應(yīng)用程序,其中包括新一代4.7英寸iPhone 6與5.5英寸iPhone 6 Plus——連iPad也可使用同一套代碼庫(kù)。
Interface Builder經(jīng)歷了一系列重大變更后才真正實(shí)現(xiàn)了對(duì)此類(lèi)自適應(yīng)式應(yīng)用程序的開(kāi)發(fā)支持能力。同時(shí)添加的其它一些新功能還給用戶(hù)界面的設(shè)計(jì)流程帶來(lái)提升。下面我們就來(lái)具體介紹其中出現(xiàn)的各項(xiàng)調(diào)整。
Size Classes
Size classes負(fù)責(zé)定義布局方案所使用的canvas尺寸。這些類(lèi)允許大家允許開(kāi)發(fā)人員指定應(yīng)用程序的用戶(hù)界面如何根據(jù)視圖控制器的變化而交付可用顯示范圍。在Size Classes的幫助下,我們就能夠構(gòu)建起一款具備統(tǒng)一顯示模板的應(yīng)用程序。相比之下,過(guò)去開(kāi)發(fā)人員需要設(shè)計(jì)兩款彼此獨(dú)立的顯示模板,一套面向iPad、另一套則面向iPhone。
一個(gè)Size Class(尺寸類(lèi))能夠定義顯示區(qū)域內(nèi)的一項(xiàng)相對(duì)數(shù)量,例如顯示高度(即垂直維度)或者顯示寬度(即橫向維度)。目前Xcode提供兩種尺寸類(lèi),分別為compact(緊湊)與regular(常規(guī))。舉例來(lái)說(shuō),一臺(tái)iPhone在縱向顯示模式下寬度緊湊但高度常規(guī)。而iPad則在縱向與橫向顯示模式下的寬度與高度皆為常規(guī)水平。
但大家應(yīng)該會(huì)注意到,尺寸類(lèi)并不一定非要與某臺(tái)設(shè)備的某種顯示模式相映射。舉例來(lái)講,一臺(tái)iPad能夠僅使用屏幕中的一小塊區(qū)域來(lái)提供類(lèi)似于iPhone布局風(fēng)格的視圖(即橫向緊湊而縱向常規(guī)的尺寸類(lèi)),同時(shí)也可以使用平板設(shè)備大尺寸屏幕所固有的天然風(fēng)格布局(即橫向常規(guī)而且縱向同樣常規(guī)的尺寸類(lèi))。
大家需要利用Interface Builder canvas底部接近布局工具欄處的Size Classes控制機(jī)制對(duì)尺寸類(lèi)進(jìn)行調(diào)整。Interface Builder在起始狀態(tài)下提供any(任意)寬度與any(任意)高度的尺寸類(lèi)設(shè)置,我們可以根據(jù)不同設(shè)備的實(shí)際屏幕尺寸及橫向/縱向顯示模式在其中擺放各類(lèi)用戶(hù)界面組件并固定其位置。接下來(lái),當(dāng)可用屏幕尺寸發(fā)生改變時(shí),大家則利用另一個(gè)不同的尺寸類(lèi)對(duì)用戶(hù)界面內(nèi)的組件位置加以更新,從而提供更適合當(dāng)前需要的布局效果。
自適應(yīng)過(guò)渡類(lèi)型
Xcode 6所提供的自適應(yīng)過(guò)渡類(lèi)型機(jī)制更適合與新的自適應(yīng)布局配合使用,這是因?yàn)檫@些自適應(yīng)類(lèi)型能夠根據(jù)自身運(yùn)行所處的環(huán)境提供多種不同的視圖方案。舉例來(lái)說(shuō),在iPad上以Split View(分區(qū)視圖)方式使用Show Detail(顯示細(xì)節(jié)),那么Detail就會(huì)被取代; 但在iPhone上,同樣的操作則會(huì)將Detail推送至Master處。一部分舊有過(guò)渡類(lèi)型,例如push以及modal,現(xiàn)在已經(jīng)遭到棄用。
實(shí)時(shí)渲染
Interface Builder canvas在交互能力方面要遠(yuǎn)勝過(guò)此前版本。過(guò)去,大家必須實(shí)際運(yùn)行自己的應(yīng)用程序才能對(duì)相關(guān)自定義對(duì)象、自定義字體以及組件位置的變更情況進(jìn)行查看。而現(xiàn)在,我們完全可以通過(guò)Interface Builder的字體拾取器選擇自定義字體,并將其直接顯示在Interface Builder canvas當(dāng)中。
大家甚至能夠創(chuàng)建出自定義對(duì)象并在Interface Builder canvas之內(nèi)對(duì)它們加以渲染。要實(shí)現(xiàn)這一目標(biāo),我們需要?jiǎng)?chuàng)建一套自定義框架,將自己的自定義類(lèi)添加到該目標(biāo)當(dāng)中、并利用@IBDesignable標(biāo)記(也就是Objective-C中的 IB_DESIGNABLE)對(duì)該類(lèi)進(jìn)行標(biāo)。這樣一來(lái),Interface Builder就會(huì)意識(shí)到這是一個(gè)能夠在canvas當(dāng)中顯示自定義內(nèi)容的類(lèi)。
除了能夠在Interface Builder當(dāng)中查看自定義對(duì)象之外,大家現(xiàn)在還可以利用@IBInspectable標(biāo)記對(duì)屬性加以標(biāo)注、從而使它們出現(xiàn)在Interface Builder的檢查菜單當(dāng)中。在這里,我們可以對(duì)上述屬于進(jìn)行編輯、正如對(duì)視圖內(nèi)其它屬性進(jìn)行編輯一樣。換言之,現(xiàn)在我們不必對(duì)某個(gè)類(lèi)進(jìn)行可設(shè)計(jì)標(biāo)注,即可使其成為一項(xiàng)可檢查屬性。
大家還能夠以純代碼形式指定設(shè)計(jì)時(shí)間。舉例來(lái)說(shuō),我們可以利用這種方式將示例數(shù)據(jù)預(yù)先填充到視圖當(dāng)中,從而更為準(zhǔn)確地感受界面觀感。要實(shí)現(xiàn)這一點(diǎn),大家需要重寫(xiě)prepareForInterfaceBuilder方法。除此之外,我們也可以利用#if TARGET_INTERFACE_BUILDER將選定代碼添加或者移出最終Interface Builder渲染效果視圖。
Preview Editor
Preview Editor現(xiàn)在允許大家對(duì)不同模擬設(shè)備上的多套預(yù)覽圖進(jìn)行逐一查看。除了能夠直接觀察應(yīng)用程序在不同設(shè)備上的運(yùn)行效果之外,大家還可以通過(guò)設(shè)置變更每種設(shè)備的縱向或者橫向顯示模式。在這項(xiàng)新功能的幫助下,我們可以更為便捷地在不同設(shè)備及其顯示模式下對(duì)應(yīng)用程序的用戶(hù)界面加以預(yù)覽,而又不必真正將其投付運(yùn)行。
3. 游戲開(kāi)發(fā)
蘋(píng)果公司在Xcode 6與iOS 8當(dāng)中加入了新的游戲技術(shù),分別名為SceneKit與Metal。SceneKit之前就已經(jīng)在OS X平臺(tái)上發(fā)揮作用,其實(shí)質(zhì)是一套3D場(chǎng)景渲染工具。而Metal則是一套框架,能夠被用于創(chuàng)建經(jīng)過(guò)高度優(yōu)化的圖形渲染及計(jì)算任務(wù)——這是因?yàn)樗軌蛞缘蛽p耗方式與A7及A8 GPU相對(duì)接。
SpriteKit也已經(jīng)在多個(gè)層面實(shí)現(xiàn)了改進(jìn),其中包括每像素物理平衡、物理區(qū)域、通用運(yùn)動(dòng)性與限制性、材質(zhì)、光照以及陰影等等。
SpriteKit中的另一大重要新功能則是SpriteKit Level Editor,它允許我們以直觀方式組建場(chǎng)景。正如大家可以無(wú)需編寫(xiě)任何代碼就在Interface Builder當(dāng)中創(chuàng)建用戶(hù)界面一樣,SpriteKit Level Editor能幫助我們以同樣的方式輕松打造出SpriteKit游戲。
4. OS X開(kāi)發(fā)
Storyboard
Storyboard現(xiàn)在也被引入了OS X開(kāi)發(fā)流程。正如在iOS開(kāi)發(fā)環(huán)境中一樣,Storyboard允許我們建立自己的視圖布局并將這些視圖與多種類(lèi)型各異的過(guò)渡動(dòng)畫(huà)結(jié)合起來(lái)。不過(guò)截至撰稿之日時(shí),一部分功能——包括Storyboard在內(nèi)——依然無(wú)法在Xocde(6.0.1)中被用于OS X開(kāi)發(fā),相信等到OS X Yosemite版本發(fā)布時(shí)情況會(huì)得到改觀。
手勢(shì)識(shí)別
手勢(shì)識(shí)別功能現(xiàn)在已經(jīng)可用于AppKit,而且其具體使用方式與iOS應(yīng)用開(kāi)發(fā)流程完全一致。大家可以在Interface Builder當(dāng)中的Object Library(對(duì)象庫(kù))當(dāng)中查看可用的手勢(shì)操作類(lèi)型。
5. 本地化
本地化功能在Xcode 6中的運(yùn)作方式與此前版本存在較大差別?,F(xiàn)在大家可以將自己的全部本地化內(nèi)容導(dǎo)出至XLIFF當(dāng)中——這是一套業(yè)界標(biāo)準(zhǔn),通過(guò)大量翻譯服務(wù)作為實(shí)現(xiàn)手段。當(dāng)我們獲取到翻譯結(jié)果后,即可將其導(dǎo)入、而Xcode將把新內(nèi)容合并到原有項(xiàng)目當(dāng)中。順帶一提,大家應(yīng)該為自己應(yīng)用程序所支持的每一種語(yǔ)言創(chuàng)建一個(gè)與之對(duì)應(yīng)的XLIFF文件。
大家現(xiàn)在能夠在無(wú)需通過(guò)設(shè)置對(duì)設(shè)備或者模擬器的本地選項(xiàng)進(jìn)行變更的前提下,直接預(yù)覽全部本地化內(nèi)容。要實(shí)現(xiàn)這一點(diǎn),我們選擇Product 〉Scheme 〉Edit Scheme,而后選擇Run并點(diǎn)擊Options標(biāo)簽。這時(shí)大家就可以從Application Language菜單中選擇自己需要的語(yǔ)言項(xiàng)目了。Xcode還提供Double Length Pseudolanguage項(xiàng)目,這樣即使還沒(méi)有添加過(guò)任何其它語(yǔ)言、大家也仍然能夠借此實(shí)現(xiàn)測(cè)試。在運(yùn)行應(yīng)用程序之后,我們即可查看到對(duì)應(yīng)的本地化內(nèi)容。
再有,我們也可以直接查看本地化內(nèi)容而無(wú)需實(shí)際運(yùn)行自己的應(yīng)用程序。要實(shí)現(xiàn)這一點(diǎn),大家需要利用Preview Editor在應(yīng)用程序所支持的不同語(yǔ)言之間進(jìn)行切換。默認(rèn)語(yǔ)言會(huì)顯示在編輯器的右下角位置,當(dāng)我們對(duì)其進(jìn)行點(diǎn)擊后、即可看到一份包含各可用語(yǔ)言的列表。再次強(qiáng)調(diào),如果要在不添加語(yǔ)言的前提下進(jìn)行測(cè)試,大家需要使用Double Length Pseudolanguage機(jī)制。
6. iOS模擬器
命名設(shè)備
Xcode 6現(xiàn)在提供模擬器命名功能,這樣開(kāi)發(fā)人員就能夠以“iPhone 5s”這樣的名稱(chēng)來(lái)區(qū)分特定設(shè)備,而不再像過(guò)去那樣使用通用型名稱(chēng)——例如64位iPhone Retina。
模擬器尺寸可調(diào)節(jié)
現(xiàn)在大家已經(jīng)可以從可調(diào)節(jié)尺寸iPhone與可調(diào)節(jié)尺寸iPad當(dāng)中選擇自己需要的設(shè)備類(lèi)型。這兩套方案允許我們自行指定模擬器的寬度、高度以及屏幕尺寸。通過(guò)這種方式,大家能夠更輕松地測(cè)試自己的應(yīng)用程序在蘋(píng)果現(xiàn)有設(shè)備以及將來(lái)可能后續(xù)推出的設(shè)備上的運(yùn)行效果,而用不著為每種設(shè)備下載不同的模擬器方案。
模擬器自定義配置
在新的iOS模擬器當(dāng)中,大家可以將數(shù)據(jù)與配置設(shè)定結(jié)合在一起。具體而言,針對(duì)某款應(yīng)用程序的特定版本運(yùn)行一套配置方案及其相關(guān)數(shù)據(jù),再針對(duì)其它版本運(yùn)行另一套配置方案及其相關(guān)數(shù)據(jù)。這意味著大家可以模擬多位用戶(hù)在設(shè)備上的使用感受。每一位用戶(hù)都擁有屬于自己的獨(dú)立數(shù)據(jù)及配置方案。
7. HomeKit附件模擬器
HomeKit框架允許大家的應(yīng)用程序與用戶(hù)家中的其它接入附件進(jìn)行通信并加以控制。在目前的Xcode 6 beta版本當(dāng)中,HomeKit附件模擬器已經(jīng)作為固有組成部分存在、但尚屬于Xcode內(nèi)Hardware I/O Tools的功能之一。大家可以點(diǎn)擊此處從iOS Dev Center中下載該框架。
8. 調(diào)試
視圖調(diào)試工具
Xcode 6提供的實(shí)時(shí)視圖調(diào)試功能可以大大簡(jiǎn)化應(yīng)用程序用戶(hù)界面的調(diào)試流程?,F(xiàn)在開(kāi)發(fā)人員可以暫停正在運(yùn)行當(dāng)中的應(yīng)用程序,并以3D視圖模式對(duì)當(dāng)前界面加以剖析。視圖調(diào)試工具能夠顯示當(dāng)前視圖層級(jí)以及Auto Layout設(shè)定。當(dāng)大家選擇一套視圖時(shí),即可以在檢查工具內(nèi)檢查其屬性或者跳轉(zhuǎn)到輔助編輯器內(nèi)的對(duì)應(yīng)代碼處。有了這種強(qiáng)大的支持,大家就可以解決很多以往令人頭痛的難題——例如Auto Layout沖突、查看一套視圖為何會(huì)隱藏或者收起等。
要啟動(dòng)實(shí)時(shí)視圖調(diào)試工具,我們首先需要啟動(dòng)自己的應(yīng)用程序、而后點(diǎn)擊調(diào)試工具欄上的Debug View Hierarchy(調(diào)試視圖層級(jí))按鈕。
這時(shí)我們的應(yīng)用程序會(huì)暫停運(yùn)行,而整套用戶(hù)界面將以3D可視化方式呈現(xiàn)在大家面前。我們可以拖動(dòng)canvas中的任意位置來(lái)對(duì)視圖進(jìn)行旋轉(zhuǎn)。
大家可以利用canvas下方的各個(gè)按鈕在多種視圖狀態(tài)之間進(jìn)行切換。
從左至右各個(gè)按鈕依次為:
- 顯示收起內(nèi)容: 這個(gè)選項(xiàng)用于隱藏或者顯示選定視圖內(nèi)被收起的內(nèi)容。
- 顯示約束: 這一選項(xiàng)能夠顯示選定視圖內(nèi)的Auto Layout約束機(jī)制。
- 重置視圖區(qū): 這一選項(xiàng)會(huì)將canvas重置為其默認(rèn)狀態(tài)。
- 調(diào)整視圖模式: 這項(xiàng)模式允許大家選擇自己以怎樣的方式對(duì)視圖進(jìn)行查看。大家可以選擇只查看視圖邊框、視圖內(nèi)容或者二者同時(shí)顯示。
- 縮小、實(shí)際尺寸、放大: 允許大家對(duì)視圖的大小進(jìn)行調(diào)整。
Quick Look
Quick Look(快速查看)最初出現(xiàn)于Xcode 5版本當(dāng)中,其作用在于幫助大家在調(diào)試過(guò)程中查看特定對(duì)象的內(nèi)容。Quick Look支持多種常見(jiàn)對(duì)象類(lèi)型,其中包括圖像、貝塞爾曲線以及地圖位置等等。
在Xcode 6當(dāng)中,這項(xiàng)功能在改進(jìn)之后能夠支持兩種新的對(duì)象類(lèi)型,分別為視圖(UIView與NSView)與自定義對(duì)象。要讓Quick Look能夠識(shí)別自定義對(duì)象,大家需要將debugQuickLookObject方法添加到自定義類(lèi)當(dāng)中。
經(jīng)過(guò)強(qiáng)化的隊(duì)列調(diào)試機(jī)制
調(diào)試向?qū)?huì)記錄并顯示最近執(zhí)行過(guò)的塊以及隊(duì)列塊。大家可以利用它來(lái)查看自己的隊(duì)列塊位于何處,同時(shí)檢查執(zhí)行中的具體設(shè)置信息。大家可以通過(guò)在Debug > Debug Workflow 〉 Always Show Pending Blocks in Queues菜單選項(xiàng)中將其選定來(lái)啟用塊調(diào)試功能。
調(diào)試計(jì)量器
調(diào)試計(jì)量器的作用是在調(diào)試過(guò)程中提供與應(yīng)用程序資源使用情況相關(guān)的各類(lèi)信息。Xcode 6對(duì)計(jì)量器進(jìn)行了升級(jí),現(xiàn)在其能夠以圖形方式對(duì)新的Metal框架以及用于支持Cloud與CloudKit內(nèi)文檔的iCloud進(jìn)行分析。
除了上述改進(jìn)之外,Xcode 6還引入了兩款全新調(diào)試計(jì)量器,分別針對(duì)網(wǎng)絡(luò)與磁盤(pán)活動(dòng)。
網(wǎng)絡(luò)活動(dòng)計(jì)量器旨在顯示我們的應(yīng)用程序發(fā)出與接收到的數(shù)據(jù)量,同時(shí)提供一套開(kāi)放連接列表。大家可以通過(guò)查看歷史時(shí)間記錄來(lái)監(jiān)控網(wǎng)絡(luò)使用情況,幫助自身找到何時(shí)及為何出現(xiàn)網(wǎng)絡(luò)使用率峰值或者發(fā)生網(wǎng)絡(luò)故障。
磁盤(pán)活動(dòng)計(jì)量器則用于顯示應(yīng)用程序磁盤(pán)讀取與寫(xiě)入操作的實(shí)時(shí)信息。它還能夠提供所有打開(kāi)文件的相關(guān)信息。磁盤(pán)I/O活動(dòng)以歷史時(shí)間表的方式交付,大家可以借此實(shí)現(xiàn)監(jiān)控工作。
9. 資產(chǎn)目錄
資產(chǎn)目錄現(xiàn)在支持尺寸類(lèi)。這意味著大家已經(jīng)能夠輕松為不同的尺寸類(lèi)提供特殊的圖像素材,從而保證自己的用戶(hù)界面具備常規(guī)與緊湊兩種高度及寬度設(shè)計(jì)效果。
原先的資產(chǎn)目錄只支持PNG圖像,但在Xcode 6中,新版本已經(jīng)能夠支持JPEG以及PDF矢量圖像兩種新格式。
10. 啟動(dòng)圖像
大家可以利用XIB或者storyboard作為自己的應(yīng)用程序啟動(dòng)圖像。操作系統(tǒng)會(huì)為我們的應(yīng)用程序生成必要的啟動(dòng)圖像。有了這項(xiàng)功能,大家再也不必為啟動(dòng)圖像提供獨(dú)立的資產(chǎn),同時(shí)也能夠在Interface Builder當(dāng)中對(duì)其進(jìn)行設(shè)計(jì)。
要將XIB或者storyboard設(shè)定為自己的應(yīng)用程序啟動(dòng)圖像,我們需要選擇Project Navigator中的對(duì)應(yīng)項(xiàng)目并從目標(biāo)列表中為其選擇目標(biāo)。在General標(biāo)簽之下,選定App Icons and Launch Images選項(xiàng)并從菜單標(biāo)簽Launch Screen File當(dāng)中選擇正確的文件。
11. 測(cè)試
異步測(cè)試
XCTest框架當(dāng)中也添加了多種新型API,用于實(shí)現(xiàn)對(duì)異步代碼的測(cè)試工作。這項(xiàng)功能是通過(guò)預(yù)期對(duì)象,也就是XCTestExpectation實(shí)現(xiàn)的,其作用是描述預(yù)期事件。XCTestCase當(dāng)中包含一種新型API,其始終在等待預(yù)期的滿足條件并會(huì)為其設(shè)定超時(shí)時(shí)間。當(dāng)所有事件都被切實(shí)執(zhí)行或者達(dá)到超時(shí)時(shí)間之后,完成處理程序就會(huì)被調(diào)用。需要強(qiáng)調(diào)的是,該API能夠在同一時(shí)間等等多個(gè)異步事件。大家現(xiàn)在可以更輕松地對(duì)系統(tǒng)中以異步方式執(zhí)行的交互關(guān)系進(jìn)行測(cè)試,例如文件I/O以及網(wǎng)絡(luò)請(qǐng)求等等。
性能檢測(cè)
經(jīng)過(guò)強(qiáng)化的XCTest框架現(xiàn)在能夠?qū)?yīng)用程序中各組成部分的性能進(jìn)行量化。Xcode負(fù)責(zé)運(yùn)行性能測(cè)試并允許大家定義一套基準(zhǔn)性能指標(biāo)。每一項(xiàng)后續(xù)測(cè)試都會(huì)與基準(zhǔn)性能進(jìn)行比對(duì),并顯示隨時(shí)間推移而產(chǎn)生的變化情況,最終通過(guò)高亮顯示問(wèn)題區(qū)域來(lái)提醒大家可能由所提交代碼引發(fā)的性能衰減。如果平均性能指標(biāo)與基準(zhǔn)水平存在明顯差異,則意味著性能測(cè)試失敗。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),是一套對(duì)應(yīng)用程序性能下降進(jìn)行檢測(cè)的理想方案。
剖面測(cè)試
隨著性能測(cè)試機(jī)制的引入,現(xiàn)在我們已經(jīng)有能力在Instruments當(dāng)中進(jìn)行剖面測(cè)試。大家可以為剖面選擇一項(xiàng)或者一組測(cè)試套件,從而通過(guò)對(duì)Instruments的進(jìn)一步調(diào)查及分析來(lái)了解測(cè)試為何會(huì)出現(xiàn)失敗,最終找出導(dǎo)致性能衰退的根源。
12. Instruments
Instruments的用戶(hù)界面同樣經(jīng)過(guò)了更新。在新的模板選擇方案當(dāng)中,大家可以選擇自己的設(shè)備、目標(biāo)以及剖面分析流程的起始點(diǎn)。
我們可以看到一款名為Counters的全新模板,它與Events相結(jié)合能夠?qū)Ω鱾€(gè)獨(dú)立CPU事件進(jìn)行深度探究與審視。大家甚至可以指定用于測(cè)量事件聚合乃至比率等對(duì)象的公式。
在Xcode 6當(dāng)中,Instruments還提供對(duì)Swift的支持、大家也能夠利用它對(duì)應(yīng)用程序擴(kuò)展進(jìn)行配置。Instruments也提供對(duì)模擬器配置的支持,并將配置方案作為設(shè)備本身進(jìn)行處理,這就大大簡(jiǎn)化了在模擬器中對(duì)進(jìn)程的啟動(dòng)或者附加機(jī)制。
總結(jié)
蘋(píng)果公司仍在不斷改善其開(kāi)發(fā)者工具,而這也是Xcode在每個(gè)主要版本中都致力于實(shí)現(xiàn)的目標(biāo)。Xcode 6相對(duì)于其前代方案更進(jìn)一步,力圖為開(kāi)發(fā)人員提供足以提升工作流程并使整個(gè)開(kāi)發(fā)過(guò)程更加順暢的相關(guān)工具。
原文鏈接:
http://code.tutsplus.com/articles/getting-up-to-speed-with-xcode-6--cms-22287
原文標(biāo)題:Getting Up to Speed With Xcode 6
核子可樂(lè)譯