-
定位。苹果在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方法来达到原来的目的了。
相关文章
- 使用IDEA和MAVEN构件项目时遇到的标记源代码根目录问题
- iOS 使用XCode6打开项目以后再用XCode5出现的问题fatal error: malformed or corrupted AST file: 'Unable to load module
- Dynamics CRM:Word Template Feature 的使用和实际遇到问题解决方案
- Git和Gitlab在使用过程中所遇到的问题
- 使用Xcode6和IOS8SDK以后遇到的问题
- UIKit和Cocos2d-x的整合使用;设置CCEAGLView背景为透明,来显示背后的UIView; 以及整合中遇到的问题的解决方案
- 使用quartus和NIOS过程中遇到的问题和解决方法
- 2016 cocoapods的安装和使用以及版本升级遇到的问题
- WIN10安装和使用MySql5.6中遇到的一些问题与解决
- 详解2016 cocoapods的安装和使用以及版本升级遇到的问题