应用的唯一ID

时间:2013-03-25 07:39:42

标签: objective-c

我知道之前曾问过这个问题,但我发现有一些不明确/未知的问题,以及一些更新,我想为我和其他人订购。

由于每个应用都需要具有唯一ID,因此服务器可以识别它,我们曾经拥有UDID,现在是deprecate

我已经找到了其他四种方法,但是有一些问题,我们不想承担风险。

  1. NSString *UD= [UIDevice currentDevice].identifierForVendor.UUIDString ;
  2. 我在这里读过,有时你可以在创建这个号码时获得0000 ..因为苹果对于那些更新ios的人来说有一些错误。 (苹果证实了这一点) 另一件事 - 有advertisingIdentifier - 它更好吗?

    2

    CFUUIDRef uuidObject = CFUUIDCreate(kCFAllocatorDefault);
    NSString *uuidStr = ( NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject);
    

    这样创建一个唯一的ID,我可以将其保存到NSUserDefaults并使用它。 但是,如果要删除他的应用程序,我们就会遇到问题。另外,我听说过这个还有其他iOS 6以下的问题吗?

    3  我读过的第三方类MAC adress也有ios兼容性问题,

    所以在底线,是否有一种常见的方式来获取一个始终为每个ios工作的id?

1 个答案:

答案 0 :(得分:0)

好了经过这么多的研究,我想我发现了一些组合,可以提供最好的方法。 如果我错了,请纠正我。

使用方法2,使用CFUUIDRef创建唯一ID非常棒,但您无法将其保存到NSUserdefaults,因为卸载会将其删除!

因此,我们可以将它保存到钥匙串中,并将其永久存在,例如:

SFHFKeychainUtils storeUserName: andPassword: forServiceName: