Удастся ли удалить и переустановить элементы в связке ключей iOS?

Я ищу документацию об элементах брелка для iOS. Мой конкретный вопрос: выдержат ли элементы цепочки для ключей цикл удаления и повторной установки приложения. Кажется, это работает так, начиная с iOS 4 (или, может быть, даже iOS 3), но я не могу найти никакой документации от Apple, утверждающей, что это на самом деле должно работать именно так.

Я пытаюсь понять, могу ли я ДОВЕРЯТЬ (а не "надеяться на" или "догадываться"), что элементы в цепочке для ключей переживут удаление приложения.

РЕДАКТИРОВАТЬ: я понимаю, что вопрос немного неясен, как указал Daij-Djan. То, что я ищу, - это официальная документация, подтверждающая известное поведение.

ОБНОВЛЕНИЕ 2017-04-04: см. Мой ответ ниже, изменение поведения в iOS 10.3 beta. Он работает как обычно в iOS 10.3, но, возможно, изменится в будущих версиях.

3 ответа

Решение

Я копался на форумах разработчиков Apple, и разработчик Apple (eskimo1, aka Quinn) заявляет в 2012-08-27, что это текущее поведение, но насколько он не знает / задокументировано / поведение, так что это может измениться в будущее. Он также говорит, что удаление общих элементов цепочки для ключей всегда будет непростым делом, что является одной из причин, по которой этот вопрос еще не решен.

Поэтому я думаю, что это оставляет вопрос открытым: однозначного ответа нет. Это не задокументировано и может измениться в любой момент времени. Полагаясь на это МОЖЕТ вызвать проблемы в будущем.

ОБНОВЛЕНИЕ 2017-04-04:

В бета-версии iOS 10.3 информация о связке ключей для приложения удаляется при удалении приложения, но, похоже, это поведение было удалено в окончательной версии 10.3. В документации Apple. Предполагается, что это скоро изменится, и мы НЕ должны полагаться на то, что данные доступа к цепочке для ключей останутся нетронутыми после удаления приложения. См. Также iOS 10.3 beta 3 не сохраняет данные KeychainItem.

Возможно, это то, что вы ищете.
Документация Apple

Примечание. На iPhone права на связку ключей зависят от профиля обеспечения, используемого для подписи вашего приложения. Обязательно последовательно используйте один и тот же профиль обеспечения в разных версиях приложения.

Да, они будут.

см. соответствующий мой вопрос:

Как узнать, КОГДА пользователь купил приложение / установил его впервые (возможно без UDID?)


КАК Я ВИЖУ ЭТО:

"Официально" это подразумевается тем фактом, что цепочка для ключей предназначена для нескольких приложений… и что она "принадлежит" ОС:

Документация Apple

Цепочка для ключей - это зашифрованный контейнер, который содержит пароли для нескольких приложений и безопасных сервисов.

=> эрго брелок выживает в приложении

PLUS

элемент цепочки для ключей может быть разделен между несколькими приложениями

Другие вопросы по тегам