我正在尝试使用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
我要离开的是什么?当我点击错误时,它不会将我带到代码中的任何位置。
答案 0 :(得分:76)
添加Security.framework
,然后重建。有时我发现我必须建立干净然后重建。
要添加此功能,请右键单击Xcode中的目标,然后单击添加 - >现有框架,然后选择(或导航)到Security.framework
。