Какова цель добавления оболочки связки ключей в мое приложение iOS?

Я просто застрял, пытаясь понять, какова реальная цель наличия обертки связки ключей, если, например, меня просят создать оболочку, которая просто запускается на переднем плане, и когда приложение переходит в фоновый режим, его данные должны быть удалены?

Кто-нибудь, у кого есть возможное объяснение вышеизложенного? Кроме того, в чем разница между оболочкой Keychain и NSMutableDictionary, или они дополняют друг друга.

Посмотрите, что меня просят сделать: создать оболочку Keychain, которая работает только на переднем плане. Если обнаружено "входящее фоновое" уведомление, удалите данные из памяти.

Любая помощь будет очень признательна!


person Stefan S    schedule 08.07.2013    source источник
comment
в чем разница между оболочкой Keychain и NSMutableDictionary - одна - это оболочка цепочки для ключей, другая - NSMutableDictionary.   -  person    schedule 09.07.2013


Ответы (1)


Я предполагаю, что под оболочкой Keychain здесь она подразумевается как оболочка для служб связки ключей Apple. Если это так, то цель обертки - упростить вам использование безопасного хранилища связки ключей Apple.

Обычно причина, по которой вы хотите использовать службу связки ключей Apple, заключается в хранении защищенных учетных данных. Например, если вы хотите иметь функцию «сохранить логин», тогда имя пользователя и пароль могут быть сохранены в службах связки ключей, когда приложение снова будет запущено.

Если нет желания хранить защищенные данные, тогда вам не нужны службы связки ключей.

NSMutableDictionary - это изменяемая версия структуры данных пары «ключ-значение».

person khanh.tran.vinh    schedule 08.07.2013
comment
Спасибо за Ваш ответ. Мое приложение требуется для удаления данных оболочки связки ключей из памяти, когда приложение переходит в фоновый режим. Однако, как часть другого требования, когда приложение снова выводится на передний план, оно должно запрашивать у пользователя его / ее учетные данные, но если я удалю содержимое цепочки для ключей, как пользователь сможет войти в систему, если эти учетные данные были уже удалено? Это имеет для вас смысл? Я мог неправильно понять все это, надеюсь, вы дадите мне возможное разъяснение. - person Stefan S; 09.07.2013
comment
вы аутентифицируетесь на удаленном сервере? - person khanh.tran.vinh; 09.07.2013
comment
На данный момент я проверяю подлинность непосредственно в базе данных, созданной моим приложением, но в будущем это будет выполняться на сервере. - person Stefan S; 09.07.2013
comment
Я не работал с не-удаленным входом в систему, но, в первую очередь, вы могли бы просто сохранить пользователя / передать в службах связки ключей, когда пользователь создает учетную запись, а затем в следующий раз, когда они войдут в систему, просто сравните введенные учетные данные с учетными данными в Брелок. Взгляните на uickeychain на github. Кроме того, похоже, что вы работаете над проектом для нетехнического клиента. В этом случае я на собственном опыте обнаружил, что интерпретация спецификаций в том виде, в каком они написаны, не всегда может быть идеальной. - person khanh.tran.vinh; 11.07.2013