iPhone 7 не отображает веб-просмотр - PullRequest
0 голосов
/ 23 января 2019

Я разрабатываю приложение для веб-просмотра в ios. Я начал вносить изменения в мой код. И смена кода совершенно в порядке. Приложение отвечает в симуляторе (iPhone 7) так, как оно должно реагировать. Но при развертывании приложения на устройстве (iPhone 7) приложение отображает только пустую страницу.

Это странно. Я прочитал много статей, где они говорили о сетевом носителе. В настоящее время он показывает No Service. Я попытался повторно вставить сим-карту. Но это было бесполезно. Я не знаю, было ли это полезным или нет.

Если бы кто-то мог сказать, что все я должен попытаться отладить.

Обновление вопроса

Как я загружаю webview

Случай 1: Когда я беру index.html из softlink в каталоге проекта, я могу сделать это на своем устройстве

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"

case 2: Когда я копирую все файлы из моей директории softlink в директорию внутри 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 create- "file:///var/mobile/Containers/Data/Application/427943C3-2238-49A3-AFCC-5561062B7CDA/Documents/CODE/index.html"

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Попробуйте проверить этот 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
0 голосов
/ 23 января 2019

Возможно, попробуйте этот вариант для локальных папок. Вы можете проверить, есть ли у вас выход из файла или нет.

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")
}
}
...