[UIDevice currentDevice]
有什么用,例如uniqueIdentifier?谢谢!
答案 0 :(得分:5)
因为现在这已经过时了,所以我只是给出了最新答案。
因为Apple
已经适合阻止开发人员使用[[UIDevice currentDevice] uniqueIdentifier];
之后的iOS 6
Suhail Patels
回答要使用的建议。他们现在已经开始告诉开发人员使用[[UIDevice currentDevice] identifierForVendor];
,但是一些开发人员对于他们是否仍然被允许使用uniqueIdentifier
感到困惑,即使他们仍然在为iOS 5
及以下开发。 Apple
对此只是说有点挑剔:
"Apps that use the `UDID` will be rejected in the App Store review process.."
来吧Apple
给我们一些细节。
无论如何由于这背后的混乱,一些开发人员已开始使用OpenUDID来获取唯一标识符。以下是一些如何使用它的代码:
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
// Use: [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
// Use: [OpenUDID value];
}
修改强>
由于UDID
已被弃用,一些开发人员现在也认为适合开始使用MAC地址。这是因为MAC地址是基于硬件的,因此无法更改。对于那些使用MAC地址方式的人来说,apple已在Getting MAC Address上提供了一些示例代码。
答案 1 :(得分:3)
对于iOS 5,您可以使用以下方法创建一个新的但不唯一的标识符:
CFUUIDRef UIID = CFUUIDCreate(NULL);
CFStringRef UIIDString = (CFUUIDCreateString(NULL, UIID));
NSString *string = [NSString stringWithFormat:@"%@",UIIDString];
将其保存在文件中,并将其用作唯一标识符
答案 2 :(得分:2)
要访问Unique Identifer,您可以执行以下操作:
NSString *identifier = [[UIDevice currentDevice] uniqueIdentifier];