У меня есть приложение для iOS, часть логики которого написана на JavaScript
. Я создал WKWebView
, в который я загружаю свой исходный файл .js
, но при выполнении ему нужно читать из других файлов из моих локальных ресурсов. Проблема в том, что я не понимаю, как этого добиться.
Я пробовал загружать каждый отдельный файл один за другим из Swift
в webView
, но это слишком много файлов, чтобы загружать их вручную.
Хотя, возможно, для Swift
есть http-сервер, который будет иметь доступ к файлам проекта. И я нашел такие решения, как это или это.
Подход выглядит великолепно, но даже если я это сделаю, я все равно не смогу получить доступ к файлам и папкам из моей структуры проекта Xcode. Я создал базовый http-сервер, а также DAV-сервер, добавил обработчики GET
и т. д.
Возможно, я что-то не так настроил, но в конце, когда я создаю объект http server
, Я все еще могу получить к нему доступ с моего webView
в http://192.168.0.11:8080
, так что наверняка он правильно инициализирован и работает.
evaluateJavaScript
. С одной стороны у вас есть собственный компонент (какой-то класс), который имеет доступ к локальным файлам. В середине у вас естьWKWebView.evaluateJavaScript
, который может отправлять данные на страницу внутри WKWebView (используя обмен сообщениями или внедрение JavaScript). Затем внутри веб-страницы вы сможете либо прослушивать сообщения, либо читать введенные вами переменные. - person Kiril S.   schedule 17.12.2020