2013-03-18 49 views
2

我一直在尋找更新的教程如何訪問和保存到iPhone的鑰匙串,但似乎找不到任何不給我桶錯誤,並使用不推薦使用的代碼。將憑證保存到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) 

回答

3

有點過時,但我們仍然使用蘋果的通用Keychain wrapper

這裏還有一個Gist這個類已更新爲ARC(我沒有親自使用過,但看起來很有希望)。

祝你好運。

編輯

基於此錯誤消息,你一定要鏈接Security框架?如果不是,這裏是如何:

1)點擊你的項目(在左側導航藍條)

2)依次點擊目標

3)點擊 「生成階段」 選項卡

4)點擊「鏈接與二進制庫」,擴大

5)點擊「加」在左下方

6)添加標題爲的框架

EDIT 2

你一定要#import KeychainItemWrapper.h到您的MainViewController的頁眉或實現文件?

如果是這樣,您是否可以驗證KeychainItemWrapper.m是否確實包含在您的目標的構建階段 - >編譯源中? (如果不是,可以通過左下角的「加號」添加)。

+0

太棒了!非常感謝這個要點,我得到的錯誤在那裏得到修正!我會嘗試一下並報告回來! – ranjha 2013-03-18 23:36:47

+0

好的,這是另一個問題,我該怎麼做? [檢查更新的問題] – ranjha 2013-03-18 23:47:22

+0

我想如果我能通過這個問題,我很好。 – ranjha 2013-03-18 23:57:45