我正在使用以下代碼獲取UUID。在iOS版本10.2的相同設備上獲取不同的UUID
-(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 5s,但獲得一些時間不同的UUID。 我認爲每當我重新安裝相同的應用程序時,它應該是相同的。 請幫幫我。
[[NSUUID UUID] UUIDString];每次調用時都會生成唯一的ID,並且它不是特定於iOS的。 – Arasuvel
爲什麼要將它保存到鑰匙串中?您只需將鑰匙串保存一次,然後下一次只需要檢索。無需每次更新鑰匙串。 – Poles
我沒有看到你的代碼有什麼問題。是否有可能從使用本地鑰匙串切換到雲鑰匙串? – Sulthan