Как предотвратить включение данных цепочки ключей в процесс резервного копирования и восстановления устройств при использовании KeychainSwift?

#ios #swift #backup #restore #keychain

#iOS #swift #резервное копирование #восстановить #связка ключей

Вопрос:

Я использую KeychainSwift для сохранения своих данных в keychain, моя проблема в том, что при резервном копировании и восстановлении моего приложения, от Device A до Device B , эти данные из Keychain были включены в передачу.

Вопрос в том, как я могу предотвратить это и сделать так, чтобы моя цепочка ключей оставалась только включенной Device A ?

Это мой код для сохранения данных в цепочке ключей

 import KeychainSwift

class ExampleViewController: UIViewController {
    let keychain = KeychainSwift(keyPrefix: "some_key")

    override func viewDidLoad() {
        keychain.set("some_data", forKey: "thisDeviceOnly")
    }
}
 

Ответ №1:

Вы должны использовать параметр withAccess для метода set

Возможные значения вы можете посмотреть на официальном keychainswift github здесь https://github.com/evgenyneu/keychain-swift/blob/master/Sources/KeychainSwiftAccessOptions.swift

Вам нужно какое-то значение доступа с этим устройством, чтобы оно не синхронизировалось на устройствах.