在适配iOS8过程中,碰到了一些坑,通过查询资料解决了,而且在过程中也发现了其他的一些需要注意的地方,全都总结出来,也让后来的做iOS8适配的笛子们注意一下。
根据苹果的新API,有如下的几个变化:
1.有一些API被放弃了,包括
*UIApplication中用于注册推送的方法被放弃,需要使用新的方法.从过去的 registerForRemoteNotificationTypes:变为新的 UI
- (void)registerUserNotificationSettings:(UserNotificationSettings *)notificationSettings ;
*UIViewController类中表示方向的方法和属性被放弃,改为使用traits和size classes;
*UISearchDisplayController 类被 UISearchController替代;
*GameKit中使用player identifier的方法和属性被放弃。
2.CLLocationManager的使用方法改变。若要在iOS8中使用该方法,则需要首先在info.plist中增加两个键NSLocationWhenInUseUsageDescription, NSLocationWhenInUseUsageDescription,至于两个键所对应的值都是NSString类型,可以按照需求进行填写;第二在使用定位功能之前需要先调用请求使用定位功能的方法requestWhenInUseAuthorization 或 requestAlwaysAuthorization。
3.UITableViewCell的层级发生改变。在iOS7中变为三层的Cell层级在iOS8中再次变为两层。
4.UIActionSheet和UIAlertView进行了升级,支持使用block的方式进行回调。