·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> 使用Xcode6和IOS8SDK以后遇到的问题

使用Xcode6和IOS8SDK以后遇到的问题

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23
  1. 定位。苹果在IOS8里面修改了定位授权协议,也就意味着你原来的app在ios8上很可能无法定位。目前最好的办法就是在app启动的时候调用IOS8的定位授权API来获取用户的授权,这样就不要在其他地方做修改了。
     if (OSVersion>=8.0) {
            CLLocationManager *clloc = [[CLLocationManager alloc] init];
            [clloc requestAlwaysAuthorization];
     }

     除了以上的代码,还需要在app的plist文件里面添加两个属性NSLocationAlwaysUsageDescription,NSLocationWhenInUseDescription。这两个属性的value你可以自定义也可以不填。

  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方法来达到原来的目的了。