3

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

谢谢你。

4

4 回答 4

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];
}

编辑:有关更多信息和可供您使用的选项,请查看这篇精彩的文章

于 2013-09-24T16:57:37.700 回答
2

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

NSUUID*   pUUID;
UIDevice* pThisDvc;

pThisDvc = [UIDevice currentDevice];
if ( pThisDvc )
{
    pUUID = [pThisDvc identifierForVendor];
}
于 2013-09-24T17:07:58.427 回答
1
NSUUID* identifier = [[UIDevice currentDevice] identifierForVendor];

NSString* uniqueIdentifier = [identifier UUIDString];

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

在实现用于提供广告的系统时,使用 ASIdentifierManager 类的 adsIdentifier 属性中的值而不是此属性。使用该属性要求您遵循课堂讨论中规定的指导方针,以正确使用该标识符。有关详细信息,请参阅 ASIdentifierManager 类参考。

...从这里

于 2013-09-24T17:12:21.477 回答
1

考虑看看这个开源计划,为 iOS 提供通用且持久的 UDID 解决方案

于 2013-09-24T17:07:37.223 回答