2016-11-17 141 views
2

我需要將Safari應用程序中的Cookie讀取到我的應用程序中。那麼有什麼辦法可以通過在我們的應用程序中使用任何SFSafariViewController來實現它。請幫助我。如何使用SFSafariViewController從iOS Safari應用程序讀取Cookie

在此先感謝。

編輯

我有一個URL https://example.com/abc123,當我在Safari應用程序中打開該網址,它會自動設置一些餅乾。現在我必須打開我的應用程序並通過傳遞域(https://example.com)來讀取這些cookie。

NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:[NSURL URLWithString:@"https://wwwexample.com"]]; 

是否可以讀取cookie?

+0

您是否能夠爲此獲得解決方案? – Nameet

+0

我們發現了另一種通過API讀取cookie的方式,因爲我們可以直接將Safari cookie導入應用程序。 @Nameet –

回答

2

根據文檔,您無法使用SFSafariViewController讀取cookie。您需要使用WKWebViewUIWebView。爲使用UIWebView來檢索cookie,可以使用它代理方法:

- (void)webViewDidFinishLoad:(UIWebView *)webView { 

     NSHTTPCookieStorage *cookiesStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
     NSURLRequest *urlReq = webView.request; 
     NSURL *url = urlReq.URL; 
     NSArray *cookies = [cookiesStorage [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url]]; 
} 
+0

如果我在我的應用程序中使用WKWebView,是否可以從Safari應用程序讀取Cookie? –

+0

是的。你也可以使用'UIWebView'來獲取cookies。我編輯了我的答案,包括一些代碼僅供參考 – KrishnaCA

+0

我編輯了我的問題。請再看一遍。 –

相關問題