将凭证保存到iPhone钥匙串的教程?

问题描述:

我一直在寻找更新的教程如何访问和保存到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) 

有点过时,但我们仍然使用苹果的通用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