Я использую ниже код для получения UUID.Получение разного UUID на том же устройстве с версией iOS 10.2
-(NSString *)updateUserPhoneDetails{
NSString *retrieveuuid = [SSKeychain passwordForService:@"com.testUser" account:@"testUser"];
NSString *uniqueID;
if (retrieveuuid == nil) {
NSString *uuid = [[NSUUID UUID] UUIDString];
uniqueID=[uuid stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSLog(@"Create new uuid : %@",uniqueID);
//Store the password in Keychain
NSError *error = nil;
[SSKeychain setPassword:uuid forService:@"com.testUser" account:@"testUser" error:&error];
}else{
uniqueID=[retrieveuuid stringByReplacingOccurrencesOfString:@"-" withString:@""];
NSLog(@"uniqueID : %@",uniqueID);
}
return uniqueID;
}
Приведенный выше код работает отлично до iOS 10.0. Я тестировал в iPhone 7, iPhone 5, но получаю некоторое время по разному UUID. Я думаю, что он должен быть таким же в каждый момент, когда я переустанавливаю одно приложение. Пожалуйста, помогите мне.
[[NSUUID UUID] UUIDString]; будет генерировать уникальный идентификатор каждый раз, когда это вызвано, и это не относится к iOS. – Arasuvel
Почему это важно, если вы сохраняете его в брелок? Вы просто сохраняете в цепочке ключей один раз и в следующий раз, когда вам нужно только восстановить. Нет необходимости обновлять цепочку ключей каждый раз. – Poles
Я не вижу ничего плохого в вашем коде. Возможно ли, что кто-то переключился с использования локальной брелка на облачный брелок? – Sulthan