大家好,从2013年5月1日开始,使用UDID的读取应用将不被接受。我们需要使用iOS 6的identifierForVendor来获取唯一标识符。但是,如果我们能将最低部署目标设置为4.3吗?如果设备仍在运行iOS 4.3或5.0,我们如何处理UDID,因为identifierForVendor仅适用于iOS 6?这是否意味着我们要使用MAC地址的哈希值作为唯一标识符?那样会支持所有iOS版本吗?
您可以使用CFUUID生成一个UUID。然后在第一次启动时将其存储在KEYCHAIN中。您可以像这样获取它...
NSString *uuid = nil;
CFUUIDRef theUUID = CFUUIDCreate(kCFAllocatorDefault);
if (theUUID)
{
uuid = NSMakeCollectable(CFUUIDCreateString(kCFAllocatorDefault, theUUID));
[uuid autorelease];
CFRelease(theUUID);
}
[[UIDevice currentDevice] uniqueIdentifier]
(请参见TankViewController.m
)。实际上,它使用iphoneos3.0作为基本SDK。我记不起苹果公司曾经如此不合理过。 - A-Live