2014-12-03 4 views
1

Я использую следующий метод в течение месяца без проблем. Идентификатор устройства остался прежним даже после удалений приложения. Недавно я заметил, что мой идентификатор устройства изменился. Недавно я делал много сборок приложения на 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; 
} 
+1

Как заметка на полях: а Бетт er для использования будет '- [UIDevice identifierForVendor]'. См. [Документы] (https://developer.apple.com/library/iOS/documentation/UIKit/Reference/UIDevice_Class/index.html#//apple_ref/occ/instp/UIDevice/identifierForVendor). – ravron

+0

Возможно, вы перезагрузили устройство. – holex

+0

@ Насколько мне известно, идентификатор ForVendor изменится, если они удалили все мои приложения. Я не хочу, чтобы ID когда-либо менялся, когда они удаляли мое приложение. – user4233467

ответ

3

Уникальный идентификатор устройства не сохраняется, это было предложено много раз, и вы должны найти хорошую информацию о здесь. Быстрый поиск Google вызывает следующее.

https://stackoverflow.com/search?q=iOS+UDID+replacement

Persistent UDID equivalent for iOS 7?

UIDevice uniqueIdentifier Deprecated - What To Do Now?

iOS unique user identifier

общий совет использовать CFUUID, чтобы создать свой собственный UUID, затем сохраняются его в keychain

+0

Разве это не то, что мой метод делает? : S – user4233467

Смежные вопросы