資源描述:
《ios培訓(xùn)之開發(fā)者需要知道的ios9sdk新特性》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、北京尚學(xué)堂提供編者按:WWDC2015蘋果開發(fā)者大會是移動開發(fā)者一年一度的盛會,InfoQ中文站除了第一時(shí)間整理Keynote內(nèi)容分享給大家之外,還邀請了資深的一線開發(fā)者分享他們的收獲。本文為王巍對WWDC上透露的iOS9SDK新特性的總結(jié),分享給廣大的iOS開發(fā)者。年年歲歲花相似,歲歲年年人不同。今年的WWDC一如既往的熱鬧,得益于Apple的隨機(jī)抽選機(jī)制,這兩年有更多的中國開發(fā)者有機(jī)會親臨現(xiàn)場進(jìn)行體驗(yàn),并與全球開發(fā)者取得更多的交流。更多的開發(fā)者可能只能在家里或者公司遠(yuǎn)程關(guān)注這一全球Apple開發(fā)者的盛會,但是這也并沒有減少大家對于開發(fā)的熱情。生命不息,學(xué)習(xí)不止。從WWDC開始受到廣大開發(fā)
2、者的關(guān)注以來,這就是一個(gè)開發(fā)者們學(xué)習(xí)和提高的重要途徑??梢愿惺艿浇陙韲鴥?nèi)開發(fā)者的平均水平越來越高,希望這樣的趨勢能夠保持下去,畢竟只有在社區(qū)的支持下,開發(fā)者們才會是最強(qiáng)力的存在。事不宜遲,讓我們來看看今年的WWDC中開發(fā)者可能需要重點(diǎn)關(guān)注的一些內(nèi)容吧??傆[iOS9時(shí)代開發(fā)者面臨的最大的挑戰(zhàn)和最急切的任務(wù)可能有兩個(gè)方面,首先是如何利用和適配全新的iPad分屏多任務(wù)特性,其次是如何面對和利用watchOS2來構(gòu)建原生的手表app。另外的新課題基本就都是現(xiàn)有框架的衍生和擴(kuò)展,包括從單元測試擴(kuò)展到UI測試,如何進(jìn)一步占領(lǐng)和使用系統(tǒng)的通知中心及搜索頁面,以及Swift2的使用等??梢哉f,經(jīng)過了iOS
3、7和iOS8連續(xù)兩次重量級的變革和更新,對普通的app開發(fā)者來說,iOS9SDK略歸于緩和及平靜,新的SDK在API和整體設(shè)計(jì)上并沒有發(fā)生像之前兩個(gè)系統(tǒng)那樣翻天覆地的改變。開發(fā)者們也正可以利用這個(gè)機(jī)會稍作喘息,在這一年里盡快熟悉和至少過渡到使用iOS8SDK的特性來構(gòu)筑自己的app(比如嘗試使用?SizeClass和PresentationController?等)。盡量提升自己的職業(yè)能力和制作app的水平,并保證能跟上滾滾向前的Apple車輪,應(yīng)該是今年Cocoa開發(fā)者們的主要任務(wù)。從近幾年的WWDC技術(shù)路線圖來看,Apple開發(fā)可謂是環(huán)環(huán)相扣,如果哪一年你的技術(shù)停步不前,之后想要再趕上可
4、能要付出的就是成倍的精力了。Multitasking這可以說是iOS9最大的賣點(diǎn)了。多任務(wù)特性,特別是分屏多任務(wù)使得iPad真正變得像一個(gè)堪當(dāng)重任的個(gè)人電腦。雖然在很早以前就已經(jīng)有越獄插件能讓iPad同時(shí)運(yùn)行多個(gè)程序,但是Apple還是很謹(jǐn)慎地到2015年才在自己性能最為強(qiáng)勁的移動設(shè)備上實(shí)裝這個(gè)功能。iOS9中的多任務(wù)分為三種表現(xiàn)形式,分別是臨時(shí)調(diào)出的滑動覆蓋(SlideOver),視頻播放的畫中畫模式(PictureinPicture)以及真正的同時(shí)使用兩個(gè)app的分割視圖(SplitView)?,F(xiàn)在能運(yùn)行iOS9的設(shè)備中只有最新的iPadAir2支持分割視圖方式,但是相信隨著設(shè)備的更新,
5、分割視圖的使用方式很可能成為人們?nèi)粘J褂胕Pad的一種主流方式,因此提早進(jìn)行準(zhǔn)備是開發(fā)者們的必修功課。雖然第一眼看上去感覺要支持多任務(wù)的視圖會是一件非常復(fù)雜的事情,但是實(shí)際上如果你在前一年就緊跟Apple步伐的話,就很簡單了。滑動覆蓋和分割視圖的app會使用iOS8引入的SizeClass中的CompactWidth和RegularHeight的設(shè)定,配合上AutoLayout來進(jìn)行布局。也就是說,如果你的app之前就是iPhone和iPad通用的,并且已經(jīng)使用了SizeClass進(jìn)行布局的話,基本上你不需要再額外做什么事兒就已經(jīng)能支持iOS9的多任務(wù)視圖了。但是如果不幸你還沒有使用這些技術(shù)
6、的話,可能你會需要盡快遷移到這套布局方式中,才能完美支持了。視頻app的畫中畫模式相對簡單一些,如果你使用?AVPlayerViewController?或者AVPlayerLayer?來播放視頻的話,那什么都不用做就已經(jīng)支持了。但如果你之前選擇的方案是MPMoviePlayerController?或者?MPMoviePlayerViewController?的話,你可能也需要今早遷移到AVKit的框架下來,因?yàn)镸ediaPlayer將在iOS9被標(biāo)記為deprecated并不再繼續(xù)維護(hù)。watchOS2在新的watchOS2中,WatchApp的架構(gòu)發(fā)生了巨大改變。新系統(tǒng)中WatchAp
7、p的extension將不像現(xiàn)在這樣存在于iPhone中,而是會直接安裝到手表里去,AppleWatch從一個(gè)單純的界面顯示器進(jìn)化為了可執(zhí)行開發(fā)者代碼的設(shè)備。得益于此,開發(fā)者們也可以在extension中訪問到像數(shù)字表冠和(雖然都只是很初級的訪問,但是聊勝于無)心跳計(jì)數(shù)這樣的情報(bào)。雖然有所進(jìn)步,但是其實(shí)Apple在watchOS2里表現(xiàn)出來的態(tài)度還是十分謹(jǐn)慎,這可能和初代AppleWatch的設(shè)備限制有很大關(guān)