Как получить ссылку на плагин Cordova? - PullRequest
0 голосов
/ 20 апреля 2019

Я пытаюсь использовать плагин cordova-app-Предпочтения.

$( document ).ready(function() {

    alert("doc ready");

    function ok (value) {
        alert("prefs.fetch value: "+value);
    }
    function fail (error) {
        alert("prefs.fetch error: "+error);
    }

    var prefs;

    try {
        prefs = plugins.appPreferences;
    }
    catch (e) {
        alert("can't find plugins.appPreferences");
    }

    prefs.fetch( ok, fail, "mode");

});

Это не удалось (поймать). Когда я использую отладчик Safari, плагины не определены. Я запускаю это на своем iPhone XS cordova run ios --device, версия Cordova - 8.0.0.

Отредактированная версия моего HTML:

<!DOCTYPE html>
<html lang="en" >

<head>

  <meta name="format-detection" content="telephone=no">
  <meta name="msapplication-tap-highlight" content="no">
  <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
  <script src="js/jquery-3.3.1.min.js" type="text/javascript"></script>

  <title>Login</title>
</head>

<body>

 <script type="text/javascript" src="cordova.js"></script>
  <script type="text/javascript" src="js/login.js"></script>

</body>

</html>

Итак, вопрос: что мне не хватает, чтобы получить ссылку на plugins.appPreferences?

UPDATE: Проблема кажется специфической для этого плагина. Для репликации

cordova create plugin-test com.mydomain.ptest PLUG
cd plugin-test
cordova plugin add cordova-plugin-app-preferences --save
cordova platform add ios
cordova run ios --device

(не удается, необходимо указать код подписывающего лица в xcode.)

cordova run ios --device

На этот раз он собирается и работает. Если я открою окно отладки Safari, cordova.plugins будет нулевым.

Теперь, если я добавлю еще один плагин (например, phonegap-plugin-barcodescanner) и снова запусту его, cordova.plugins существует, но содержит только barcodescanner.

1 Ответ

0 голосов
/ 21 апреля 2019

Ну, это странно, но я обнаружил, что этот конкретный плагин регистрирует себя во время выполнения, используя windows.plugins, в то время как другие, которые я рассмотрел, используют cordova.plugins.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...