2013-04-17 45 views
0

我目前正在开发一组iOS应用程序,这些应用程序将使用同一台服务器进行身份验证。服务器使用UDID进行设备验证。我知道uniqueIdentifier现在已被弃用,所以我想知道跨应用程序拥有唯一标识符的最佳做法是什么? (我知道如何生成我自己,并将其存储在钥匙串,但这将是专用),我已经看到了关于identifierForVendor和identifierForAdvertising跨应用程序的唯一iOS设备ID

帖子
+0

请看看http://stackoverflow.com/questions/6993325/uidevice-uniqueidentifier-deprecated-what-to-do-now – nkongara

回答

1

文档说:

弃用[uniqueIdentifier是] iOS 5.0。根据需要使用此类的identifierForVendor属性或ASIdentifierManager类的advertisingIdentifier属性,或者使用NSUUID类的UUID方法创建UUID并将其写入用户默认数据库。

1

我们知道唯一标识符中的iOS 5.0已经过时这样的文档建议您使用CFUUID

代替。 可以使用

CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault); 
NSString *uuidString = (NSString *)CFUUIDCreateString(NULL,uuidRef); 
CFRelease(uuidRef); 

请保存uuidString在用户违约或在其他地方获得CFUUID,因为你不能再生成相同的uuidString。

希望它可以帮助你。

+0

谢谢是的,我知道如何创建一个新的UUID字符串,但如果我' m没有错误的用户默认值不能通过应用程序访问,对吗?所以每个应用程序都会有一个不同的UUID,它不适合我在这种情况下要完成的任务。 – jrushing

+0

@JustinRushing那你为什么拒绝钥匙扣解决方案? – matt

+0

如果您需要访问多个应用程序,则可以将UUID存储在钥匙串中。这不应该成为你的问题。 –