【发布时间】:2016-12-19 15:30:31
【问题描述】:
我了解到,从 iOS9 开始,您应该能够使用 SFSafariViewController 读取 cookie。
如果我在 JS 中的页面上使用以下内容设置 cookie:
var dd = new Date(Date.now() + 1000 * 60 * 60 * 24).toGMTString();
var expires = "expires="+ dd;
document.cookie = "mycookie=cookievalue; " + expires + " domain=.mydomain.co.uk ; path=/ ";
如果我这样做:
- (void)safariViewController:(SFSafariViewController *)controller didCompleteInitialLoad:(BOOL)didLoadSuccessfully
{
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookiesArray = [storage cookies];
}
cookiesArray 始终为空。
如果我使用传统的 UIWebView
-(void)webViewDidFinishLoad:(UIWebView *)webView
{
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray *cookiesArray = [storage cookies];
}
我得到了我期待的 cookie。
有什么想法我可能做错了吗?
【问题讨论】:
标签: ios cookies safari sfsafariviewcontroller nshttpcookiestorage