SFSafariviewcontroller - UIApplication sendEvent 不工作

Posted

技术标签:

【中文标题】SFSafariviewcontroller - UIApplication sendEvent 不工作【英文标题】:SFSafariviewcontroller - UIApplication sendEvent not working 【发布时间】:2018-10-10 09:11:53 【问题描述】:

我正在实现该应用程序超时功能,如果用户让应用程序空闲五分钟,应用程序将自动注销。这个概念我确实使用了UIApplicationsendEvent方法。

但是,当用户使用SFSafariviewcontroller 时,SFSafariviewcontroller 不会调用UIApplication sendEvent。因此,即使用户使用了应用程序,应用程序也会被注销。

有没有办法解决这个问题?

【问题讨论】:

【参考方案1】:

我认为不可能在 SFSafariViewController 中检测到活动。

来自文档的参考:https://developer.apple.com/documentation/safariservices/sfsafariviewcontroller?language=objc

用户的活动和与 SFSafariViewController 的交互对您的应用不可见

如果您需要此功能,您可能需要查看 WKWebView:https://developer.apple.com/library/mac/documentation/WebKit/Reference/WKWebView_Ref

如果您的应用允许用户从 Internet 上的任何位置查看网站,请使用 SFSafariViewController 类。如果您的应用自定义、交互或控制 Web 内容的显示,请使用 WKWebView 类。

所以我的总体建议是要么使用 WKWebView,要么在显示 SafariViewController 时禁用锁定策略

【讨论】:

以上是关于SFSafariviewcontroller - UIApplication sendEvent 不工作的主要内容,如果未能解决你的问题,请参考以下文章

使用 SFSafariViewController 的主要优势是啥?

如何在 SwiftUI 中使用 SFSafariViewController?

SFSafariViewController 显示任何 URL 的空白屏幕

SFSafariViewController 关闭后的背景音频

检测 SFSafariViewController 中的 URL 更改

FBSDK 登录 - SFSafariViewController 已禁用?