在我的应用程序内部,我有一个html信用文件,我想将其加载到webView中。我使用的代码非常适合我的主要目标。但是后来,我创建了第二个目标:应用程序的正式版本,但是对于此目标,由于url为nil,因此代码无法正常工作。
在Targets Membership中为credits.html选择了两个目标 我尝试将身份检查器中文件的位置更改为所有可能性,但均未成功。 我猜该文件是以某种方式保存的,只有主目标可以访问该路径。
if let urlPath = Bundle.main.path(forResource: "credits", ofType: "html") {
if let url = URL(string: urlPath) {
webView.loadRequest(URLRequest(url: url))
}
}
答案 0 :(得分:0)
您需要使用Bundle(identifier:)
来获取特定目标的捆绑包。您可以通过转到目标的Build设置并查看Product Bundle Identifier
变量来了解每个特定目标的Bundle标识符。
if let targetBundle = Bundle(identifier: "yourBundleId"), let filePath = targetBundle.url(forResource: "credits", withExtension: "html") {
webView.loadRequest(URLRequest(url: url))
}