Bonjour à tous/toutes,
merci tout d’abord à Maxime pour l’excellence de son cours et ses capacités didactiques hors pair!
Débutant total, je me suis pris au jeu en suivant le cours iOS11/xCode 9 en essayant de développer une petite application, mais je reste bloqué pour l’affichage de fichier html stockés en local que j’aimerai afficher dans une WKWebview. Il s’agit d’une application type tableview -> detailview. Aucun problèmes pour afficher la table, faire défiler les cellules, détecter quelle cellule est sélectionnée et passer cette information du premier ViewController au second. Dans le second, j’arrive à afficher dans la console le contenu de la cellule sélectionnée, le nom du fichier html que je voudrais montrer dans le WKWebview. J’arrive aussi à afficher des fichiers pdf stockés sur un site web, mais impossible d’afficher les fichiers html locaux (quelques pages et une css style sheet externe, le tout stocké dans le répertoire principal de l’application. J’ai essayé de les afficher avec
let url = NSURL(fileURLWithPath: "test.html")
let request = NSURLRequest(URL: url!)
myWebView.loadRequest(request)
puis
if let pathToLoad = selectedPath{
print (pathToLoad) //ça s'imprime dans la console sans problème
print (selectedPath!) //ça s'imprime dans la console sans problème
if let path = Bundle.main.path(forResource: "\(pathToLoad)", ofType: "html") {
myWebView.load( URLRequest(url: URL(fileURLWithPath: path)) )
}else {
print ("erreur") // je reçois ce message
return
}
puis (j’ai trouvé ce code sur un blog)
do {
guard let filePath = Bundle.main.path(forResource: pathToLoad, ofType: "html")
else {
print ("File reading error") // je reçois ce message
return
}
let contents = try String(contentsOfFile: filePath, encoding: .utf8)
let baseUrl = URL(fileURLWithPath: filePath)
myWebView.loadHTMLString(contents as String, baseURL: baseUrl)
}
catch {
print ("File HTML error")
}
L’application se compile sans problèmes, mais ensuite, soit elle plante (unexpected nil value) soit rien ne s’affiche, alors que l’info arrive dans le 2ème viewController puisque j’arrive à afficher le nom du dossier dans la console…quelqu’un peut-il m’aider à y comprendre quelque chose???
Merci d’avance!