偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

開發(fā)者必看:iOS7 SDK新特性一覽

移動開發(fā) iOS
WWDC 2013 keynote落下帷幕,新的iOS開發(fā)旅程也由此開啟。在iOS7界面重大變革的背后,開發(fā)者們需要知道的又有哪些呢。同去年一樣,我會先簡單縱覽地介紹iOS7中我個人認為開發(fā)者需要著重關(guān)注和學習的內(nèi)容,之后再陸續(xù)對自己感興趣章節(jié)進行探索,希望對國內(nèi)開發(fā)者有所幫助。

全新UI設計

iOS7最大的變化莫過于UI設計,也許你會說UI設計“這是設計師大大們應該關(guān)注的事情,不關(guān)開發(fā)者的事,我們只需要替換圖片就行了”。那你就錯了。 UI的變化必然帶來使用習慣和方式的轉(zhuǎn)變,如何運用iOS7的UI,如何是自己的應用更切合新的系統(tǒng),都是需要考慮的事情。另外值得注意的是,使用 iOS7 SDK(現(xiàn)在只有Xcode5預覽版提供)打包的應用在iOS7上運行時將會自動使用iOS7的新界面,所以原有應用可能需要對新界面進行重大調(diào)整。具體 的iOS7中所使用的UI元素的人際交互界面文檔,可以從這里找到(應該是需要開發(fā)者賬號才能看)。

[[74896]]

簡單總結(jié)來說,以現(xiàn)在上手體驗看來新的UI變化改進有如下幾點:

1.狀態(tài)欄,導航欄和應用實際展示內(nèi)容不再界限:系統(tǒng)自帶的應用都不再區(qū)分狀態(tài)欄和navigation bar,而是用統(tǒng)一的顏色力求簡潔。這也算是一種趨勢。

2.BarItem的按鈕全部文字化:這點做的相當堅決,所有的導航和工具條按鈕都取消了擬物化,原來的文字(比如“Edit”,“Done”之類)改為了簡單的文字,原來的圖標(比如新建或者刪除)也做了簡化。

3.程序打開加入了動畫:從主界面到圖標所在位置的一個放大,同時顯示應用的載入界面。

自己實驗了幾個現(xiàn)有的AppStore應用在iOS7上的運行情況:

1.Pomodoro Do: 這是我自己開發(fā)的應用,運行正常,但是因為不是iOS7 SDK打包,所以在UI上使用了之前系統(tǒng)的,問題是導航欄Tint顏色丟失,導致很難看,需要盡快更新。

2.Facebook:因為使用了圖片自定義導航欄,而沒有直接使用系統(tǒng)提供的材質(zhì),所以沒什么問題。

3.面包旅行:直接Crash,無法打開,原因未知。

這次UI大改可以說是一次對敏捷開發(fā)的檢驗,原來的應用(特別是擬物化用得比較重的應用)雖然也能運行,但是很多UI自定義的地方需要更改不說,還 容易讓用戶產(chǎn)生一種“來到了另一個世界”的感覺,同時可以看到也有部分應用無法運行。而對于蘋果的封閉系統(tǒng)和只升不降的特性,開發(fā)者以及其應用必須要盡快 適應這個新系統(tǒng),這對于迭代快速,還在繼續(xù)維護的應用來說會是一個機會。相信誰先能適應新的UI,誰就將在iOS7上占到先機。

動態(tài)UIKit

新增了UIDynamicItem委托,用來為UIView制定動態(tài)行為,當然其他任何對象都能通過實現(xiàn)這組接口來定義動態(tài)行為,只不過在UIKit中可 能應用最多。所謂動態(tài)行為,是指將現(xiàn)實世界的行為或者特性引入到UI中,比如重力等。通過實現(xiàn)UIDynamicItem,UIKit現(xiàn)在支持如下行為: * UIAttachmentBehavior 連接兩個實現(xiàn)了UIDynamicItem的物體(以下簡稱動態(tài)物體),一個物體移動時,另一個跟隨移動 * UICollisionBehavior 指定邊界,使兩個動態(tài)物體可以進行碰撞 * UIGravityBehavior 顧名思義,為動態(tài)物體增加重力模擬 * UIPushBehavior 為動態(tài)物體施加持續(xù)的力 * UISnapBehavior 為動態(tài)物體指定一個附著點,想象一下類似掛一幅畫在圖釘上的感覺。

如果有開發(fā)游戲的童鞋可能會覺得這些很多都是做游戲時候的需求,一種box2d之類的2D物理引擎的既視感躍然而出。沒錯的親,動態(tài)UI,加上之后 要介紹的Sprite Kit,極大的擴展了使用UIKit進行游戲開發(fā)的可能性。另外要注意UIDynamicItem不僅適用于UIKit,任何對象都可以實現(xiàn)接口來獲得動 態(tài)物體的一些特性,所以說用來做一些3D的事情也不是沒有可能。如果覺得Cocos2D+box2d這樣的組合使用起來不方便的話,現(xiàn)在動態(tài) UIKit+SpriteKit給出了新的選擇。

游戲方面

iOS7 SDK極大加強了直接使用iOS SDK制作和分發(fā)游戲的體驗,最主要的是引入了專門的游戲制作框架。

Sprite Kit Framework

這是個人認為iOS7 SDK最大的亮點,也是最重要的部分,iOS SDK終于有自己的精靈系統(tǒng)了。Sprite Kit Framework使用硬件加速的動畫系統(tǒng)來表現(xiàn)2D和2.5D的游戲,它提供了制作游戲所需要的大部分的工具,包括圖像渲染,動畫系統(tǒng),聲音播放以及圖 像模擬的物理引擎??梢哉f這個框架是iOS SDK自帶了一個較完備的2D游戲引擎,力圖讓開發(fā)者專注于更高層的實現(xiàn)和內(nèi)容。和大多數(shù)游戲引擎一樣,Sprite Kit內(nèi)的內(nèi)容都按照場景(Scene)來分開組織,一個場景可以包括貼圖對象,視頻,形狀,粒子效果甚至是CoreImage濾鏡等等。相對于現(xiàn)有的 2D引擎來說,由于Sprite Kit是在系統(tǒng)層級進行的優(yōu)化,渲染時間等都由框架決定,因此應該會有比較高的效率。

另外,Xcode還提供了創(chuàng)建粒子系統(tǒng)和貼圖Atlas的工具。使用Xcode來管理粒子效果和貼圖atlas,可以迅速在Sprite Kit中反應出來。

Game Controller Framework

為Made-for-iPhone/iPod/iPad (MFi) game controller設計的硬件的對應的框架,可以讓用戶用來連接和控制專門的游戲硬件。參考WWDC 2013開場視頻中開始的賽車演示。現(xiàn)在想到的是,也許這貨不僅可以用于游戲…或者蘋果之后會擴展其應用,因為使用普及率很高的iPhone作為物聯(lián)網(wǎng)的 入口,似乎會是很有前途的事情。

GameCenter改進

GameCenter一直是蘋果的敗筆…雖然每年都在改進,但是一直沒看到大的起色。今年也不例外,都是些小改動,不提也罷。

多任務強化

經(jīng)常需要下載新內(nèi)容的應用現(xiàn)在可以通過設置UIBackgroundModes為fetch來實現(xiàn)后臺下載內(nèi)容了,需要在AppDelegate里實現(xiàn)setMinimumBackgroundFetchInterval:以及application:performFetchWithCompletionHandler:來處理完成的下載,這個為后臺運行代碼提供了又一種選擇。不過考慮到Apple如果繼續(xù)嚴格審核的話,可能只有雜志報刊類應用能夠取得這個權(quán)限吧。另外需要注意開發(fā)者僅只能指定一個最小間隔,最后下沒下估計就得看系統(tǒng)娘的心情了。

同樣是后臺下載,以前只能推送提醒用戶進入應用下載,現(xiàn)在可以接到推送并在后臺下載。UIBackgroundModes設為remote-notification,并實現(xiàn)application:didReceiveRemoteNotification:fetchCompletionHandler:

為后臺下載,開發(fā)者必須使用一個新的類NSURLSession,其實就是在NSURLConnection上加了個后臺處理,使用類似,API十分簡單,不再贅述。

AirDrop

這個是iOS7的重頭新功能,用戶可以用它來分享照片,文檔,鏈接,或者其他數(shù)據(jù)給附近的設備。但是不需要特別的實現(xiàn),被集成在了標準的 UIActivityViewController里,并沒有單獨的API提供。數(shù)據(jù)的話,可以通過實現(xiàn)UIActivityItemSource接口后 進行發(fā)送。大概蘋果也不愿意看到超出他們控制的文件分享功能吧,畢竟這和iOS設計的初衷不一樣。如果你不使用 UIActivityViewController的話,可能是無法在應用里實裝AirDrop功能了。

地圖

Apple在繼續(xù)在地圖應用上的探索,MapKit的改進也乏善可陳。我一直相信地圖類應用的瓶頸一定在于數(shù)據(jù),但是對于數(shù)據(jù)源的建立并不是一年兩年能夠完成的。

Google在這一塊憑借自己的搜索引擎有著得天獨厚的優(yōu)勢,蘋果還差的很遠很遠。看看有哪些新東西吧:

1.MKMapCamera,可以將一個MKMapCamera對象添加到地圖上,在指明位置,角度和方向后將呈現(xiàn)3D的樣子…大概可以想象成一個數(shù)字版的Google街景..

2.MKDirections 獲取Apple提供的基于方向的路徑,然后可以用來將路徑繪制在自己的應用中。這可能對一些小的地圖服務提供商產(chǎn)生沖擊,但是還是那句話,地圖是一個數(shù)據(jù) 的世界,在擁有完備數(shù)據(jù)之前,Apple不是Google的對手。這個狀況至少會持續(xù)好幾年(也有可能是永遠)。

3.MKGeodesicPolyline 創(chuàng)建一個隨地球曲率的線,并附加到地圖上,完成一些視覺效果。

4.MKMapSnapshotter 使用其拍攝基于地圖的照片,也許各類簽到類應用會用到。

5.改變了overlay物件的渲染方式。

Inter-App Audio 應用間的音頻

AudioUnit框架中加入了在同一臺設備不同應用之間發(fā)送MIDI指令和傳送音頻的能力。比如在一個應用中使用AudioUnit錄音,然后在另一個 應用中打開以處理等。在音源應用中聲明一個AURemoteIO實例來標為Inter-App可用,在目標應用中使用新的發(fā)現(xiàn)接口來發(fā)現(xiàn)并獲取音頻。 想法很好,也算是在應用內(nèi)共享邁出了一步,不過我對現(xiàn)在使用AudioUnit這樣的低層級框架的應用數(shù)量表示不樂觀。也許今后會有一些為更高層級設計的 共享API提供給開發(fā)者使用。畢竟要從AudioUnit開始處理音頻對于大多數(shù)開發(fā)者來說并不是一件很容易的事情。

點對點連接 Peer-to-Peer Connectivity

可以看成是AirDrop不能直接使用的補償,代價是需要自己實現(xiàn)。MultipeerConnectivity框架可以用來發(fā)現(xiàn)和連接附近的設備,并傳 輸數(shù)據(jù),而這一切并不需要有網(wǎng)絡連接??梢钥吹紸pple逐漸在文件共享方面一步步放開限制,但是當然所有這些都還是被限制在sandbox里的。

Store Kit Framework

Store Kit在內(nèi)購方面采用了新的訂單系統(tǒng),這將可以實現(xiàn)對訂單的本機驗證。這是一次對應內(nèi)購破解和有可能驗證失敗導致內(nèi)購失敗的更新,蘋果希望藉此減少內(nèi)購的 實現(xiàn)流程,減少出錯,同時遏制內(nèi)購破解泛濫。前者可能沒有問題,但是后者的話,因為objc的動態(tài)特性,決定了只要有越獄存在,內(nèi)購破解也是早晚的事情。 不過這一點確實方便了沒有能力架設驗證服務器的小開發(fā)者,這方面來說還是很好的。

最后

當然還有一些其他小改動,包括MessageUI里添加了附件按鈕,Xcode開始支持模塊了等等。完整的iOS7新特性列表可以在這里找到(暫時 應該也需要開發(fā)者賬號)。最后一個好消息是,蘋果放慢了廢棄API的速度,這個版本并沒有特別重要的API被標為Deprecated,Cheers。

責任編輯:徐川 來源: 雷鋒網(wǎng)
相關(guān)推薦

2011-05-26 10:27:37

Fedora 15

2013-10-18 14:23:21

Ubuntu 13.1Kbuntu 13.1

2014-07-17 09:31:50

iOS8SDK

2015-08-21 09:47:02

ios9sdk新特性

2017-06-09 13:33:57

2010-01-26 17:44:32

Visual C++開

2020-02-20 16:54:05

Android 11谷歌功能

2013-06-21 13:04:59

iOS7WWDCUI設計

2011-12-16 09:24:53

JavaSpring開源框架

2013-11-26 10:00:09

VMware Hori虛擬化Wmware

2013-11-26 10:00:30

VMware Hori

2024-06-28 11:39:21

2010-07-20 10:19:06

Wine 1.2

2013-06-12 15:19:05

iOS7WWDC

2022-07-08 15:01:40

工具瀏覽器

2017-09-22 14:04:33

前端Node.js新特性

2022-06-27 06:02:27

geopandas開發(fā)Python

2023-11-23 10:21:11

ECMAScriptJavaScript

2012-01-12 16:16:20

Fedora 17特性規(guī)劃

2010-06-01 09:52:27

jQuery Tool
點贊
收藏

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