我需要获取唯一设备ID以填充数据库中的唯一用户标识。我已经使用下面的代码来获取它。如何以编程方式从ios7设备获取未更改的设备ID
NSString *strApplicationUUID= [[[UIDevice currentDevice] identifierForVendor] UUIDString];
但是当我重新安装应用程序,该UUID正在改变所有的时间。但据我所知,设备ID从不改变。对于我用下面的代码与第三方SSKeychain
保存和检索旧的UDID:
NSString *Appname = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
NSString *strApplicationUUID = [SSKeychain passwordForService:Appname account:@"manab"];
if (strApplicationUUID == nil)
{
strApplicationUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
[SSKeychain setPassword:strApplicationUUID forService:Appname account:@"manab"];
}
现在的问题是,当该应用程序的版本,然后再次改变即应用2.0格式的应用程序1.0版UDID改变了。所以逻辑清楚地告诉我,我一直没有得到唯一的UDID,我只是把UDID当成供应商或应用程序的基础。
如何通过编程方式获取?有没有其他的方法可以获得,请让我看看正确的方向。
您应该阅读该文章以获取有关UDID的一些信息http://blog.appsfire.com/udid-is-dead-openudid-is-deprecated-long-live-advertisingidentifier/ – MP23
UDID不再可用于iOS 7(苹果一直告诉开发者它已经从iOS 5开始弃用)。如果用户从供应商卸载所有应用程序,然后重新安装它们,则'identifierForVendor'被重置。如果您需要唯一标识用户,则需要使用用户名和密码。 –
嗨机器人猫,你能告诉我如果有人需要识别他的设备,那么他怎么能做到这一点,必须有一个有效的方式,因为... –