每次调用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会记住我对提供商的登录信息,但我的印象是缓存应该会阻止对话框一起弹出。
我做错了什么?
答案 0 :(得分:1)
在审核完代码后,我意识到您已将包含缓存字段的options
字典提供给OAuthIOModal构造函数。
您应该将此词典提供给oauthModal.showWithProvider
方法,如下所示:
modal.showWithProvider(self.provider, options:options)
希望这会对你有所帮助
度过愉快的一天。