我需要獲取唯一設備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'被重置。如果您需要唯一標識用戶,則需要使用用戶名和密碼。 –
嗨機器人貓,你能告訴我如果有人需要識別他的設備,那麼他怎麼能做到這一點,必須有一個有效的方式,因爲... –