iphone - 如何使用 Apple 钥匙串(keychain)?

标签 iphone objective-c security keychain

我正在尝试使用 scifihifi-iphone (from 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

我遗漏了什么?当我单击错误时,它不会将我带到代码中的任何位置。

最佳答案

添加Security.framework,然后重建。有时我发现我必须先清理然后再重建。

要添加它,请在 Xcode 中右键单击您的目标,然后添加 -> 现有框架并选择(或导航)到 Security.framework

关于iphone - 如何使用 Apple 钥匙串(keychain)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1554954/

相关文章:

ios - 什么是用于播放 Mp3 等音乐的 AVPlayerViewController 的委托(delegate)方法

iphone - 如何在 UINavigationBar 上的任意位置设置自定义按钮?

c - OpenSSL、公钥和私钥

javascript - 持久性 XSS 和非持久性 XSS 之间的主要区别和定义

http - 在 JBoss EAP 7 中配置 Http header

iPhone 模拟器和网络摄像头

ios - 如何在 iOS 中以编程方式在 UITableViewCells 中添加图像

objective-c - 使用 objc_disposeClassPair()

objective-c - 每次都分配字典

ios - 批量定义常量有什么更聪明的方法吗?