在適配iOS8過程中,碰到了一些坑,通過查詢資料解決了,而且在過程中也發現了其他的一些需要注意的地方,全都總結出來,也讓後來的做iOS8適配的笛子們注意一下。
根據蘋果的新API,有如下的幾個變化:
1.有一些API被放棄了,包括
*UIApplication中用於註冊推送的方法被放棄,需要使用新的方法.從過去的 registerForRemoteNotificationTypes:變爲新的 UI
- (void)registerUserNotificationSettings:(UserNotificationSettings *)notificationSettings ;
*UIViewController類中表示方向的方法和屬性被放棄,改爲使用traits和size classes;
*UISearchDisplayController 類被 UISearchController替代;
*GameKit中使用player identifier的方法和屬性被放棄。
2.CLLocationManager的使用方法改變。若要在iOS8中使用該方法,則需要首先在info.plist中增加兩個鍵NSLocationWhenInUseUsageDescription, NSLocationWhenInUseUsageDescription,至於兩個鍵所對應的值都是NSString類型,可以按照需求進行填寫;第二在使用定位功能之前需要先調用請求使用定位功能的方法requestWhenInUseAuthorization 或 requestAlwaysAuthorization。
3.UITableViewCell的層級發生改變。在iOS7中變爲三層的Cell層級在iOS8中再次變爲兩層。
4.UIActionSheet和UIAlertView進行了升級,支持使用block的方式進行回調。