Почему мой уникальный идентификатор устройства изменился?

Я использую следующий метод в течение месяца без проблем. Идентификатор устройства не изменился даже после удаления приложения. Недавно я заметил, что мой идентификатор устройства изменился. В последнее время я много раз собирал приложения на Xcode6. Может ли это быть причиной? Я хотел бы знать точно, когда это изменилось. Это застало меня врасплох. Мне есть о чем беспокоиться, когда приложение поступит в магазин приложений? Может быть, это проблема сборки Xcode? Я просто ищу простой способ гарантировать уникальный идентификатор устройства. Я бы использовал AdvertisingIdentifer, но я слышал, что я использую его для других целей, тогда реклама будет отклонена магазином приложений. Вот код:

+ (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 ответ

Решение

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

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

Постоянный UDID-эквивалент для iOS 7?

UIDevice uniqueIdentifier устарел - что теперь делать?

iOS уникальный идентификатор пользователя

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

Другие вопросы по тегам