我知道之前曾问过这个问题,但我发现有一些不明确/未知的问题,以及一些更新,我想为我和其他人订购。
由于每个应用都需要具有唯一ID,因此服务器可以识别它,我们曾经拥有UDID
,现在是deprecate
。
我已经找到了其他四种方法,但是有一些问题,我们不想承担风险。
NSString *UD= [UIDevice currentDevice].identifierForVendor.UUIDString ;
我在这里读过,有时你可以在创建这个号码时获得0000 ..因为苹果对于那些更新ios的人来说有一些错误。 (苹果证实了这一点)
另一件事 - 有advertisingIdentifier
- 它更好吗?
2
CFUUIDRef uuidObject = CFUUIDCreate(kCFAllocatorDefault);
NSString *uuidStr = ( NSString *)CFUUIDCreateString(kCFAllocatorDefault, uuidObject);
这样创建一个唯一的ID,我可以将其保存到NSUserDefaults
并使用它。
但是,如果要删除他的应用程序,我们就会遇到问题。另外,我听说过这个还有其他iOS 6以下的问题吗?
3
我读过的第三方类MAC adress
也有ios兼容性问题,
所以在底线,是否有一种常见的方式来获取一个始终为每个ios工作的id?
答案 0 :(得分:0)
好了经过这么多的研究,我想我发现了一些组合,可以提供最好的方法。 如果我错了,请纠正我。
使用方法2,使用CFUUIDRef
创建唯一ID非常棒,但您无法将其保存到NSUserdefaults
,因为卸载会将其删除!
因此,我们可以将它保存到钥匙串中,并将其永久存在,例如:
SFHFKeychainUtils storeUserName: andPassword: forServiceName: