iOS上的PhoneGap网络信息插件问题 [英] Issue with PhoneGap Network Information Plugin on iOS

查看:80
本文介绍了iOS上的PhoneGap网络信息插件问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用PhoneGap应用程式,并且在安装一个特定的模组「网路资讯」( https://github.com/apache/cordova-plugin-network-information )。 phonegap -v 显示我正在运行版本5.3.7

I'm working on a PhoneGap app, and have an issue with installing one particular module, "Network Information" (https://github.com/apache/cordova-plugin-network-information). phonegap -v shows I'm running version 5.3.7

所有其他插件似乎工作正常。这是我正在开发的应用程序中的一个问题,但我也设法在一个新的应用程序中重现它:在这个例子中,我改变的只有两个文件是index.html和js / index.js,是没有js / cordova.js文件,这是自动包括( Cordova网络和相机API返回未定义

All other plugins seem to be working fine. This is an issue in the application I'm working on but I've also managed to reproduce it in a new application: The only two files I've changed are index.html and js/index.js in this example, and there is no js/cordova.js file, which is automatically included (Cordova Network and Camera API returns undefined)

我使用以下命令创建了应用程序:

I've created the app using the following commands:

phonegap create ios-test
cd ios-test
phonegap cordova plugin add cordova-plugin-dialogs
phonegap cordova plugin add cordova-plugin-network-information

phonegap cordova插件列表的输出是:

The output of phonegap cordova plugin list is:

cordova-plugin-dialogs 1.1.1 "Notification"
cordova-plugin-network-information 1.0.1 "Network Information"

根据建议此处

这里是HTML(index.html):

Here is the HTML (index.html):

<!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:

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是未定义的。

Upon running the code with phonegap serve and the Developer app on my iPhone, I get the Debug alert then see "navigator.connection is undefined".

ve也尝试为iOS构建:

I've also tried to build for 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 cordova-ios@3.9.2
Discovered plugin "cordova-plugin-whitelist" in config.xml. Installing to the project
Fetching plugin "cordova-plugin-whitelist@1" via npm
Installing "cordova-plugin-whitelist" for ios
Installing "cordova-plugin-dialogs" for ios
Installing "cordova-plugin-network-information" for ios

$ c> platforms / ios 文件夹,但我仍然有同样的问题。

This creates a platforms/ios folder, but I still have the same issue.

've also tried:

I've also tried:

添加以下内容到 config.xml 使用Cordova Phonegap 3.3.0在iOS应用上检查互联网连接








查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆