iPhone 7无法显示网络视图

时间:2019-01-23 06:32:32

标签: ios iphone swift wkwebview

我正在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"

2 个答案:

答案 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")
}
}