Я использую следующий метод в течение месяца без проблем. Идентификатор устройства остался прежним даже после удалений приложения. Недавно я заметил, что мой идентификатор устройства изменился. Недавно я делал много сборок приложения на Xcode6. Может ли это быть причиной? Хотел бы я точно знать, когда он изменился. Это застало меня врасплох. У меня есть что беспокоиться о том, когда приложение входит в магазин приложений? Может быть, это просто проблема сборки Xcode? Я просто ищу простой способ гарантировать уникальный идентификатор устройства. Я бы использовал рекламуIdentifer, но я слышал, как использовать ее для других целей, тогда реклама будет отвергнута магазином приложений. Вот код:Почему изменился мой уникальный идентификатор устройства?
+ (NSString *)getUserID
{
NSString *Appname = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"];
NSString *retrieveuuid = [SSKeychain passwordForService:Appname account:@"user"];
if(retrieveuuid == NULL)
{
CFUUIDRef newUniqueId = CFUUIDCreate(kCFAllocatorDefault);
retrieveuuid = (__bridge_transfer NSString*)CFUUIDCreateString(kCFAllocatorDefault, newUniqueId);
CFRelease(newUniqueId);
[SSKeychain setPassword:retrieveuuid forService:Appname account:@"user"];
}
NSLog(@"%@", retrieveuuid);
return retrieveuuid;
}
Как заметка на полях: а Бетт er для использования будет '- [UIDevice identifierForVendor]'. См. [Документы] (https://developer.apple.com/library/iOS/documentation/UIKit/Reference/UIDevice_Class/index.html#//apple_ref/occ/instp/UIDevice/identifierForVendor). – ravron
Возможно, вы перезагрузили устройство. – holex
@ Насколько мне известно, идентификатор ForVendor изменится, если они удалили все мои приложения. Я не хочу, чтобы ID когда-либо менялся, когда они удаляли мое приложение. – user4233467