NSHTTPCookieStorage Vs keychain vs NSUserdefault

时间:2015-07-23 09:00:33

标签: objective-c swift nsuserdefaults keychain nshttpcookie

iOS:NSHTTPCookieStorageKeychainNSUserDefault这三者之间,在设备上存储令牌的最佳位置是什么?为什么?

注意:我不想与任何其他应用或Safari /浏览器共享令牌。

1 个答案:

答案 0 :(得分:1)

NSUserDefault,存储在其中的数据将保持不变,直到应用程序存在。删除应用程序后,一切都将丢失。没有完全安全。

Keychain,存储在其中的数据将保持不变,直到用户重置整个手机设置。有关详细信息以及实施,请参阅此link。如果用户备份该iPhone&使用它重新存储任何其他手机所有数据都将可用于该设备。此外,所有数据都安全地存储在一起。加密格式。

NSHTTPCookieStorage实现了一个管理cookie存储的单例对象(共享实例)。每个cookie由NSHTTPCookie类的实例表示。通常,cookie在所有应用程序之间共享,并跨进程边界保持同步。会话cookie(cookie对象的isSessionOnly方法返回YEStrue)是单个进程的本地cookie,不共享。

如果您想在应用程序以及Safari浏览器或任何其他应用程序中存储令牌使用,那么NSHTTPCookieStorage对您来说是更好的选择。