我正在ios中设计一个Webview应用程序。我开始在代码中进行更改。而且代码更改完全可以。该应用正在模拟器(iPhone 7)中响应,因为它应该响应。但是,当我将应用程序部署到设备(iPhone 7)时,该应用程序仅显示空白页。
这很奇怪。我读了许多他们谈论网络运营商的文章。当前它显示No Service
。我尝试重新插入SIM卡。但这没有用。我不知道那有什么用。
如果有人可以告诉我该怎么做才能调试出来。
问题更新
我如何加载Webview
案例1:当我从项目目录中的软链接中获取index.html
时,就可以在我的设备中完成
func getLandingPage() -> URLRequest {
let path = Bundle.main.path(forResource: "www", ofType: nil)!
let url = URL(fileURLWithPath: "\(path)/index.html")
return URLRequest(url: url)
}
URL已创建-"file:///var/containers/Bundle/Application/9890F84F-4CF4-48AB-8874-AC1BC0B77C55/ios.app/www/index.html"
情况2:当我将所有文件从我的软链接目录复制到设备的documentDirectory内的目录中,然后如果我尝试从那里加载index.html
时,它将显示空白页面。我希望这能正确发生。
func getLandingPage() -> URLRequest {
let docURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let pathData = "\(docURL[0].path)/\(CODE_FOLDER)/index.html"
let url = URL(fileURLWithPath: pathData)
return URLRequest(url: url)
}
URL创建-"file:///var/mobile/Containers/Data/Application/427943C3-2238-49A3-AFCC-5561062B7CDA/Documents/CODE/index.html"
答案 0 :(得分:2)
尝试通过该URL检查该URL是否打开,或者在您所处的设备上不能按其调试状态进行调试。
guard let url = URL(string: "your url string/ path") // or directly your URL
else { return }
if UIApplication.shared.canOpenURL(url)
{
if #available(iOS 10.0, *) {
UIApplication.shared.open(url)
} else {
UIApplication.shared.openURL(url)
}
}
else
{
print("This doesn't seem to be a valid URL")
}
您也可以尝试一下,因为模拟器上的文档目录与真实设备不同:
let documentDirUrl = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false) // give your url here
let indexFileUrl = documentDirUrl.appendingPathComponent("index.html") // then append the path component of your html file
webView.loadFileURL(indexFileUrl, allowingReadAccessTo: documentDirUrl) // load the webview
答案 1 :(得分:0)
也许可以尝试将其用于本地文件夹。您可以检查您是否是文件出口。
func getLandingPage() -> URLRequest {
let docURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let path = "\(CODE_FOLDER)/index.html"
let url = documentURL.appendingPathComponent(path)
if FileManager.default.fileExists(atPath: (url?.path)!) {
return URLRequest(url: url)
} else {
print("File doesn't exists")
}
}