Будут ли элементы в iOS keychain выжить при удалении и переустановке приложения?
Я ищу документацию о элементах keychain iOS. Мой конкретный вопрос заключается в том, что элементы keychain выдержит удаление приложения и переустановку цикла.
Кажется, что это работает с iOS 4 (или, может быть, даже с iOS 3), но я не могу найти документацию от Apple, заявив, что на самом деле это должно работать таким образом.
То, что я пытаюсь понять, - это, если я смогу ДОВЕРИТЬ (не "надеяться на" или "угадать" ), что элементы в цепочке ключей выживут при удалении приложения.
EDIT: Я понимаю, что вопрос немного неясен, как указал Дай-Джан. Я ищу официальную документацию, которая поддерживает хорошо известное поведение.
UPDATE 2017-04-04: см. мой ответ ниже, изменение поведения в бета-версии iOS 10.3. Он работает как обычно в iOS 10.3, но, вероятно, может измениться в будущих версиях.
Ответы
Ответ 1
Я вырыл на форумах разработчиков Apple, а разработчик Apple (eskimo1, aka Quinn) заявляет в 2012-08-27, что это текущее поведение, но это далеко не так, как он не знает/документировал/поведение, поэтому это может измениться в будущем. Он также говорит, что удаление общих элементов keychain всегда будет сложным, что является одной из причин, по которым он еще не был рассмотрен.
Итак, я думаю, что это оставляет вопрос открытым: нет окончательного ответа. Он не документирован и может меняться в любой момент времени. Опираясь на это МОЖЕТ создавать проблемы в будущем.
ОБНОВЛЕНИЕ 2017-04-04:
В iOS 10.3 бета информация о keychain для приложения удаляется, когда приложение удаляется, но это поведение, похоже, было удалено в последней версии 10.3. В Документация Apple Предполагается, что это собирается измениться, и мы не должны полагаться на данные доступа к цепочке ключей, которые остаются нетронутыми после удаления приложения.
См. Также iOS 10.3 beta 3 не сохраняет данные KeychainItem.
Ответ 2
Возможно, это то, что вы ищете.
Документация Apple
Примечание. На iPhone права на брелоки зависят от профиля подготовки, который используется для подписи вашего приложения. Обязательно последовательно используйте один и тот же профиль обеспечения безопасности в разных версиях вашего приложения.
Ответ 3
да, они будут.
см. соответствующий мой вопрос:
Как узнать, КОГДА пользователь впервые купил приложение/установил его (возможно без UDID?)
КАК Я ВИДЕТЬ ЭТО:
"Официально" это подразумевается тем фактом, что брелок для нескольких приложений.. и что он "принадлежит" os:
Документация для Apple
Брелок для ключей - это зашифрованный контейнер, содержащий пароли для нескольких приложений и безопасных сервисов.
= > ergo брелок выживает приложению
плюс
элемент keychain может использоваться совместно несколькими приложениями