2009-10-12 3 views
26

사용자 이름과 암호를 저장하고 검색하는 데 scifihifi-iphone (from Github)을 사용하려고합니다.Apple Keychain은 어떻게 사용합니까?

"_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 

내가 밖으로 떠납니다 무엇 : I 클래스 SFHFKeychainUtils을 추가 할 때 그러나, 나는 다음과 같은 오류를 얻을? 오류를 클릭하면 코드의 어느 부분으로도 이동하지 않습니다.

+0

링크 오류입니다. 귀하의 코드가 Keychain으로 무엇을했는지 처음입니까? –

+0

키 체인 프레임 워크를 추가 했습니까? – jantimon

+0

앱에 키 체인 프레임 워크를 추가하려면 어떻게합니까? – Jason

답변

76

Security.framework을 추가 한 다음 다시 작성하십시오. 때로는 내가 깨끗하게 지어야하고 재건해야한다는 것을 알게됩니다.

추가하려면 Xcode에서 대상을 마우스 오른쪽 단추로 클릭 한 다음 추가 -> 기존 프레임 워크를 선택하고 Security.framework을 선택하거나 탐색합니다.

+0

고마워요. 분명히 존재하지 않는 Keychain.framework라는 프레임 워크를 찾고있었습니다. – Jason

+0

같은 오류에 빠져 있으면 대답은 완벽하게 작동했습니다. 고마워요 –

+1

내 문제가 해결되었지만 Security.framework를 Finder에서 프로젝트로 드래그하여 XCode 4.2 "라이브러리와 링크"섹션에 추가해야했습니다 (추가 된 프레임 워크를 찾지 못했음). –