使用Xcode6和IOS8SDK之後遇到的問題

  1. 定位。蘋果在IOS8裏面修改了定位受權協議,也就意味着你原來的app在ios8上極可能沒法定位。目前最好的辦法就是在app啓動的時候調用IOS8的定位受權API來獲取用戶的受權,這樣就不要在其餘地方作修改了。
     if (OSVersion>=8.0) {
            CLLocationManager *clloc = [[CLLocationManager alloc] init];
            [clloc requestAlwaysAuthorization];
     }

     除了以上的代碼,還須要在app的plist文件裏面添加兩個屬性NSLocationAlwaysUsageDescription,NSLocationWhenInUseDescription。這兩個屬性的value你能夠自定義也能夠不填。ios

  2. 消息推送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)];
    }

     

  3. 在IOS8之前蘋果容許咱們爲某個自定義的類添加description屬性,可是在IOS8之後就不能夠了。只能經過重寫description的get方法來達到原來的目的了。
相關文章
相關標籤/搜索