iOS8的新特性:web
1.sizeClass 的推出:
在 iOS 8 中,Apple 的工程師們能夠說「極富想象力」地乾脆把限制和表徵屏幕尺寸的長寬數字給去掉了,取而代之使用 size classes 的概念,將長寬尺寸按照設備類型和方向歸類爲 regular 和 compact 兩類。經過爲不一樣的設備定義尺寸分類,用來定義同類型的操做特性,這使得開發者更容易利用一套 UI 來適配不一樣的屏幕。
2. Cloud Kit :
能夠不更改應用現有的數據模型和結構,而只是使用 Cloud Kit 來從雲端獲取數據或者向雲端存儲數據。
3.使用位置服務和推送消息必須通過用戶受權。
4.新增長了 Photos.framework 框架,這個框架用於與系統內置的 Photo 應用進行交互,不只能夠替代原來的 Assets Library 做爲照片和視頻的選取,還能與 iCloud 照片流進行交互。除此以外,一個很重要的特性是還能夠監聽其餘應用對於照片的改變,能夠說整個框架很是靈活。
5.第三方軟件也能夠經過touchID驗證。(支付寶等)。
6.heatkit框架的推出。健康應用。步數,跑步距離,已爬樓梯,綁定應用後獲取更多健康信息。
7.Spotlight。有時你須要查找一個聯繫人或一款app。Spotlight現能夠爲你提供各類建議,包括來自維基百科條目、周邊地點、熱門新聞以及更多。它甚至聰明到能夠識別背景和地點,爲你提供極其匹配的信息。
iOS 9 適配相關:
2.若是不適配iOS9,就不能偷偷在後臺定位(不帶藍條,見圖)!好消息:將容許出現這種場景:同一App中的多個location manager:一些只能在前臺定位,另外一些可在後臺定位,並可隨時開啓或者關閉特定location manager的後臺定位。若是沒有請求後臺定位的權限,也是能夠在後臺定位的,不過會帶藍條。
3.UIAlertView過時。用UIAlertController 能夠代替其功能。
4.tableView刷新不出來問題。雖然如今的iOS9已經推送正式版了,可是iOS9使用時仍是會感受到App比之前更加卡頓了,tableView拖動時卡頓顯示的最爲明顯。 而且以前遇到一個bug,本來好的項目用xcode7一編譯,tableView刷新出了問題 ,[tableView reloadData]無效 有一行cell明明改變了可是刷新不出來。 感受多是這個方法和某種新加的特性衝突了,猜想多是reloadData的操做被推遲到下一個RunLoop執行最終失效。
解決的方法是,註釋[tableView reloadData],改用局部刷新,問題竟然就解決了。
5.URL scheme
URL scheme通常使用的場景是應用程序有分享或跳其餘平臺受權的功能,分享或受權後再跳回來。
在iOS8並無作過多限制,可是iOS9須要將你要在外部調用的URL scheme列爲白名單,才能夠完成跳轉
若是iOS9沒作適配 會報以下錯誤
具體的解決方案也是要在info.plist中設置LSApplicationQueriesSchemes類型爲數組,下面添加全部你用到的scheme
6. iOS 8自動開啓多點觸控,可是iOS9默認不開啓
在viewdidLoad裏面增長:
self.view.multipleTouchEnabled=YES;
7.IOS9增長了語言後面的地區代碼,中國原來的zh-Hanz變成了zh-Hanz-CN
8. Xcode7打包不了老項目了,報錯bitcode,解決方法,build setting中關閉bitcode,設置enable bitcode爲NO。
9.iOS中部分字體可能有所調整間隙變大,label中顯示不全等問題。
數組