Я сохраняю некоторые данные в связке ключей, но после каждого обновления приложения эти данные теряются. Та же проблема, что и у меня, когда я сохраняю что-то в пользовательских настройках по умолчанию. Это важно, потому что я использую его для хранения созданного уникального идентификатора. Что может быть не так? Спасибо за любые советы.
Данные связки ключей потеряны после обновления приложения на iOS
- Интересно, это проблема: stackoverflow.com/questions/8054285/ 13.06.2013
- Я не использую эту обертку, так что это не проблема. 14.06.2013
Ответы:
У меня была такая же проблема с нашим последним приложением. Мы выяснили, что Apple, по-видимому, стирает данные из Keychain для приложений, предшествующих iOS 8, если у более нового приложения есть минимальная поддерживаемая версия 8.0. Однако если установлена минимальная поддерживаемая версия iOS 7.0, данные связки ключей не удаляются.
Таким образом, очевидно, что все приложения, использующие Keychain, столкнутся с этой проблемой, когда они установят минимальную поддерживаемую версию iOS 8.0 и отправят ее в AppStore.
Потеря данных цепочки для ключей может быть связана с изменением права keychain-access-groups
.
Сохранение одного и того же значения для этого ключа в старых и новых приложениях решит проблему.
Я столкнулся с той же проблемой. И моя цель развертывания — iOS 10.
Я храню токен JWT в цепочке для ключей, используя -
A0SimpleKeychain().setString(token, forKey:"user-jwt")
И используя следующее, чтобы вернуть его обратно:
A0SimpleKeychain().string(forKey: key)
В производственных журналах я вижу, что для некоторых пользователей токен не извлекается из цепочки для ключей после обновления приложения. Это проблема с iOS или что-то, что я здесь упускаю. Пожалуйста, предложите.
Недавно видел эту проблему на iOS 12.4.
Для этого я использую Simple Keychain.