Как обойти критическую проблему для библиотеки keychain-swift?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Как обойти критическую проблему для библиотеки keychain-swift?

Сообщение Anonymous »

На официальном сайте библиотеки github для библиотеки keychain-swift есть заявление:
[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)
}
}
И у меня есть еще один класс Devicer, где я его использую:

Код: Выделить всё

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
}
}
Мне нужно сохранить ОДИН ПОСТОЯННЫЙ идентификатор устройства на протяжении всей жизни приложения на устройстве. Но время от времени оно меняется. Каждые пару дней decode возвращает ноль, но этого не должно быть, потому что существует значение, отличное от нуля. Поскольку он возвращает ноль (не должен), создается новый идентификатор устройства, который сохраняется как идентификатор устройства.
Как создать для этого обходной путь?

Подробнее здесь: https://stackoverflow.com/questions/791 ... ft-library
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»