SFSafariViewController(SVC)是在iOS 9中引入的,SVC可以从移动的Safari而不是从应用程序读取cookie,它可以编写cookie,并且可以通过Mobile Safari而不是移动应用程序访问。
上述行为在iOS 10之前是相同的。
从iOS 11开始,SVC无法读取移动的Safari的Cookie。
那么,从iOS 11开始,Cookie共享的情况如何呢?
SVC将iOS 11中的cookie存储在哪里?
SVC是否将cookie存储在启动应用程序本身中?
如果是,应用程序中的webview(UIWebview/Wkwebview)是否可以读取SVC写入的Cookie
如果是,SVC是否可以读取Webview编写的cookie
如果否,SVC是否可以读取它在上次会话期间写入的cookie
或者SVC更像是Safari的Incongnito版本,它不记得以前的会话,并且无法访问应用程序和移动的Safari的Webview的Cookie。
2条答案
按热度按时间bq3bfh9z1#
是的,现在也是这样。所以它的行为不同于Chrome的自定义标签。那么问题是SFSafariViewController有什么好处?这是另一个私人窗口,如webview!我不相信这是可能的。自定义标签点是用户不必再次登录(当已经在Safari中登录时),但Apple可能不理解它。
46qrfjad2#
SVC将iOS 11中的cookie存储在哪里?
Cookie/其他数据当前保存在您的
SystemData/com.apple.SafariViewService/Library
容器下,然后保存在Cookies
和Webkit/WebsiteData
下-这可能在未来版本中更改!SVC是否将cookie存储在启动应用程序本身中?
是的,在你的集装箱里
如果是,应用程序中的webview(UIWebview/Wkwebview)是否可以读取SVC写入的Cookie
不是开箱即用,你可以使用自定义的
URLRequest
加载web视图,然后让它读取这些文件,我不会推荐它,因为目前保存的格式是没有文档的,将来可能会改变。如果否,SVC是否可以读取它在上次会话期间写入的cookie
是的,
SFSafariViewController
维护它以前会话的数据,它是您的应用程序的私有数据,因为它存储在您的容器中。