将凭据保存到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)

有点过时了,但我们仍然使用苹果的Generic Keychain包装。

这里还有一个要点,这个类已经为ARC更新了(我个人没有使用过,但看起来很有希望)。

好运。

编辑

根据这个错误信息,您确定链接了Security框架吗?如果没有,方法如下:

1)点击你的项目(左侧导航栏的蓝色条)

点击你的目标

3)点击"Build Phases"选项卡

4)点击"链接二进制库"展开 5)点击左下角的加号 6)添加标题为Security.framework的框架

编辑2

您是否确定将#import KeychainItemWrapper.h放入您的MainViewController的头文件或实现文件中?

如果是这样,你能验证KeychainItemWrapper.m确实包括在你的目标的构建阶段->编译源?(如果没有,可以通过左下角的加号添加)

相关内容

最新更新