私はPhoneGapアプリケーションで作業しており、特定のモジュールである「ネットワーク情報」(https://github.com/apache/cordova-plugin-network-information)のインストールに問題があります。 phonegap -v
は私が5.3.7を実行していることを示していますiOSのPhoneGapネットワーク情報プラグインに関する問題
他のすべてのプラグインは正常に動作しているようです。これは私が取り組んでいるアプリケーションの問題ですが、新しいアプリケーションでそれを再現することもできました。私が変更したファイルは、この例ではindex.htmlとjs/index.jsだけです。 は
phonegap create ios-test
cd ios-test
phonegap cordova plugin add cordova-plugin-dialogs
phonegap cordova plugin add cordova-plugin-network-information
PhoneGapのコルドバのプラグインリストの出力は次のとおりです:自動的に含まれるいかなるJS/cordova.jsファイルには、私は次のコマンドを使ってアプリを作成しました(
Cordova Network and Camera API returns undefined)
ではありません
cordova-plugin-dialogs 1.1.1 "Notification"
cordova-plugin-network-information 1.0.1 "Network Information"
提案に基づいてhere私はこれをsetTimeout()呼び出しでラップしましたが、違いはありません。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<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, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
</head>
<body>
<div class="app">
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</body>
</html>
そして、JS:ここ
は、HTML(index.htmlを)ですvar app = {
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
navigator.notification.alert('Test', null, 'Test', 'OK');
setTimeout(function() {
navigator.notification.alert('Debug', null, 'Checking connection', 'OK');
if (navigator.connection == undefined) {
navigator.notification.alert('navigator.connection is undefined', null, 'Error', 'OK');
return;
}
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.CELL] = 'Cell generic connection';
states[Connection.NONE] = 'No network connection';
navigator.notification.alert('Network Status', null, 'Connection type: ' + states[networkState], 'OK');
}, 5000);
}
};
phonegap serve
とのコードと私のiPhoneの開発者のアプリを実行している時に、私はデバッグを取得します"navigator.connection is undefined"を参照してください。
私はまた、iOS用構築しようとしました:
phonegap platform add ios
Adding ios project...
Running command: /Users/James/.cordova/lib/npm_cache/cordova-ios/3.9.2/package/bin/create /Web/ios-test/platforms/ios com.phonegap.helloworld "Hello World" --cli
iOS project created with [email protected]
Discovered plugin "cordova-plugin-whitelist" in config.xml. Installing to the project
Fetching plugin "[email protected]" via npm
Installing "cordova-plugin-whitelist" for ios
Installing "cordova-plugin-dialogs" for ios
Installing "cordova-plugin-network-information" for ios
これはplatforms/ios
フォルダを作成しますが、私はまだ同じ問題を持っています。
私も試してみた:
ARCをチェックは3210 Check internet connection on iOS app with Cordova Phonegap 3.3.0 not workingに以下を追加し、iOS8 phonegap cordova network-information app crashes
が有効になっている:
<feature name="NetworkStatus"> <param name="ios-package" value="CDVConnection" /> </feature>
- 使用
navigator.network.connection.type
代わりに、Check internet connection on iOS app with Cordova Phonegap 3.3.0 not working - チェックAudioToolbox.frameworkとSystemConfiguration.frameworkは両方が追加されている:あなたは正しく
this
コンテキストを使用していないCordova Network Plugin does not build on iOS
ご回答いただきありがとうございます。本当に便利です!以下では、私はまだ 'network.connection is undefined'を取得します:https://gist.github.com/jfi/14fcff97e8c3c98259aa –
私はCLiをやっていません。私は* [Phonegap Build](https://build.phonegap.com/)*を使っています。ネットワークにアクセスできない場合は、iOS9を使用している場合は、 'CSP'と' ATS'を適用する必要があります。ホワイトリストプラグインは数日前に削除されました。私はこの記事を修正する時間がなかった。 [Cordova/Phonegapホワイトリストシステムの適用方法](https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/the-whitelist-system.md)再び、ホワイトリストプラグインはiOS9にのみ適用され、 'CSP'と' ATS'はまだ有効です。幸運のベスト – JesseMonroy650
@ジェームス私のコメントを元の投稿に見なさい。あなたの 'config.xml'には問題があります。 – JesseMonroy650