我知道SFSafariViewController
有私人cookie存储和其他实现。但是,我知道我们可以为每个(每个本地系统)Swift类编写一个扩展。 我需要与本机Safari共享cookie,或者从我的应用程序打开Safari
,并附带一些标题请求。至少,如何创建获取/设置Cookie的API
? SFSafariVC和原生的Safari之间与Safari同步 - SFSafariViewController的扩展
1
A
回答
3
- 曲奇共享已在IOS被禁用> = 11
在WWDC,苹果announced a change在Safari视图控制器的与iOS 11的行为中存储的数据( cookies,本地存储等)将不再在Safari View Controller的实例之间共享。我们已经在内部证实了这个测试版本,这似乎是Branch的人员的independently confirmed。
从AppAuth未-IOS”回购:用户whitehatguy
- 为SFSafariVC唯一API是对于给定的URL建立一个新的实例。您无法设置或修改Cookie。
- 登录到使用的身份验证协议(如OAuth的)第三方的服务。此选项适用于社交网络应用程序。
- 为应用程序提供单点登录(SSO)体验。此选项适用于在同一设备上安装了多个应用程序的企业公司。
如果需要执行自定义代码,看看WKWebView(iOS版> = 8)/ UIWebView(iOS版< 8)。有用的答案:Getting cookies in WKWebView
SFAuthenticationSession创建为允许SSO/OAuth身份验证流程,它与本机Safari共享Cookie,但开发人员无法直接访问。
在Safari和应用程序之间管理共享一次性Web服务登录以及Cookie和网站数据的类,该类还可用于其他关联应用程序的自动登录。
在两种情况下,你会使用SFAuthenticationSession是:
SFAuthenticationSession的文档由苹果
相关问题
- 1. 与Chrome扩展同步通信
- 2. 在Safari扩展中传递同步消息
- 3. Safari扩展设置
- 4. Safari扩展 - 证书
- 5. Safari扩展 - 消息
- 6. 更新Safari扩展?
- 7. Safari扩展中的Contextmenu
- 8. 同步Ajax Toolkit日历扩展器
- 9. 如何同步Chrome扩展选项
- 10. Safari扩展消息传递
- 11. 下载和Safari扩展
- 12. Chrome扩展webRequest异步调用的同步行为
- 13. Safari扩展中的DOM修改
- 14. Safari扩展中的多余文件
- 15. 注入脚本的Safari扩展设置
- 16. 欺骗用户代理的Safari扩展?
- 17. Safari 5.0.1上的插件+扩展
- 18. Safari扩展中的弹出框
- 19. 返回Safari 5扩展的Activetab索引
- 20. 停止缓存邮件的Safari扩展
- 21. 从扩展代码本身读取Safari扩展版本
- 22. 反应扩展:转换同步订阅异步
- 23. 奇怪的Firefox,Safari浏览器 - 铬 - IE8 +扩展问题与jQuery
- 24. 第一步与反应式扩展蹒跚步骤
- 25. 使用异步扩展
- 26. 异步扩展Java SWT树
- 27. Safari扩展显示弹出窗口不同窗口
- 28. 与“扩展” UTIL
- 29. 扩展与C#
- 30. 当与扩展
好,非常感谢,但我还是不明白答案#2:为什么我们不能写一个扩展与一些私有方法/属性工作? – slesher
您无法访问私有API。即使你可以,你的应用永远不会通过App Store的批准。即使如此,如上所述,SFSafariVC甚至不与本机Safari共享cookie(*)。 – nathan
好的,那么你有什么建议/解决方法如何达到这个目标?我可以为此写一个扩展名吗?这是连接:https://stackoverflow.com/questions/45652212/find-out-the-urlrequest-of-wkwebview – slesher