使用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方法来达到原来的目的了。
相关文章
相关标签/搜索