我知道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. activeTab.url Safari扩展
- 3. 在Safari扩展中传递同步消息
- 4. Chrome扩展:让chrome.tabs.query同步
- 5. 更新Safari扩展?
- 6. Safari扩展 - 消息
- 7. 禁用Safari扩展
- 8. Safari扩展设置
- 9. Safari扩展 - 证书
- 10. Safari扩展中的Contextmenu
- 11. Safari扩展的自动更新阻止了Safari Gallery中的发布扩展
- 12. 多语言Safari扩展
- 13. Safari扩展自动更新
- 14. 下载和Safari扩展
- 15. Safari扩展消息传递
- 16. Safari扩展事件:SafariBeforeSearchEvent
- 17. Safari扩展:“安装”事件?
- 18. 如何同步Chrome扩展选项
- 19. 同步Ajax Toolkit日历扩展器
- 20. 将Backbone.sync扩展到批量同步?
- 21. 为“同步”移动游戏扩展Minimax
- 22. 无效扩展同步订阅
- 23. WinDbg扩展步进
- 24. Safari扩展 - 动态扩展菜单中的图像
- 25. Chrome扩展webRequest异步调用的同步行为
- 26. Safari的扩展Chrome以外的不同的背景图片/ FF
- 27. 注入脚本的Safari扩展设置
- 28. Safari 5.0.1上的插件+扩展
- 29. Safari扩展中的多余文件
- 30. 停止缓存邮件的Safari扩展
好,非常感谢,但我还是不明白答案#2:为什么我们不能写一个扩展与一些私有方法/属性工作? – slesher
您无法访问私有API。即使你可以,你的应用永远不会通过App Store的批准。即使如此,如上所述,SFSafariVC甚至不与本机Safari共享cookie(*)。 – nathan
好的,那么你有什么建议/解决方法如何达到这个目标?我可以为此写一个扩展名吗?这是连接:https://stackoverflow.com/questions/45652212/find-out-the-urlrequest-of-wkwebview – slesher