ios6的变更

ios6的变化


在ios6当中,提出了比较多的函数使用方面的问题,使得老的程序,在新的ios6下运行时,会出现很多的告警。不过不要怕,一般来说,新版本的ios提出某些函数放弃了,不再使用了,就说明,你需要修改,以保证可以通过app store的审核。否则的话,情况就不好说了。‘


那么进来编写的项目都涉及到了一些ios6的变化,在这里总结一下。


1、MKReverseGeocoder,在ios5开始就放弃使用了,替换的是CLGeocoder,详细使用请参见前一篇blog。

2、设备UDID被放弃了,因此如果想在ios5以后去获得某个设备的唯一标识,需要使用特定的方法。请参见前一篇文件

3、presentModalViewController和dismissModalViewController两个函数在ios6开始被放弃了。需要使用presentViewController:animated:completion: 和dismissViewcontroller:completion进行替换。但是考虑到,可能会使用到先前版本的ios系统,如ios5,那么可以使用如下方法进行兼容处理。


  1.  if ([self respondsToSelector:@selector(presentViewController:animated:completion:)]) {  
  2.             [self.navigationController presentViewController:mAboutViewController animated:YES completion:nil];  
  3.         }else{  
  4.             [self.navigationController presentModalViewController:mAboutViewController animated:YES];  
  5.         }  

  1. if ([self respondsToSelector:@selector(dismissViewControllerAnimated:completion:)]) {  
  2.             [self dismissViewControllerAnimated:YES completion:nil];  
  3.         }else{  
  4.             [self dismissModalViewControllerAnimated:YES];  
  5.         }