2015-12-04 6 views
4

Я использую SFSafariViewController в Swift 2 для отображения веб-страниц на iPad Air 2 с помощью ios 9.1 (13B143). Для каждой веб-страницы требуются учетные данные от пользователя. Однако, когда пользователь нажимает кнопку выхода из системы, мне нужно очистить эти учетные данные. Я пробовал использовать следующее:Как очистить учетные данные SFSafariViewController?

let allCreds = NSURLCredentialStorage.sharedCredentialStorage().allCredentials 
    for (protectionSpace, userCredsDict) in allCreds { 
     for (_, cred) in userCredsDict { 
      print("DELETING CREDENTIAL") 
      NSURLCredentialStorage.sharedCredentialStorage().removeCredential(cred, forProtectionSpace: protectionSpace, options: ["NSURLCredentialStorageRemoveSynchronizableCredentials" : true]) 
     } 

    } 
    // Clear cookies 
    if let cookies = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies { 
     for (cookie) in cookies { 
      print("DELETING COOKIE") 
      NSHTTPCookieStorage.sharedHTTPCookieStorage().deleteCookie(cookie) 
     } 
    } 

    // Clear history 
    print("CLEARING URL HISTORY") 
    NSURLCache.sharedURLCache().removeAllCachedResponses() 
    NSUserDefaults.standardUserDefaults().synchronize() 

но он не работает. Фактически, «УДАЛЕНИЕ ПОЛНОМОЧИЙ» и «УДАЛЕНИЕ COOKIE» никогда не печатаются. Более того, я могу полностью удалить приложение iPad и переустановить его, и учетные данные все еще кэшируются, когда я вернусь к веб-адресу. Единственный способ, которым я нашел, чтобы очистить учетные данные, - это закрыть iPad и снова включить его.

Вопрос: Как я могу программно очистить учетные данные?

ответ

4

Таким образом, я открыл «Службу технической поддержки Apple» на этом. Ниже приведен краткий отчет об их ответе: SFSafariViewController запускается за пределами моего процесса App и для того, чтобы быть уверенным, что мое приложение не может изменять состояние SFSafariViewController. Другими словами, мое приложение не может очистить учетные данные, хранящиеся в SFSafariViewController.

+0

Благодарим за обмен. Смотрел точно то же самое. – smat88dd

Смежные вопросы