在 Mobile Safari 可见的 WKUIWebView 中写入 cookie
Posted
技术标签:
【中文标题】在 Mobile Safari 可见的 WKUIWebView 中写入 cookie【英文标题】:Writing a cookie inside WKUIWebView visible from Mobile Safari 【发布时间】:2015-05-05 13:30:52 【问题描述】:我正在尝试从我的应用程序中加载一个网络 URL,我需要设置一个 cookie。目前我正在使用:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:_myURL]];
但是这种方法导致我的应用程序切换到 Mobile Safari,这非常难看,因为用户失去了对我应用程序的关注。在新的 WKUIWebView 中加载网页(并使用 NSHttpCookieStorage)不是一种选择,因为显然这些 cookie 将被沙盒化。有没有其他方法可以创建一个在 Mobile Safari 中可见的 cookie?
【问题讨论】:
【参考方案1】:从 ios9 开始,您可以使用SFSafariViewController,它与 Safari 移动版共享 cookie。您可以将其与自定义 URL 方案或指向 "communicate" between them 的通用链接结合使用。
【讨论】:
我需要将 Safari 应用程序中的 cookie 读取到我的应用程序内部。有可能吗?【参考方案2】:不,你不能。可以访问 Safari 的 cookie 的应用程序将是一个安全问题。
如果您可以控制正在打开的网站,那么您可以在 url 中使用一次性登录代码作为请求参数来做一些事情。
【讨论】:
以上是关于在 Mobile Safari 可见的 WKUIWebView 中写入 cookie的主要内容,如果未能解决你的问题,请参考以下文章
在 jQuery Mobile / Mobile Safari 中按下提交后不要隐藏键盘
让 WebSocket 在 Mobile Safari 中保持活跃
mobile-safari javascript:多个 setTimeouts 或 setIntervals