[img]https://i.sstatic. net/O9XryXy1.png[/img]
У меня есть простой класс для декодирования и кодирования значений из цепочки для ключей:
Код: Выделить всё
class Keychain: Keychainable {
private let keychain: KeychainSwift
init(keychain: KeychainSwift) {
self.keychain = keychain
}
func encode(value: String, forKey key: String) {
keychain.set(value, forKey: key)
}
func decode(forKey key: String) -> String? {
var returnValue: String?
for _ in 1...3 {
if let value = keychain.get(key) {
returnValue = value
} // ❌ my current non working workaround
}
return returnValue
}
func delete(forKey key: String) {
keychain.delete(key)
}
}
Код: Выделить всё
class Devicer: Devicable {
private let device: UIDevice
private let keychain: Keychainable
var deviceIdentifier: String {
guard let identifier = keychain.decode(forKey: "did") else {
let uuid = device.identifierForVendor!.uuidString
keychain.encode(value: uuid, forKey: "did")
return uuid
}
return identifier
}
}
Как создать для этого обходной путь?
Подробнее здесь: https://stackoverflow.com/questions/791 ... ft-library