Xcode PhoneGap navigator.connection未定义

时间:2013-07-25 15:20:16

标签: ios xcode cordova

尝试将我的PhoneGap javascript代码移植到Xcode中以便在iOS中进行调试。 使用Cordova-3.0.0。

我打电话的时候:

navigator.connection.type

我正在为navigator.connection获取'undefined'。

我没有在config.xml中正确包含网络连接插件,还是其他不妥之处?是的,我包含了专门针对iOS的正确cordova.js文件。是的,已经解雇了设备。

更新:我目前只在iOS模拟器上运行此功能。

我的config.xml:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.app.test" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>Hello Cordova</name>
    <description>
        Description
    </description>
    <author email="dev@callback.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <access origin="*" />
    <preference name="fullscreen" value="true" />
    <preference name="webviewbounce" value="true" />
    <plugins>
        <plugin name="NetworkStatus" value="CDVConnection" />
    </plugins>
</widget>

感谢您的帮助!

2 个答案:

答案 0 :(得分:7)

我正在研究这个,最后想出了解决方案。 显然,PhoneGap(Adobe)最近更新了他们的文档,并填补了我为Phonegap 3.0.0运行的很多漏洞

1)要使用命令行界面执行此操作,必须安装git才能运行这些命令。获取git here

2)他们添加到Connection插件文档中,使用以下命令行界面命令将插件添加到项目中:

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git
$ cordova plugin rm org.apache.cordova.core.network-information

3)他们将config.xml文件中的声明更新为以下(对于iOS):

<feature name="NetworkStatus">
    <param name="ios-package" value="CDVConnection" />
</feature>

答案 1 :(得分:2)

如果您只想知道自己是否已连接,请尝试在js中使用navigator.onLine。适用于IOS 8&amp; Android 2.3并且不需要任何插件