Я создаю приложение для iOS, в котором есть опция, где пользователь может оставить свой отзыв о приложении. Я хочу знать, что если один и тот же пользователь использует приложение с разными учетными записями для входа в систему на одном и том же устройстве и отправляет отзыв.
Но поскольку UDID устарел или его привилегия утрачена, UUID также изменяется для переустановки приложенияот того же производителя, так что это лучший способ добиться уникальности устройства iPhone.
Я также сгенерировал пользовательский UUID и сохранил его в связку ключей и извлекать его, он работает нормально, но это оптимизированное решение. ? Я использую класс keychainWrapper
private func generateUuid() -> String {
let uuidRef: CFUUID = CFUUIDCreate(nil)
let uuidStringRef: CFString = CFUUIDCreateString(nil, uuidRef)
return uuidStringRef as String
}
private func identifyUniqueDevice() {
let UNIQUE_KEY = "mySuperDuperUniqueId"
let uniqueDeviceId: String? = KeychainWrapper.standard.string(forKey: UNIQUE_KEY)
guard uniqueDeviceId != nil else {
let uuid = generateUuid()
let saveSuccessful: Bool = KeychainWrapper.standard.set(uuid, forKey: UNIQUE_KEY)
if saveSuccessful {
print(uniqueDeviceId)
} else {
fatalError("Unable to save uuid")
}
return
}
}