什么可以与[UIDevice currentDevice]一起使用?

时间:2011-08-20 00:53:36

标签: ios iphone objective-c uniqueidentifier ipod

[UIDevice currentDevice]有什么用,例如uniqueIdentifier?谢谢!

3 个答案:

答案 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)

UIDevice Class Reference

中描述了与UIDevice对象关联的所有属性和方法

要访问Unique Identifer,您可以执行以下操作:

NSString *identifier = [[UIDevice currentDevice] uniqueIdentifier];