在iOS5中Apple拒绝使用[UIDevice uniqueIdentifier]
(请参阅此处http://techcrunch.com/2011/08/19/apple-ios-5-phasing-out-udid/)
它目前仍然有效,但显然我们想要迁移我们的应用程序。我们不能放弃冷火鸡,但我们正在推出一种迁移策略来保留用户数据而不将其绑定到实际的物理设备(我们滥用设备UDID的唯一原因)。
This Stack Question gives a great alternative to using the UDID.所以我有一个新的UDID可供使用。
我很关心那些不打算升级我们的应用程序的用户,并最终更新他们的iOS版本,以致不推荐的调用不再有效。我们的代码假设uniqueIdentfier调用保证始终“工作”。
如何检查uniqueIdentifier调用是否成功,以及是否未使用上述问题中提供的替代UDID?
我可以检查UIDevice是否响应选择器?我可以检查零UDID吗?
答案 0 :(得分:6)
您可以照常使用respondsToSelector:
进行检查。我已使用removed in 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 */
}
...