iOS上的OAuth.io缓存

时间:2014-10-28 15:56:14

标签: ios caching swift oauth

每次调用OAuth.io模式对话框时都会显示,即使我设置了缓存选项(see: using the cache here)。以下是基于Swift的应用程序的代码片段:

let options = NSMutableDictionary()
options.setObject("true" as NSString, forKey: "cache")
let oauthModal: OAuthIOModal = OAuthIOModal(key: config?.valueForKey("oauth_key") as String!, delegate: self, andOptions: options)
if (!oauthModal.cacheAvailableForProvider(self.provider)) {
    oauthModal.showWithProvider(self.provider)
}

对话框显示得很好,我能够完成整个流程,但cacheAvailableForProvider永远不会返回true。我确认我的应用程序能够在缓存目录中创建文件,但在模拟器中运行后,我从未看到创建过oauthio-provider.json文件。

注意:第二次弹出对话框时,Safari会记住我对提供商的登录信息,但我的印象是缓存应该会阻止对话框一起弹出。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

在审核完代码后,我意识到您已将包含缓存字段的options字典提供给OAuthIOModal构造函数。

您应该将此词典提供给oauthModal.showWithProvider方法,如下所示:

modal.showWithProvider(self.provider, options:options)

希望这会对你有所帮助

度过愉快的一天。