WKWebView charge les ressources à partir du dossier de documents local

Dans ma Swift application iOS, je veux télécharger des pages HTML dynamiques à partir d'un serveur distant, de les enregistrer dans le répertoire du document, et l'affichage de ces pages de répertoire de documents.

J'ai été en utilisant ce pour charger la page:

var appWebView:WKWebView?
...
appWebView!.loadRequest(NSURLRequest(URL: NSURL(fileURLWithPath: htmlPath)))

Tout fonctionne sur le simulateur, mais quand j'ai déménagé à de vrais téléphones, il a juste montré une page vierge. J'ai ensuite connecté à l'application à l'aide de Safari, et a trouvé qu'il s'en est plainte à "Échec du chargement de la ressource".

J'ai ensuite essayé de lire d'abord le contenu de la page à htmlPathpuis utilisez

appWebView!.loadHTMLString()

pour charger la page. Il fonctionne lorsque la page HTML est simple. Mais si les références HTML quelque chose d'autre, c'est à dire un fichier JavaScript aussi dans le répertoire du document (avec un chemin absolu comme <script src="file:////var/mobile/Containers/Data/Application/762035C9-2BF2-4CDD-B5B1-574A0E2B0728/Documents/xxxxx.js">), il ne parvient pas à charger.

Personne ne sait ce qui se passe, et comment résoudre le problème?

Plus d'infos:

  • XCode version: 7.3.1
  • Cible de déploiement: 8.1 (j'ai essayé d'utiliser 9.3 trop, mais cela n'a pas d'aide).

source d'informationauteur Peter