这可能是一个有点转储的问题,但是面对 iOS6 中的所有贬值,您如何处理向后兼容性?我目前不确定如何自己处理它们。
例子:
UITextAlignment
已弃用,但使用 NSTextAlignment
将无法在使用 iOS 5 及更早版本的设备上运行
dismissModalViewControllerAnimated:
也已弃用,取而代之的是 dismissViewControllerAnimated: completion:
那么,如何才能/应该如何保持与旧 iOS 版本的兼容性?有没有办法在 XCode 4.5 模拟器中测试旧版本?
感谢您的任何建议!
最佳答案
要在您的代码中获取所有已弃用的方法,只需将您的应用程序的部署目标设置为 iOS 6.0,然后编译您的代码,然后您将收到每个已弃用方法的警告。
为了解决弃用问题,请使用以下其中一项:
1-
float systemVersion = [[[UIDevice currentDevice]systemVersion]floatValue];
if(systemVersion < 6.0)
{
calendarArray = [self.eventStore calendars];
}
else
{
calendarArray = [self.eventStore calendarsForEntityType:EKEntityTypeEvent];
}
2- 使用 respondToSelecter
方法来检测对象是否响应此类选择器。
关于iphone - 如何应对所有贬值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608284/