如何检查iOS SDK弃用方法是否不再有效或可用?

Ala*_*lan 2 deprecated ios

在iOS5中Apple已经弃用了[UIDevice uniqueIdentifier](请参阅http://techcrunch.com/2011/08/19/apple-ios-5-phasing-out-udid/)

它目前仍然有效,但显然我们想要迁移我们的应用程序使用它.我们不能放弃冷火鸡,但是我们正在推出一种迁移策略来保留用户数据而不将其绑定到实际的物理设备(我们滥用设备UDID的唯一原因).

这个Stack Question是使用UDID的绝佳选择.所以我有一个新的UDID要使用.

我担心那些不打算升级我们的应用程序的用户,并最终更新他们的iOS版本,以致不再使用已弃用的电话.我们的代码假设uniqueIdentfier调用保证始终"工作".

如何检查uniqueIdentifier调用是否成功,以及是否未使用上述问题中提供的备用UDID?

我可以检查UIDevice是否响应选择器?我可以检查零UDID吗?

djr*_*ero 6

你可以respondsToSelector:照常检查.我已经使用在iOS 3.1删除的选择器验证了它:

#import <MediaPlayer/MediaPlayer.h>
...
MPMoviePlayerController *mc = [[MPMoviePlayerController alloc] initWithContentURL:nil];
if ([mc respondsToSelector:@selector(backgroundColor)]) {
    NSLog(@"YES");
} else {
    NSLog(@"NO"); /* under iOS 5 it goes here */
}
...
Run Code Online (Sandbox Code Playgroud)