【发布时间】:2017-10-18 20:47:39
【问题描述】:
我在获取包中文件的路径/url 时遇到问题。这是我使用的代码
@IBOutlet weak var testWebView: UIWebView!
private func setText() {
if let path = Bundle.main.path(forResource: "theory", ofType: "pdf") {
let url = NSURL(fileURLWithPath: path)
let request = NSURLRequest(url: url as URL)
testWebView.loadRequest(request as URLRequest)
}
}
override func viewDidLoad() {
super.viewDidLoad()
// setText()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
setText()
}
文件 theory.pdf 在主包中(没有子文件夹等) 我尝试了这里讨论的许多方法,例如使用创建组/创建文件夹引用进行复制等 - 没有任何帮助。 webView 在 StoryBoard 中设置。
【问题讨论】:
-
文件的 Target Membership 设置了吗?拼写是否正确(大小写很重要)?顺便说一句,使用
Bundle.main.url(forResource:withExtension:)、(URL) 和URLRequest来避免丑陋的桥接。 -
要使用 WKWebView 打开本地文件资源,您应该使用 loadfileurl developer.apple.com/documentation/webkit/wkwebview/…
-
什么是目标成员集...?拼写完全正确(只是复制粘贴了名称。Bundle.main.url 也不行。
-
stackoverflow 中的方法 - 不起作用,可能是同样的原因,bundle.main.url 返回 nil。 wrt WKWebView - 我没有使用它 :-( 我的是 UIKit 的简单 UIWebView。