gpt4 book ai didi

ios - 从 tokbox session 断开连接后加载 webview 始终为零

转载 作者:行者123 更新时间:2023-11-28 06:11:20 27 4
gpt4 key购买 nike

我正在开发一个使用 webview 实现大部分功能的 native 应用程序,它使用 tokbox video 进行 native 视频通信。当我最初加载应用程序时,webview 加载正常(它是在界面生成器中创建的)。

当一个人进入视频页面时,我相信 tokbox API 会使 webview 为零。视频结束后,我调用 session.disconnect() 并尝试重新加载我的 webview,但在尝试解包可选时它一直说 found nil。

加载 webview 的代码如下所示:

func loadApp() {
let htmlFile = Bundle.main.path(forResource: "index", ofType: "html")
let html = try? String(contentsOfFile: htmlFile!, encoding: String.Encoding.utf8)
// this was added in hopes of initializing the webview again
if webView == nil {
webView = UIWebView(frame: self.view.bounds)
self.view = webView
}
webView.delegate = self
webView.frame = view.bounds
webView.loadHTMLString(html!, baseURL: nil)
}

它在 webView.delegate = self 处一直失败,并且实例变量显示即使在 if 条件之后 webView 仍然为 nil。

编辑

通过单击控件并拖动到 UIViewController 来连接 webview,它看起来像这样:

@IBOutlet weak var webView: UIWebView!

loadApp() 函数在 2 个地方被调用,首先是在 viewDidLoad() 那里工作正常,然后是在调用 session.disconnect() 之后,一个 tokbox 回调委托(delegate)方法被调用:

func sessionDidDisconnect(_ session: OTSession) {
print("The client disconnected from the OpenTok session.")
loadApp()
}

这是第二次/地点调用 loadApp() 并失败。

最佳答案

当您将 webView 设置为 IBOutlet 时,我认为不应将其设置为 nil。尝试让 webView 成为 var webView: UIWebView? 类内部的一个变量,然后手动实例化它并调整约束并相应地定位它。

关于ios - 从 tokbox session 断开连接后加载 webview 始终为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46470410/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com