如何从设备制作唯一标识符?

时间:2013-09-24 16:56:27

标签: ios objective-c

我只是想知道Apple设备(iPod Touch,iPhone或iPad)可以在服务器上使用和存储什么来制作唯一标识符?比如IMEI或其他东西......我只需要一些独特的东西,这样我的应用程序就可以“从同一设备”验证一次。

谢谢。

4 个答案:

答案 0 :(得分:7)

您可以使用NSUUID。但是,这会发生变化,因此您可以在应用程序第一次打开并保存时通过调用它来实现它。

    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
{
        //App has previously launched

}
else
{
    //First launch
    NSString *identifierString = [[NSUUID UUID] UUIDString];
    [[NSUserDefaults standardUserDefaults] setObject:identifierString forKey:@"uuidKey"];

    [[NSUserDefaults standardUserDefaults] synchronize];
}

修改:了解更多信息以及您可以使用的选项,check out this great article

答案 1 :(得分:2)

如果您在iOS 6.0或更高版本上运行,则可以使用identifierForVendor中的UIDevice

NSUUID*   pUUID;
UIDevice* pThisDvc;

pThisDvc = [UIDevice currentDevice];
if ( pThisDvc )
{
    pUUID = [pThisDvc identifierForVendor];
}

答案 2 :(得分:1)

答案 3 :(得分:1)

NSUUID* identifier = [[UIDevice currentDevice] identifierForVendor];

NSString* uniqueIdentifier = [identifier UUIDString];

这将返回当前设备的唯一标识符,该标识符对每个应用程序都是唯一的。 Apple建议将其用于一般用途,并advertisingIdentifier用于广告目的。

  

在实施用于投放广告的系统时,请使用该值   在ASIdentifierManager类的advertisingIdentifier属性中   而不是这个属性。使用该属性需要您遵循   在课堂讨论中提出的正确使用的准则   那个标识符。有关更多信息,请参阅ASIdentifierManager类   参考

...来自here