ios - 为什么 SFSafariWebViewController 没有正确地与 Safari 共享 cookie?

标签 ios cookies ios9 mobile-safari sfsafariviewcontroller

我创建了一个非常基本的应用程序,其中包括一个指向 URL http://www.w3schools.com/js/js_cookies.aspSFSafariViewController .这是一个读写cookies的测试网站。

然后我将同一个网站加载到 Mobile Safari 中,并添加了一个 cookie。我切换到我的应用程序,读取 cookie,它就在那里。我返回 Safari,添加另一个 cookie,返回我的应用程序,但第二个 cookie 没有出现。我刷新页面,没有区别。返回Safari读取cookies,都读取成功。

为了正确写入和读取 cookie,我需要在应用程序之间做些什么吗?

最佳答案

Apple Dev Forums 上的用户建议它可能只适用于“持久性 cookie”而不适用于“ session cookie”。我没有在我的 cookie 上设置过期日期。我通过获取 future 的时间来改变它:

const expireTime = new Date(Date.now() + 1000 * 60 * 60 * 24).toGMTString();

然后在头部设置:

"Set-Cookie":`query=${uri.query}; path=/; expires=${expireTime}`

现在 cookie 值出现在 SFSafariViewController 中。

关于ios - 为什么 SFSafariWebViewController 没有正确地与 Safari 共享 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36203617/

相关文章:

php - 如何检查 laravel 中是否设置了 cookie?

xcode - iPad Pro 启动图像和 App 图标

java - 使用身份验证 cookie 打开 WebSocket 连接

python - 如何使用python和mechanize登录网站

uiwebview - iOS 9 在 WebCore::FrameView::contentsSizeRespectingOverflow 中崩溃:

objective-c - UITableViewRowAnimationAutomatic 与 UITextView 无法正确显示

ios - 圆内圆环,动态调整大小

iphone - 关于 UITableView

ios - FaSTLane,Pilot - 自动团队选择

ios - 我可以对NSComparisonResult使用'> ='吗?