элементы цепочки для ключей iphone сохраняются после удаления приложения? - PullRequest
39 голосов
/ 09 сентября 2010

Я играю с кодом scifihifi-iphone для связки ключей от idandersen и обнаружил следующее поведение - я установил пароль с помощью, скажем,

[SFHFKeychainUtils storeUsername:@"User" andPassword:@"123"
                  forServiceName:@"TestService" updateExisting:YES error:&error];

Затем удалил тестовое приложение с устройстваустановите его снова - ранее установленный пароль остается в связке ключей ...
Это ожидаемое поведение?И есть ли способ убедиться, что установленный пароль будет удален с приложением?

Ответы [ 2 ]

30 голосов
/ 10 сентября 2010

Да, это ожидаемое и правильное поведение.

Некоторые элементы цепочки для ключей могут использоваться совместно с другими приложениями, которыми вы управляете (которые совместно используют одну и ту же группу доступа к элементам цепочки для ключей).

Вы должны просто оставить информацию в покое, когда ваше приложение удалено.У вас нет обратного вызова или метода удаления элементов цепочки для ключей при удалении вашего приложения.

2 голосов
/ 23 января 2018

Редактировать: Они, наконец, отменили поведение, описанное в моих ответах, поэтому до тех пор, пока все не отойдут от этого диапазона версий, это больше не должно происходить.К сожалению, это больше не так.Он был изменен с iOS 10.3.

Это преднамеренное изменение в iOS 10.3 для защиты конфиденциальности пользователей.Информация, которая может идентифицировать пользователя, не должна оставаться на устройстве после того, как приложение, которое его создало, было удалено.

Никогда не было частью контракта API, что элементы цепочки для ключей, созданные приложением, сохранятся, когдаприложение удаленоЭто всегда было подробностью реализации.

См. Ссылку здесь .

...