26

scifihifi-iphone (Github から)を使用して、ユーザー名とパスワードを保存および取得しようとしています。ただし、クラスを追加するとSFHFKeychainUtils、次のエラーが発生します。

  "_kSecAttrAccount", referenced from:
      _kSecAttrAccount$non_lazy_ptr in SFHFKeychainUtils.o
  "_SecItemDelete", referenced from:
      +[SFHFKeychainUtils deleteItemForUsername:andServiceName:error:] in SFHFKeychainUtils.o
  "_kSecReturnAttributes", referenced from:
      _kSecReturnAttributes$non_lazy_ptr in SFHFKeychainUtils.o
  "_kSecClass", referenced from:
      _kSecClass$non_lazy_ptr in SFHFKeychainUtils.o
  "_kSecClassGenericPassword", referenced from:
      _kSecClassGenericPassword$non_lazy_ptr in SFHFKeychainUtils.o
  "_SecItemAdd", referenced from:
      +[SFHFKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:error:] in SFHFKeychainUtils.o
  "_kSecAttrLabel", referenced from:
      _kSecAttrLabel$non_lazy_ptr in SFHFKeychainUtils.o
  "_SecItemUpdate", referenced from:
      +[SFHFKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:error:] in SFHFKeychainUtils.o
  "_kSecAttrService", referenced from:
      _kSecAttrService$non_lazy_ptr in SFHFKeychainUtils.o
  "_kSecReturnData", referenced from:
      _kSecReturnData$non_lazy_ptr in SFHFKeychainUtils.o
  "_SecItemCopyMatching", referenced from:
      +[SFHFKeychainUtils getPasswordForUsername:andServiceName:error:] in SFHFKeychainUtils.o
      +[SFHFKeychainUtils getPasswordForUsername:andServiceName:error:] in SFHFKeychainUtils.o
  "_kSecValueData", referenced from:
      _kSecValueData$non_lazy_ptr in SFHFKeychainUtils.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

私は何を除外していますか?エラーをクリックしても、コード内のどこにも移動しません。

4

1 に答える 1

76

を追加Security.frameworkしてから再構築します。クリーンにビルドしてから再ビルドする必要がある場合があります。

これを追加するには、Xcode でターゲットを右クリックし、[追加] -> [既存のフレームワーク] を選択 (または移動) しSecurity.frameworkます。

于 2009-10-12T15:58:16.520 に答える