使用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你可以自定義也可以不填。

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM