自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從開發(fā)者的角度審視iOS 6與iPhone 5

譯文
新聞 iOS
蘋果公司這次一口氣將iPhone 5與iOS 6兩大重磅炸彈拋向市場,這在一石激起千層浪之外也給開發(fā)人員帶來了不小的麻煩——面對全新的硬件配置與SDK變更,iOS開發(fā)者普遍表示有點(diǎn)摸不著頭腦。大家不用擔(dān)心,本篇文章將幫助各位迅速弄清狀況、跟上時(shí)代,通過詳盡、高端的準(zhǔn)確評述讓讀者朋友們的開發(fā)技能正確作用于新產(chǎn)品。

[[99575]]

教程說明

學(xué)習(xí)時(shí)間: 30 分鐘

全新的顯示效果

【2012年9月27日 51CTO外電頭條】在接觸iPhone 5之初,我想大家最先注意到的可能就是其屏幕尺寸的改動(dòng)——沒錯(cuò),蘋果終于對經(jīng)典設(shè)計(jì)做出變更,對視網(wǎng)膜屏加以擴(kuò)展。iPhone 4所使用的是3.5英寸(指對角線長度)640 x 960像素的分辨率方案,而iPhone 5則擁有分辨率為640 x 1136像素的4寸屏幕。

作為用戶,我們可能會(huì)對iPhone 5的新外形贊嘆不已;然而從開發(fā)人員的角度來看,這種外形變更其實(shí)非常麻煩——大家肯定一眼就看出,我們必須要讓自己的應(yīng)用支持額外的顯示尺寸。不過雖然新分辨率方案會(huì)加重開發(fā)者的工作負(fù)擔(dān),但好消息在于iOS 6中的SDK擁有一套全新的自動(dòng)布局系統(tǒng),能夠幫助開發(fā)者更輕松地應(yīng)對不同機(jī)型之間屏幕尺寸上的差異。

以下圖表將用數(shù)據(jù)告訴大家iPhone 5在顯示機(jī)制方面與其它iOS設(shè)備間的區(qū)別:

設(shè)備名稱

屏幕尺寸

分辨率

PPI(每英寸像素?cái)?shù)量)

高寬比

iPhone

3.5英寸

320 x 480像素

163 PPI

3:2

iPhone 3G

3.5英寸

320 x 480像素

163 PPI

3:2

iPhone 3GS

3.5英寸

320 x 480像素

163 PPI

3:2

iPhone 4

3.5英寸

640 x 960像素

326 PPI

3:2

iPhone 4S

3.5英寸

640 x 960像素

326 PPI

3:2

iPhone 5

4英寸

640 x 1136像素

326 PPI

16:9

iPad

9.7英寸

768 x 1024像素

132 PPI

4:3

iPad (2代)

9.7英寸

768 x 1024像素

132 PPI

4:3

iPad (3代)

9.7英寸

1536 x 2048像素

264 PPI

4:3

幸運(yùn)的是,我們不必完全依賴個(gè)人的力量來處理這些復(fù)雜的屏幕差異。就在去年,蘋果公司為Cocoa開發(fā)工具提供了自動(dòng)布局系統(tǒng),而如今隨著iOS 6的面世該系統(tǒng)也已經(jīng)能與Cocoa – Touch完美協(xié)作。盡管在iOS 6大張旗鼓的新功能宣傳中我們并沒有看到該系統(tǒng)的身影,但自動(dòng)布局系統(tǒng)無疑是一項(xiàng)強(qiáng)大的功能性提升,使得開發(fā)人員能夠以智能、流暢的方式迅速創(chuàng)建出美觀的應(yīng)用程序布局。與傳統(tǒng)的硬性編碼布局不同,自動(dòng)布局方案絕不會(huì)讓開發(fā)者將各個(gè)界面對象強(qiáng)行放在特定的X , Y坐標(biāo)處;恰恰相反,自動(dòng)布局會(huì)引導(dǎo)開發(fā)人員通過數(shù)學(xué)上的術(shù)語來描述各個(gè)對象之間的關(guān)系,其它具體的排布工作以及對象位置調(diào)整則由iOS自動(dòng)完成。在今年6月召開的WWDC大會(huì)上,蘋果公司則著力介紹過這一功能,有興趣的朋友可以再溫習(xí)一下有關(guān)自動(dòng)布局系統(tǒng)的宣傳視頻。

如果大家已經(jīng)在蘋果的App Store中發(fā)布過iPhone應(yīng)用程序,那么首先要做的就是讓這款應(yīng)用趕快適應(yīng)iPhone 5的全新屏幕尺寸。因?yàn)槿绻贿@么做,我們的應(yīng)用程序在默認(rèn)情況下仍然會(huì)以原始尺寸及比例顯示在iPhone 5的屏幕上,這時(shí)頂部和底部會(huì)自動(dòng)以黑邊的形式顯示——這可不好,雖然對功能性沒有影響,但會(huì)讓用戶產(chǎn)生“這款應(yīng)用非常低端”的感覺。下面幾幅圖就展示了iPhone 5屏幕上、下方存在黑框時(shí)的樣子:

在以上截圖中,F(xiàn)andango應(yīng)用能夠支持iPhone 5全屏顯示,而星巴克與Pandora應(yīng)用則存在邊緣黑框現(xiàn)象。

“開發(fā)人員必須對現(xiàn)有應(yīng)用進(jìn)行更新,才能使其填滿iPhone 5的屏幕。”

大多數(shù)iOS應(yīng)用都是使用UIKit組件創(chuàng)建并且擁有自動(dòng)調(diào)整尺寸特性,這就使得現(xiàn)有應(yīng)用程序適應(yīng)iPhone 5變得非常簡單——只要將4英寸方案下的新界面圖像添加到項(xiàng)目當(dāng)中即可。

更高、更快、更強(qiáng):新一代A6芯片

很多人都忽略了這一點(diǎn),但這里我要提醒大家,蘋果在iPhone 5中內(nèi)置的新一代A6芯片比前代產(chǎn)品的處理速度提高了一倍。作為開發(fā)人員,應(yīng)用程序的實(shí)際表現(xiàn)無疑要受到手機(jī)硬件的限制。而有了A6芯片的性能支持,我們能夠創(chuàng)建出更為復(fù)雜的應(yīng)用程序,包括更先進(jìn)的增強(qiáng)現(xiàn)實(shí)應(yīng)用以及更逼真的3D游戲。更值得一提的是,雖然硬件性能得到大幅強(qiáng)化,但iPhone 5的電池續(xù)航能力也獲得了一定提升!這簡直是在用行動(dòng)告訴開發(fā)者:丟掉顧慮,放手干吧。

以下圖表顯示了最新的三代iPhone所搭載的芯片系統(tǒng)(簡稱SoC)參數(shù)

機(jī)型

SoC

最大時(shí)鐘速率

CPU 

核心數(shù)

GPU

核心數(shù)

一級緩存

二級緩存

iPhone 4

蘋果A4

1 GHz

1

1

32/32 kB

512 kB

iPhone 4S

蘋果A5

800 MHz

 to 1 GHz

2

2

32/32 kB

1024 kB

iPhone 5

蘋果A6

1.25 GHz

2

3

32/32 kB

1024 kB

#p#

新的Cocoa-Touch框架

iOS 6 SDK中增加了四大全新框架。

Pass Kit框架

Passbook應(yīng)用一直是iOS 6系統(tǒng)中關(guān)注度最高的功能。在它的幫助下,用戶能夠在自己的設(shè)備上購買并存儲以下四種特殊文件:

  • 登機(jī)牌
  • 賽事門票
  • 零售優(yōu)惠券
  • 代金券

根據(jù)蘋果在官方說明文檔中的描述,Passbook類應(yīng)用能夠被拆分為以下三個(gè)部分:

  • 創(chuàng)建Passbook類應(yīng)用必需的軟件包格式。
  • 專門用于Passbook類應(yīng)用更新及服務(wù)器實(shí)施的網(wǎng)絡(luò)服務(wù)API。
  • 用于與用戶Passbook記錄互動(dòng)的Objective-C API。

正如大家所見,將Passbook機(jī)制納入到自己的應(yīng)用程序中來需要涉及到橫跨多層的技術(shù)整合工作。Pass Kit的主要作用在于第三條——提供與用戶Passbook記錄互動(dòng)所必要的Objective-C API。

盡管Passbook在學(xué)習(xí)及掌握方面需要花費(fèi)一定時(shí)間與精力,但在大家度過了最初的艱難時(shí)期后,接下來的學(xué)習(xí)曲線就會(huì)變得暢通無阻了。而且截至本文撰寫之時(shí)(12年9月23號),蘋果App Store中只擁有12款支持Passbook功能的應(yīng)用程序——也就是說,誰能夠及時(shí)做出反應(yīng)、率先在應(yīng)用程序中引入Passbook,誰就可以占得先機(jī)、讓自己的產(chǎn)品在應(yīng)用的海洋中脫穎而出。

要想了解更多關(guān)于Passbook的信息,大家訪問以下網(wǎng)址,看看蘋果公司官方是怎么說的。

網(wǎng)址:https://developer.apple.com/passbook/Getting_Started_with_Passbook.pdf

社交框架

在iOS 5發(fā)布之初,蘋果公司就已經(jīng)幫助開發(fā)人員充分簡化了應(yīng)用與社交網(wǎng)絡(luò)的交互——在Twitter框架的幫助下,開發(fā)者能夠輕松為自己的應(yīng)用添加Twitter支持。而在最新的iOS 6中,社交框架的加入令社交網(wǎng)絡(luò)整合工作擁有了新方案。整套思路與開源項(xiàng)目ShareKit非常相似,菜單中包含了多個(gè)共享選項(xiàng),用戶可以根據(jù)自己的喜好從其中隨意選擇要分享的社交平臺。但除此之外,真正讓社交框架站在時(shí)代巔峰上的是其所整合的賬戶框架。在賬戶框架的支持下,用戶能夠以單點(diǎn)登錄(簡稱SSO)的方式以一套口令搞定所有社交平臺,這就免去了一遍遍重復(fù)輸入驗(yàn)證信息的尷尬與繁瑣。

雖然我對于社交框架的出現(xiàn)感到極為興奮,但目前我還是會(huì)選擇SahreKit 2.0作為首選方案,畢竟它更成熟也更實(shí)用。不過話說回來,再過一、兩年,社交框架在蘋果公司的大力支持下必然獲得飛速發(fā)展,我懷疑到時(shí)候它會(huì)成為新時(shí)代的標(biāo)準(zhǔn)、將一切現(xiàn)有同類方案踩在腳下。

廣告支持與媒體工具箱框架

接下來我要向大家介紹另外兩款同樣受到忽視的新框架——廣告支持框架與媒體工具箱框架。廣告支持框架很可能在第三方廣告合作伙伴中成為行業(yè)標(biāo)準(zhǔn),因?yàn)樗试S開發(fā)人員根據(jù)自己應(yīng)用程序的特點(diǎn)提交獨(dú)特的、能夠歸納用戶群體類別的廣告位信息。該框架同時(shí)提供一套追蹤開關(guān),開發(fā)人員需要在應(yīng)用運(yùn)行過程中查詢開關(guān)啟用與否,并以此來保證用戶廣告投放工作的順利實(shí)施。

媒體工具箱框架則沒有太多可談的,它的作用是為AVFoundation框架提供音頻支持,具體內(nèi)容大家仍然可以溫習(xí)WWDC 2012大會(huì)中的相關(guān)段落。#p#

Cocoa-Touch的改進(jìn)與修正

正如此前所有新系統(tǒng)發(fā)布時(shí)的情況一樣,iOS 6的面世也帶了諸多新變化、新功能并棄用了某些陳舊機(jī)制。其中某些變化會(huì)給移動(dòng)開發(fā)工作帶來深遠(yuǎn)影響,這一點(diǎn)在前面的內(nèi)容中也已經(jīng)提到了一些。

UITableView增強(qiáng)

UITableView的工作方式也迎來了大幅度轉(zhuǎn)變。首先,UITableViewCell中的方法dequeueResusableCellWithIdentifier如今被替換為兩種新的UITableView方法,即dequeueReusableCellWithIdentifier:forIndexPath: 與registerClass:forCellReuseIdentifier:。如此一來,在表格視圖中創(chuàng)建并添加UITableViewCell對象會(huì)變得更為精簡而流暢。

另外,一種全新的名為UITableViewHeaderFooterView的類也被添加進(jìn)來,作用是讓開發(fā)人員能夠更輕松地創(chuàng)建自定義UITableView頁眉及頁腳。該類的contentView與backgroundView屬性使得能夠自定義的范疇非常廣泛,同時(shí)textLabel與detailTextLabel也以快捷方式的形式簡化了我們創(chuàng)建自定義頁眉或頁腳的過程。

表格視圖中的另一大顯著增強(qiáng)就是UIRefreshControl,這種控制機(jī)制使得開發(fā)人員能夠隨意為自己的表格視圖添加拖動(dòng)刷新功能。

[[94682]]

新的UIKit主題選項(xiàng)

iOS 5在發(fā)布時(shí)針對最流行的UIKit控件推出了一系列新的自定義機(jī)制,而iOS 6也秉承了這種趨勢,并進(jìn)一步提供了更多可選的界面定制方案。舉例來說,UIPopoverBackgroundView、UIStepper、UISwitch、UINavigationBar、UITabBar、UIToolBar、UIBarButtonItem以及UIPageControl都獲得了與用戶界面控制相關(guān)的額外方法或?qū)傩浴?/p>

正如我們在上文中所提到,UITableView對象在自定義頁眉/頁腳視圖類的幫助下變得更容易修改并制作成主題元素。表格視圖也獲得了與主題相關(guān)的兩種全新界面屬性:sectionIndexColor與sectionIndexTrackingBackgroundColor。這些屬性允許開發(fā)人員對表格視圖索引的外觀進(jìn)行更進(jìn)一步的控制及設(shè)定。

UICollectionView打造基于網(wǎng)格的布局方案

UICollectionView類為我們帶來了利用iOS SDK直接創(chuàng)建基于網(wǎng)格的布局的能力。其作用明顯、意義重大,尤其是對于iPad這樣行、列視覺元素使用頻繁的顯示機(jī)制來講,這一提升更是極為貼心。

iPad版本的Kindle and Reeder應(yīng)用程序就是一個(gè)極好的例子,在UICollectionView的幫助下,基于網(wǎng)格的布局方案必然能帶來更理想的顯示效果。

盡管上圖中的應(yīng)用并沒有用到UICollectionView,但它仍然代表了一類常見的布局控制需求。相信在新機(jī)制的支持下,開發(fā)人員將能夠更輕松地創(chuàng)建出美觀簡潔的視覺界面。

利用NSAttributedString調(diào)整文本風(fēng)格

任何一位與iOS SDK打過一段時(shí)間交道的開發(fā)者可能都曾經(jīng)對UILabel以及NSString的功能性局限頗有微辭,同時(shí)也費(fèi)過不少力氣處理其糟糕的外觀效果。在眾多效果調(diào)整工作中,最令人煩躁的內(nèi)容無疑包括粗體文本、超鏈接下劃線、最討人厭的子字符串斜體等等,而且大部分問題都源自UILabel實(shí)例或者UIWebView中HTML與CSS的影響。iOS 6引入了NSAttributedString與NSMutableAttributedString,這就使得上述工作得到極大簡化。這兩大新類與NSString相比擁有大量格式設(shè)定選項(xiàng),舉例來說,我們可以在NSAttributedString中對下劃線、背景顏色、刪除線等元素進(jìn)行分別設(shè)置。在創(chuàng)建一套新的屬性化字符串后,我們還可以將其設(shè)定套用到任何支持類屬性設(shè)置的字符串上,包括UILabel、UIButton以及 UITableViewCell。

視圖自動(dòng)旋轉(zhuǎn)

在視圖的自動(dòng)旋轉(zhuǎn)功能方面,iOS 6 SDK采取了全新的解決方案。我們長久以來習(xí)慣使用的shouldAutorotateToInterfaceOrientation類已經(jīng)遭到棄用,在新模式下我們將使用supportedInterfaceOrientationsForWindow:與幾種shouldAutorotate方法的新組合。

除此之外,被設(shè)定為只能橫向顯示的應(yīng)用程序一旦調(diào)用縱向視圖控制器(例如游戲中心登錄界面所使用的UIPickerViewController),會(huì)導(dǎo)致應(yīng)用本身崩潰。

“在強(qiáng)制橫向顯示的應(yīng)用程序中調(diào)用縱向視圖控制器,會(huì)導(dǎo)致應(yīng)用本身崩潰。”

如果大家對這個(gè)話題感興趣,可以查看iOS 6發(fā)布說明中的UIKit相關(guān)內(nèi)容。WWDC 2012大會(huì)中也有專門的段落展開討論,主題為“Polishing Your Interface Rotations(精心雕琢您的界面旋轉(zhuǎn)機(jī)制)”。#p#

移動(dòng)版Safari瀏覽器的新功能

正如大家所預(yù)期的,移動(dòng)版Safari瀏覽器在對HTML 5的兼容性及相關(guān)功能支持方面又邁出了實(shí)質(zhì)性的一步。雖然我們無法在本文中所這款全新瀏覽器進(jìn)行細(xì)致評述,但以下幾項(xiàng)亮點(diǎn)是大家絕不能錯(cuò)過的:

  • 通過媒體捕捉API及文件API訪問相機(jī)功能
  • 本地緩存從原來的5MB增加到25MB
  • 添加了新的網(wǎng)絡(luò)音頻API
  • 擁有額外的CSS3支持(包括淡入淡出效果及過濾器等)
  • 內(nèi)置不同的分辨率方案支持能力
  • 能夠簡化調(diào)試工作的遠(yuǎn)程網(wǎng)絡(luò)檢測工具
  • 對WebKit JavaScript引擎做出性能增強(qiáng)

在上述內(nèi)容之外,還有一個(gè)主要問題值得我們關(guān)注。如果在任何應(yīng)用程序中插入一條含有YouTube內(nèi)容的UIWebView屬性,這段代碼將無法正常工作。蘋果在iOS 6中拋棄了YouTube應(yīng)用,因此與之相關(guān)的默認(rèn)網(wǎng)頁視圖回放功能自然也將不復(fù)存在。由于很多開發(fā)人員與應(yīng)用程序都依賴于這一功能,因?yàn)槲覀€(gè)人猜測這次變動(dòng)會(huì)引發(fā)不少嚴(yán)重問題。另外,我也承認(rèn)自己對于YouTube的離去感到非常失望。

“在UIWebView中插入的YouTube視頻將無法正常播放。”

大家還想了解更多?Max Firtman撰寫了專門的文章開展全面討論,我們也將在未來的系列指南中帶給大家更多的新鮮意見。

這一點(diǎn)同樣沒有受到大力宣傳,但應(yīng)用程序開發(fā)人員應(yīng)該了解,iOS 6中的App Store用戶界面已經(jīng)得到了翻天覆地的變化。想要搜索新游戲?下圖是我們在使用iOS 5系統(tǒng)的iPhone 4S與使用iOS 6系統(tǒng)的iPhone 5中輸入關(guān)鍵詞“RPG”后得到的結(jié)果畫面:

可以看到,在舊版界面中,我們能夠直接看到五款不同名稱的游戲應(yīng)用,而且只要輕輕一點(diǎn),就能看到當(dāng)前人氣最高的前25大熱門游戲。而在新界面中,屏幕中將會(huì)顯示一款應(yīng)用,用戶必須不斷翻動(dòng)屏幕才能看到每一款應(yīng)用程序的詳細(xì)信息。

對于這種設(shè)定,大家的意見當(dāng)然可以見仁見智。但就個(gè)人而言,我認(rèn)為這種新設(shè)定的目的是“讓用戶在查閱時(shí)不會(huì)再接觸到過多應(yīng)用程序。”由于現(xiàn)在我們只能一個(gè)接一個(gè)瀏覽,因此耗時(shí)會(huì)變得比較長,用戶也更容易失去耐心。蘋果公司相當(dāng)于將一紙通告拍在開發(fā)人員臉上,告訴他們“把應(yīng)用程序做好點(diǎn),否則根本不會(huì)有人來鳥你!”好吧,現(xiàn)在全世界的開發(fā)者都要爭奪首頁這一珍貴資源了。

“新的App Store UI強(qiáng)調(diào)的是第一印象,開發(fā)人員一定得做好!”

雖然我個(gè)人對于新版App Store的整體使用體驗(yàn)及界面設(shè)置有點(diǎn)失望,但其中仍然蘊(yùn)含著有可能協(xié)助開發(fā)人員的新特性。由于社交框架的引入,現(xiàn)在用戶能夠“共享”任何在軟件商店中找到的應(yīng)用程序產(chǎn)品了:

我敢肯定,大多數(shù)開發(fā)人員會(huì)第一時(shí)間在自己的應(yīng)用程序中添加“共享”選項(xiàng),但也有不少獨(dú)立開發(fā)者可能還不知道這一消息。希望借這篇文章能夠?yàn)榇蠹议_拓思路,利用好這塊全新的宣傳陣地。#p#

在哪里了解更多

iOS 6這次帶來的變化實(shí)在是太多了,我根本不可能在一篇文章甚至一套系列教程中將其通通列舉出來。本文只是從開發(fā)者的角度簡單對iOS 6及iPhone 5進(jìn)行了番審視,我們未來還會(huì)推出更多針對新系統(tǒng)及新機(jī)型的開發(fā)指南。請大家放心,我們會(huì)從頭開始一步步指導(dǎo)大家如何讓自己的iOS 5應(yīng)用程序順利安裝并運(yùn)行在iOS 6系統(tǒng)平臺下,所以請各位保持關(guān)注,謝謝!

除此之外,獲得iOS 6權(quán)威消息的最佳途徑當(dāng)然是WWDC 2012大會(huì)了,優(yōu)酷網(wǎng)上有在線視頻,大家一搜即得。官方說明文檔當(dāng)然也不可或缺,這里我為大家整理了iOS 6說明文檔、iOS 6 新功能一覽以及官方的iOS 6發(fā)布說明

還有一件事……如果大家還沒看蘋果公司的iPhone 5宣傳片,那別猶豫了,趕緊點(diǎn)開以下鏈接瞻仰一番吧:

http://v.youku.com/v_show/id_XNDQ5NzgzOTky.html

總結(jié)

大家有計(jì)劃在強(qiáng)大的iPhone 5上開發(fā)應(yīng)用程序嗎?請?jiān)谠u論欄中留下您的意見,并與其他讀者朋友交流自己的心得與體會(huì)。

[[99577]]

原文鏈接:http://mobile.tutsplus.com/articles/news/ios6-iphone5-whats-new/

原文標(biāo)題:A Developer Looks at iOS 6 and the iPhone 5

 
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2012-09-19 09:54:52

iOS開發(fā)者iPhone 5

2012-10-08 13:22:16

iOS 6

2010-07-29 10:16:17

Linux內(nèi)核Linux內(nèi)存

2012-09-19 10:25:56

iPhone 5游戲開發(fā)者

2011-08-09 11:13:07

iPhone游戲網(wǎng)絡(luò)連接測試游戲

2012-01-04 09:18:32

iPhone開發(fā)者聯(lián)盟iDP中國開發(fā)者

2011-08-09 15:17:07

iOS開發(fā)

2012-09-19 09:58:06

開發(fā)者iPhone 5

2012-10-08 13:16:12

iOS 6

2013-09-03 09:54:15

Web開發(fā)

2013-11-28 10:18:05

開發(fā)者iOSAndroid

2012-05-22 09:50:32

iOSiPhone

2011-05-12 09:34:58

iOS

2009-03-29 09:48:35

蘋果Iphone移動(dòng)OS

2012-12-28 13:07:45

Bad HoteliOS開發(fā)者

2023-02-03 09:52:10

開發(fā)者框架GoFrame

2014-04-14 11:23:27

WP8.1Build2014

2012-09-19 10:29:59

2014-08-05 10:02:50

iOS 8

2018-03-12 13:57:39

開發(fā)iOS學(xué)習(xí)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號