iOS:NSHTTPCookieStorage
、Keychain
、NSUserDefault
这三者之间,在设备上存储令牌的最佳位置是什么?为什么呢?
注意:我不想与任何其他应用程序或Safari/浏览器共享令牌。
最佳答案
NSUserDefault
,存储在中的数据将保持原样,直到应用程序存在。一旦删除应用程序,所有内容都将丢失。没有完全安全。Keychain
,存储在其中的数据将保持不变,直到用户重置整个电话设置。有关实现的更多信息,请参阅此link。如果用户备份了该iPhone并用它重新存储任何其他手机,则该设备将可以使用所有数据。此外,所有数据都以加密格式安全存储。NSHTTPCookieStorage
实现管理cookie存储的单例对象(共享实例)。每个cookie都由nshtpcookie类的一个实例表示。通常,cookie在所有应用程序之间共享,并在进程边界之间保持同步。会话cookie(其中cookie对象的IsSessionOnly方法返回YeStrue)是单个进程的本地cookie,不共享。
如果您希望在应用程序、Safari浏览器或任何其他应用程序中存储令牌使用,则NSHTTPCookieStorage
是更好的选择。
关于objective-c - NSHTTPCookieStorage Vs keychain vs NSUserdefault,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31582716/