0

我知道以前有人问过这个问题,但我发现有一些不清楚/未解决的问题,还有一些更新,我想为我和其他人订购。

由于每个应用程序都需要一个唯一的 id,以便服务器可以识别它,我们曾经拥有UDIDwhich is now deprecate

我找到了 4 种其他方法来做到这一点,但是它们存在一些问题,我们不想冒险。

  1. NSString *UD= [UIDevice currentDevice].identifierForVendor.UUIDString ;

我在这里读到,有时您可以在创建此号码时获得 0000 .. 因为苹果对那些在空中更新 ios 的人有一些错误。(苹果证实)另一件事-有advertisingIdentifier-更好吗?

2.

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

这种方式创建一个唯一的 id ,我可以将它保存NSUserDefaults并使用它。但是,如果一个人删除了他的应用程序,我们就有问题了。另外,我听说这个在 6 下的其他 iOS 也有一些问题?

3 MAC adress与第三方类,我已经阅读了 - 也有 ios 兼容性问题,

因此,归根结底,是否有一种通用的方法来获取始终适用于每个 ios 的 id?

4

1 回答 1

0

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

使用方法2,创建一个uniqueIDCFUUIDRef很好,但是你不能保存它,NSUserdefaults因为卸载会删除它!

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

SFHFKeychainUtils storeUserName: andPassword: forServiceName:
于 2013-03-25T08:16:37.400 回答