【发布时间】:2015-10-17 11:12:17
【问题描述】:
我想为 iOS 使用 Keychain Services 来存储我的应用执行 Web 服务请求所需的 OAuth 访问令牌和刷新令牌。我一直在阅读Keychain Services Programming Guide 并下载了GenericKeychain 示例代码,但我很困惑:
- 文档中提供的代码与示例代码不同...我应该遵循哪种方法?
- 我在某处读到您需要在会员中心为 App ID 及其关联的配置文件启用
Data Protection。但是,我没有阅读任何关于在 Xcode 中为目标功能启用Data Protection的信息,而且似乎我无论如何都可以访问钥匙串......这很奇怪,但我想我应该在 Xcode 项目中启用Data Protection也是,对吧? Apple 文档中描述的Data Protection内容在哪里?是否有地方说我需要为Keychain管理启用它?我没找到... - 我发现的示例使用
kSecClassGenericPassword类作为钥匙串项。由于我想管理 OAuth 相关信息,有没有更好的类我应该使用?也许kSecClassInternetPassword?和kSecClassGenericPassword有什么区别? - 是否建议实例化一种
KeychainWrapper类,还是将keychain相关的方法作为类方法访问更好?
提前致谢
【问题讨论】:
-
那里有一堆钥匙串包装器,你可以利用它们来为你消除很多这种复杂性。其中一些就像使用 NSUserDefaults 一样简单。
-
@BeauYoung 谢谢,我目前正在测试另一个。但我仍然无法弄清楚问题 2 和 3...
标签: ios oauth keychain data-protection keychainitemwrapper