【问题标题】:SFSafariViewController - Interacting with the parent app from a web-pageSFSafariViewController - 从网页与父应用程序交互
【发布时间】:2016-02-02 21:54:40
【问题描述】:

我正在尝试研究一种将 Web 视图控制器加载到 iOS 应用程序中的方法,以便网页可以将数据传回给父级。

SFSafariViewController 可以做到这一点吗?是否有一些类似消息后的机制,可以让我将数据发送回本机应用程序?

注意:我使用 SFSafariViewController 非常重要,因为我还需要 Web 视图来与 Safari 保存/共享 cookie。

【问题讨论】:

    标签: ios native sfsafariviewcontroller


    【解决方案1】:

    由于SFSafariViewControllers 没有像UIWebView 的所有其他实现一样被沙盒化,这意味着它们可以访问私人信息,例如cookie。

    作为一项安全措施,SFSafariViewController 然后从应用程序的其余部分被沙盒化。它与您的应用程序之间进行通信的一种方式是通过custom URL scheme

    这样做的缺点是您需要控制 Web 服务,并为此实施 API(但是您不应该真的能够访问 cookie)。

    您可以关注this project 开始。

    希望这会有所帮助,

    利亚姆

    【讨论】:

    • SFSafariViewController 被沙盒化是有原因的。使用 URL 方案不断将信息发送回应用程序是相当糟糕的做法。如果您确实需要这样做,您应该考虑使用为该用例构建的WKWebView。文档清楚地说:If your app customizes, interacts with, or controls the display of web content, use the WKWebView class.
    • WKWebView 有没有办法添加与您拥有的域共享身份验证的权利?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    相关资源
    最近更新 更多