2016-11-17 188 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

我编辑了我的问题。请再看一遍。 –

相关问题