Почему веб-просмотр падает - PullRequest
0 голосов
/ 27 августа 2018

Я вызываю веб-страницу в WKWebView, но она всегда вылетает при запуске приложения, с таким сообщением об ошибке:

Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании Необязательное значение.

Мой код ниже

let param = "https://myapp.mydomain.com/GameAPI/index.jsp?user=0202020767|0202020767"
let url = URL(string: param)
webView.load(URLRequest(url: url!))

На данный момент ноль указывает на этот код:

webView.load(URLRequest(url: url!))

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Это происходит, потому что URL, который вы пытались достичь, не может быть разрешен.

Кроме того, лучше использовать необязательное связывание, а не принудительное развертывание.

Вот код, который вы можете проверить с действительным URL:

if let url = URL(string: "your url") {
   webView.load(URLRequest(url: url))

} else {
   print("could not open url, it is nil")
}
0 голосов
/ 27 августа 2018

Я подозреваю, что символ "|" в параметре портит ваш URL.

Попробуйте сделать это:

let param = "user=0202020767|0202020767"
let escapedParam = param.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
let fullURLString = "https://myapp.mydomain.com/GameAPI/index.jsp?\(escapedParam)"
if let url = URL(string: fullURLString) {
    webView.load(URLRequest(url: url))
} else {
    Swift.print("url is nil for some reason")
}
...