2014-10-28 10 views
1

Диалог OAuth.io модальный появляется каждый раз, когда я его вызываю, даже если я настраиваю параметр кеширования (see: using the cache here). Вот фрагмент кода из моей Swift-приложение:OAuth.io Кэширование на iOS

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 никогда не возвращает истину. Я подтвердил, что мое приложение может создавать файлы в каталоге кэшей, но после запуска в симуляторе я никогда не вижу создания файла oauthio-provider.json.

ПРИМЕЧАНИЕ. Во второй раз, когда открывается диалоговое окно, Safari помнит мой логин для провайдера, но у меня создалось впечатление, что кеширование должно было прекратить диалог со всплыванием.

Что я делаю неправильно?

+0

Hello, Все, кажется, правильно настроено. Мы протестировали последнюю версию SDK с объективным приложением C, и все работает нормально. Однако мы еще не тестировали SDK с быстрым. Мы собираемся расследовать эту проблему и вернемся к вам как можно скорее. – willjcksn

ответ

1

После просмотра кода я понял, что вы предоставили словарь options, содержащий поле кэша, в конструктор OAuthIOModal.

Вы должны дать этот словарь методу oauthModal.showWithProvider, как это:

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

Надеется, что это поможет вам

Иметь хороший день.

+0

Странно, я все равно получаю всплывающее окно каждый раз. Вот мой новый код: 'пусть опции = NSMutableDictionary()' ' options.setObject ("истинные", forKey: "кэш")' ' oauthModal.showWithProvider (self.provider, опции: варианты)' –

+0

Еще одно обновление, я смог подтвердить, что файл oauthio-provider.json создается в файловой системе ... не знаю, почему он не выбирает его во второй раз. Содержимое json-файла выглядит законным. –

+0

Кроме того, кажется, что cacheAvailableForProvider возвращает true, но, увы, когда я вызываю showWithProvider, даже после того, как cacheAvailableForProvider возвращает true, страшное всплывающее окно :( –