2

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)
4

1 に答える 1

3

少し時代遅れですが、Appleの汎用キーチェーンラッパーを使用しています。

このクラスがARC用に更新された要点もあります(私はこれを個人的に使用していませんが、有望に見えます)。

幸運を。

編集

このエラーメッセージに基づいて、Securityフレームワークをリンクしていることを確認しましたか?そうでない場合は、次のようにします。

1)プロジェクトをクリックします(左側のナビゲーションの青いバー)

2)ターゲットをクリックします

3)[ビルドフェーズ]タブをクリックします

4)「バイナリライブラリとのリンク」をクリックして展開します

5)左下の「プラス」をクリックします

6)というタイトルのフレームワークを追加しますSecurity.framework

編集2

のヘッダーまたは実装ファイルを確認しました#import KeychainItemWrapper.hか?MainViewController

もしそうなら、それKeychainItemWrapper.mが実際にターゲットのビルドフェーズ->ソースのコンパイルに含まれていることを確認できますか?(そうでない場合は、左下の「プラス」を使用して追加できます)。

于 2013-03-18T23:34:25.650 に答える