Как вы изменяете плагин PhoneGap/Cordova и перестраиваете для iOS с модификацией?

Я использую плагин Splash экрана Cordova (http://plugins.cordova.io/#/package/org.apache.cordova.splashscreen), и есть ошибка с текущим плагином, который вызывает постоянное сбой приложения. Похоже, что ошибка зарегистрирована здесь (https://issues.apache.org/jira/browse/CB-7497), но еще не исправлена ​​в обновлении, хотя предоставляется обходной путь.

Как включить обходной путь в моем проекте, поскольку я не знаком с тем, как создавать или изменять плагины Кордовы. Я отредактировал код, чтобы включить обходное решение, упомянутое, но как мне получить плагин для перекомпиляции для настоящего проекта Cordova или iOS с изменениями кода, которые были сделаны? Я начинаю это, поэтому, если кто-то может предоставить легко понять инструкции о том, как я собираюсь включить этот модифицированный плагин обратно в свой проект, я был бы признателен.

Ответ 1

Если вы хотите локально изменить загруженный плагин, вам необходимо изменить исходные файлы плагина, которые уже скопированы в соответствующую папку платформы, в папке ios для вашего случая.

Например, путь к исходному файлу плагина сканера штрих-кода на платформе Android выглядит следующим образом:

<appname>\platforms\android\src\com\phonegap\plugins\barcodescanner\BarcodeScanner.java

С другой стороны, веб-часть плагина копируется из папки установки плагинов каждый раз, когда вы запускаете команду сборки, поэтому вам нужно ее там изменить. Пример:

<appname>\plugins\phonegap-plugin-barcodescanner\www\barcodescanner.js

Ответ 2

Сначала вам нужно удалить старый плагин, используя CLI

cordova plugin remove org.apache.cordova.splashscreen

Затем добавьте еще одну версию плагина

cordova plugin add org.apache.cordova.splashscreen**

после установки создайте проект и запустите.

Ответ 3

Если вы отлаживаете или хотите по какой-либо причине изменить код плагина (включая файл plugin.xml), вам следует удалить и снова добавить платформу. Весь код плагина будет развернут на соответствующей платформе в соответствии с XML файлом:

cordova platform remove ios
cordova platform add ios