ios - 开发iOS框架时如何在WKWebView中加载本地HTML文件
问题描述
我开发了一个用户可以与 CocoaPod 一起使用的 iOS 框架。但是在项目中使用时,这一行出现错误:
let url = Bundle(for: type(of: self)).url(forResource: "file_name", withExtension: "html", subdirectory: "assets")!
这一行在框架中,错误是:
Unexpectedly found nil while unwrapping an Optional value
在框架中,我有一个名为“assets”的文件夹和一个名为“file_name.html”的文件。该错误仅在框架中使用时发生。
解决方案
let url = Bundle(for: type(of: self)).url(forResource: "file_name", withExtension: "html", subdirectory: "assets")!
-------------------------------^
确保它self
指向框架的一个类,以便找到正确的包。而且您不需要使用type(of:_)
:
let bundle = Bundle(for: FrameworkClass.self)
let url = bundle.url(forResource: "file_name", withExtension: "html", subdirectory: "assets")!
推荐阅读
- node.js - 如何将只有一个元素的数组转换为猫鼬(mongodb)中的对象
- pytorch - 在 PyTorch 中为 nn.functional.conv2d 提供权重
- html - 如何在没有边距的 HTML 表格中的两个文本块之间放置一条线?
- flutter - Flutter web - ReordorableListView,在字段之间悬停时带有+按钮
- html - 媒体查询不起作用。我究竟做错了什么?
- python - pip 命令未找到,安装 django 时在 mac 上未找到 virtualenv 命令
- laravel - 如何在由 Laravel api 提供支持的移动应用程序中处理异地支付
- tomcat - javax.servlet.ServletException:类 [org.glassfish.jersey.servlet.ServletContainer] 不是 Servlet
- java - 如何在硒中并行运行多个类
- javascript - 如何在画布上的多点模式下使用单独的颜色为 D3-Geo 路径点着色