Данные связки ключей iOS потеряны из-за нехватки памяти iPhone?

Я запускаю приложение iOS через отладчик на своем iPhone 5s. Я использую связку ключей для хранения пароля (я использую пример KeychainItemWrapper от Apple для хранения и извлечения элементов цепочки для ключей). Примерно в 99,99% случаев извлечение связки ключей работает идеально. Однако было два случая, когда мое приложение не могло получить пароль. Например, однажды в моем телефоне возникла нехватка памяти, и мне пришлось перезагрузить телефон и перезапустить приложение. После перезапуска приложения мое приложение больше не могло получить пароль из цепочки для ключей. Интересно, была ли эта потеря пароля вызвана нехваткой памяти? В каких еще случаях iOS очищает данные связки ключей? Есть ли способ представить это??


person ayl    schedule 30.05.2014    source источник
comment
Данные связки ключей никогда не удаляются автоматически, это должно быть явное действие. Это можно сделать либо восстановив устройство, либо удалив значение самостоятельно. Если нет ни того, ни другого, убедитесь, что ваш поисковый запрос может найти значение.   -  person WDUK    schedule 30.05.2014


Ответы (2)


Связка ключей iOS никак не связана с нехваткой памяти вашего приложения.

Тут может быть 2 сценария:

  1. Каким-то образом вы перезагрузили свой телефон - данные связки ключей будут потеряны (если ваша связка ключей не синхронизирована с icloud).
  2. Вы каким-то образом позвонили resetKeychainItem из своего оболочка.

Не могу помочь больше, не взглянув на ваш код.

person Aditya Sinha    schedule 30.05.2014

Вероятно, вы не могли найти временное значение, как вы можете видеть в этом вопросе: 34018-errsecmissingen">KeychainItemWrapper не загружается на iOS 9 OSStatus -34018 (errSecMissingEntitlement) и соответствующий вопрос на форуме Apple: https://forums.developer.apple.com/thread/4743

person Antonio Romano    schedule 16.10.2015