- 定位。蘋果在IOS8里面修改了定位授權協議,也就意味着你原來的app在ios8上很可能無法定位。目前最好的辦法就是在app啟動的時候調用IOS8的定位授權API來獲取用戶的授權,這樣就不要在其他地方做修改了。
if (OSVersion>=8.0) { CLLocationManager *clloc = [[CLLocationManager alloc] init]; [clloc requestAlwaysAuthorization]; }
除了以上的代碼,還需要在app的plist文件里面添加兩個屬性NSLocationAlwaysUsageDescription,NSLocationWhenInUseDescription。這兩個屬性的value你可以自定義也可以不填。
- 消息推送API的修改。原來我們只需要調用registerForRemoteNotificationTypes這個方法就可以了,但是在IOS8中需要先配置然后再注冊,也就是先調用registerUserNotificationSettings然后在調用registerForRemoteNotificationTypes方法。
if(OSVersion>=8.0){//8.0以后使用這種方法來注冊推送通知 UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:settings]; UIRemoteNotificationType myTypes = UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound; [[UIApplication sharedApplication] registerForRemoteNotificationTypes:myTypes]; }else{ [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeBadge)]; }
- 在IOS8以前蘋果允許我們為某個自定義的類添加description屬性,但是在IOS8以后就不可以了。只能通過重寫description的get方法來達到原來的目的了。