PhoneGap - Проблемы с установкой плагина cordova-plugin-wkwebview-engine-localhost

Я работаю над проектом javascript, клиент требует, чтобы он был опубликован в AppStore. Мы решили работать с PhoneGap, поскольку он проделал за нас большую часть работы и результаты были удовлетворительными. Однако производительность на некоторых устройствах Apple была низкой по сравнению с приложением, работающим только в Safari.

Прочитав UIWebView и узнав, как он устарел, я решил попробовать WKWebView в надежде, что производительность будет хотя бы немного лучше.

Я успешно установил Кордова-плагин-wkwebview-engine, что привело меня к проблемам с XHR, которые, как я видел, возникают у многих людей. Однако я нашел решение через этот пост https://stackoverflow.com/a/42953116/10551718

Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь воспроизвести то, что сделал этот джентльмен, я получаю ошибки в сборке PhoneGap, касающиеся Кордова-плагин-wkwebview-engine-localhost, в которых говорится, что он не может клонировать репозиторий git.

Build Date: 2018-10-24 04:20:25 -0700
--------------------------------------------------------------------------------
PLUGIN OUTPUT
--------------------------------------------------------------------------------
Fetching plugin "cordova-plugin-splashscreen" via npm
Installing "cordova-plugin-splashscreen" at "5.0.2" for ios
Fetching plugin "cordova-plugin-wkwebview-engine" via npm
Installing "cordova-plugin-wkwebview-engine" at "1.1.4" for ios
"plugman-151 install --platform ios --project /project --plugin https://github.com/apache/cordova-plugins.git#wkwebview-engine-localhost --nohooks=.": Fetching plugin "https://github.com/apache/cordova-plugins.git" via git clone
Using shallow clone
Repository "https://github.com/apache/cordova-plugins.git" checked out to git ref "wkwebview-engine-localhost" at "a3cc931".
Installing "cordova-labs-wkwebview-engine-localhost" at "0.5.1" for ios
Fetching plugin "git+https://github.com/apache/cordova-plugins.git" via git clone
Cloning full repository
Failed to install 'cordova-labs-wkwebview-engine-localhost': Error
at /.nvm/versions/node/v8.1.4/lib/node_modules/pgb-plugman-151/node_modules/pgb-cordova-lib/src/plugman/fetch.js:100:37
at _rejected (/.nvm/versions/node/v8.1.4/lib/node_modules/pgb-plugman-151/node_modules/cordova-common/node_modules/q/q.js:864:24)
at /.nvm/versions/node/v8.1.4/lib/node_modules/pgb-plugman-151/node_modules/cordova-common/node_modules/q/q.js:890:30
at Promise.when (/.nvm/versions/node/v8.1.4/lib/node_modules/pgb-plugman-151/node_modules/cordova-common/node_modules/q/q.js:1142:31)
at Promise.promise.promiseDispatch (/.nvm/versions/node/v8.1.4/lib/node_modules/pgb-plugman-151/node_modules/cordova-common/node_modules/q/q.js:808:41)
at /.nvm/versions/node/v8.1.4/lib/node_modules/pgb-plugman-151/node_modules/cordova-common/node_modules/q/q.js:624:44
at runSingle (/.nvm/versions/node/v8.1.4/lib/node_modules/pgb-plugman-151/node_modules/cordova-common/node_modules/q/q.js:137:13)
at flush (/.nvm/versions/node/v8.1.4/lib/node_modules/pgb-plugman-151/node_modules/cordova-common/node_modules/q/q.js:125:13)
at _combinedTickCallback (internal/process/next_tick.js:95:7)
at process._tickCallback (internal/process/next_tick.js:161:9)
Failed to fetch plugin git+https://github.com/apache/cordova-plugins.git via git.
Either there is a connection problems, or plugin spec is incorrect:
Error: git: Command failed with exit code 128 Error output:
Cloning into '/var/folders/lt/xxbrk07x45bdj1fl3wjgf8yc0000gn/T/git/1540380025411'...
fatal: Unable to find remote helper for 'git+https'

У меня это в конфиге ...

<plugin name = "cordova-plugin-splashscreen" source = "npm" />
<plugin name = "cordova-plugin-wkwebview-engine" source = "npm" />
<plugin name = "cordova-plugin-wkwebview-engine-localhost" spec = "https://github.com/apache/cordova-plugins.git#wkwebview-engine-localhost" />

<content src = "http://localhost" />

<feature name = "CDVWKWebViewEngine">
    <param name = "ios-package" value = "CDVWKWebViewEngine" />
</feature>

<preference name = "CordovaWebViewEngine" value = "CDVWKWebViewEngine" />

Любая помощь будет принята с благодарностью!

Можете попробовать переключить версию узла с 8.11 на 6.xx, это может помочь. В документации говорится, что добавьте <content src = "http://localhost:0" />, где для 0 он может выбрать любой свободный порт, а также для плагина требуется как минимум версия 4.1.0 cordova-ios.

siddhant sankhe 25.10.2018 11:41

Можем ли мы изменить версию узла, которую использует PhoneGap?

akalegman 25.10.2018 12:08

нам нужно настроить версию узла только на нашей машине

siddhant sankhe 25.10.2018 12:10

Я не совсем понимаю, что вы имеете в виду, ведь версия узла на моей машине не влияет на процесс сборки PhoneGap, верно?

akalegman 25.10.2018 12:19

Сделайте изменение версии узла последним, сначала попробуйте конфигурацию, которую предлагает здесь документ

siddhant sankhe 25.10.2018 12:45

Не могли бы вы объяснить, как я на самом деле собираюсь вносить эти изменения, и не могли бы вы дать мне ссылку на этот документ, на который вы ссылаетесь. Спасибо за помощь.

akalegman 25.10.2018 13:04
github.com/apache/cordova-plugins/blob/… это плагин, который вы используете, этот плагин сам использует еще два, github.com/apache/cordova-plugin-wkwebview-engine и github.com/apache/cordova-plugins/tree/local-webserver, прочтите их документы
siddhant sankhe 25.10.2018 13:26

хорошо, как мне проверить, какую версию cordova-ios я использую, и обновить ее через PhoneGap config.xml?

akalegman 25.10.2018 14:02
npm info cordova, вероятно, может предоставить вам текущую информацию о сборке, для обновления плагинов переустановите их или удалите, установите
siddhant sankhe 25.10.2018 14:12

Я думаю, вы не поняли, что я делаю. Я использую build.phonegap.com/apps, чтобы загрузить свой проект и получить скомпилированный .ipa. У меня нет возможности запускать команды npm с помощью этого метода, все управляется через файл config.xml, который я загружаю.

akalegman 25.10.2018 15:06
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
10
1 473
1

Ответы 1

В итоге я нашел альтернативный плагин - https://github.com/ionic-team/cordova-plugin-ionic-webview

Это установилось без проблем и правильно включило WKWebView, что привело к значительному увеличению производительности!

Другие вопросы по теме