iOS7 Release Note提到的一些變更

iOS7 Release Note提到的一些變更


看了Beta版的iOS SDK Release Notes for iOS7.0之後,整理了些對日常工作有點關係的部分內容。


1.網絡

iOS7開始,如果Wifi連接不通的時候,會自動切換成蜂窩網絡進行聯網!

iOS7之前,如果手機有連上一個Wifi網絡,手機是絕對不可能使用蜂窩網絡進行聯網的。但以後就會發生改變,所以對於鎮內用戶,請記得關注你的流量,有可能你以爲你在用Wifi,實際上你的流量已經不知不覺飈上去了。

對於開發者而言,以往在下載大流量資源之前,使用SCNetworkReachability等方式判斷當前網絡制式的方式也不再奏效,因爲下載的過程中,網絡模式是有可能發生切換的!

解決方案是,iOS7之後,可以使用如下方法來禁止使用蜂窩網絡。

-[NSURLRequest setAllowsCellularAccess:false]


2.剪貼板UIPasteboard

UIPasteboard最初被設計就是用於開發者的一組應用間的數據共享,當實際上iOS7之前的UIPasteboard只要應用知道其名字,即可訪問其中的內容,而OpenUDID的實現方式也依賴於此,讓開發者能使用一組UUID來標記一個設備。

iOS7之後,+[UIPasteboard pasteboardWithName:create:]+[UIPasteboard pasteboardWithUniqueName]這兩個方法產生的UIPasteboard僅供同組應用之間共享數據,也就是Info.plistCFBundleIdentifier字段的前兩段標識(例如com.yourcompany.xxcom.yourcompany)相同的應用才能相互共享數據。不同組應用之間相同名字的UIPasteboard是不同的,而不是以前的同一個。

所以當前版本的OpenUDID隨着iOS7的出現也將慢慢失去其效用。

3.設備唯一識別符相關

自從蘋果從iOS5開始廢棄UDID的使用,到20135月禁止UDID的使用之後,iOS7中在對外公開的API中正式移除了-[UIDevice uniqueIdentifier]的方法!

同樣,從iOS7開始,通過sysctlioctl兩個方法取得網卡地址將是固定的02:00:00:00:00:00,而不是真實的網卡地址!

此外,舊有的已上架的應用程序如果調用-[UIDevice uniqueIdentifier]方法,將得到如下值:以FFFFFFFF開頭,後面跟上-[UIDevice identifierForVender]的返回值。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章