Учебник по сохранению учетных данных в связке ключей iPhone?

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

Если кто-то направит меня в правильном направлении, это будет здорово!

Спасибо!

ВОТ ОШИБКА Я ПОЛУЧАЮ:

    Undefined symbols for architecture armv7s:
  "_kSecValueData", referenced from:
      -[MainViewController viewDidLoad] in MainViewController.o
  "_kSecAttrAccount", referenced from:
      -[MainViewController viewDidLoad] in MainViewController.o
  "_kSecAttrAccessibleWhenUnlocked", referenced from:
      -[MainViewController viewDidLoad] in MainViewController.o
  "_kSecAttrAccessible", referenced from:
      -[MainViewController viewDidLoad] in MainViewController.o
  "_OBJC_CLASS_$_KeychainItemWrapper", referenced from:
      objc-class-ref in MainViewController.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

2-я ошибка:

Undefined symbols for architecture armv7s:
  "_OBJC_CLASS_$_KeychainItemWrapper", referenced from:
      objc-class-ref in MainViewController.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

person ranjha    schedule 18.03.2013    source источник


Ответы (1)


Немного устаревший, но мы все еще используем универсальную связку ключей от Apple.

Вот также Gist, где этот класс был обновлен для ARC (лично я этим не пользовался, но выглядит многообещающе).

Удачи.

ИЗМЕНИТЬ

Судя по этому сообщению об ошибке, вы обязательно связали фреймворк Security? Если нет, то вот как:

1) Нажмите на свой проект (синяя полоса на левой панели навигации)

2) Нажмите на свою цель

3) Перейдите на вкладку «Этапы сборки».

4) Нажмите «Ссылка с двоичными библиотеками», чтобы развернуть

5) Нажмите на "Плюс" в левом нижнем углу

6) Добавьте структуру под названием Security.framework

ИЗМЕНИТЬ 2

Убедились ли вы, что #import KeychainItemWrapper.h в заголовке вашего MainViewController или в файле реализации?

Если да, можете ли вы убедиться, что KeychainItemWrapper.m действительно включен в этапы сборки вашей цели -> Источники компиляции? (Если это не так, вы можете добавить его через «плюс» в левом нижнем углу).

person JRG-Developer    schedule 18.03.2013
comment
Потрясающий! Большое спасибо за суть, там исправлены именно те ошибки, которые я получал! Я попробую и отчитаюсь! - person ranjha; 19.03.2013
comment
Хорошо, вот еще одна проблема, что мне с этим делать? [проверьте обновленный вопрос] - person ranjha; 19.03.2013
comment
Пожалуйста, посмотрите обновленный ответ и дайте мне знать, если это так. - person JRG-Developer; 19.03.2013
comment
Исправлены некоторые ошибки, забыл про Security framework, ха-ха. Смотрите мой обновленный ответ для новой ошибки. - person ranjha; 19.03.2013
comment
О Боже! Большое спасибо! Причина, по которой это не работало раньше, заключалась в том, что я компилировал и .m, и .h! - person ranjha; 19.03.2013
comment
Нет проблем. Удачи в кодировании. - person JRG-Developer; 19.03.2013