我有一个关于uniqueIdentifier和identifierforVendor的问题。我们将UDID用于登录识别目的,并且我们正在切换到forVendor的新iOS 6版本...
我的问题是: 1)苹果拒绝了仍在使用uniqueIdentifier的应用程序吗? 2)既然他们不允许第一代ipads升级到6.0,他们怎么能拒绝呢?
PS -还发现identifierforVendor并不总是在6.0中工作,看起来它在6.0.1中得到了解决
这是我使用的代码...你认为它会被拒绝吗?
static inline NSString* UniqueDeviceId() {
if ([[[UIDevice currentDevice] systemVersion] compare:@"6.0.1" options:NSNumericSearch] != NSOrderedAscending)
return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
return [[UIDevice currentDevice] uniqueIdentifier];
}谢谢
发布于 2012-11-07 06:04:04
虽然我不能代表苹果评审团发言。只要你的应用程序支持一个没有选择的iOS版本,你就不太可能因为使用这个废弃的应用程序接口而被拒绝。
我将更新您的代码以正确检查新方法:
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
return [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
return [[UIDevice currentDevice] uniqueIdentifier];
}发布于 2013-05-09 19:20:47
现在App不允许访问UDID,也不能使用UIDevice的uniqueIdentifier方法。请更新您的应用程序和服务器以将用户与iOS 6中引入的供应商或广告标识符相关联
NSUUID *uuid = [[UIDevice currentDevice] identifierForVendor];
NSString *uuidString = [uuid UUIDString];并且必须添加ADSupport框架
https://stackoverflow.com/questions/13260057
复制相似问题