Я пытаюсь использовать плагин 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
.