Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS上的PhoneGap网络信息插件问题_Ios_Cordova_Phonegap Plugins_Cordova Plugins - Fatal编程技术网

iOS上的PhoneGap网络信息插件问题

iOS上的PhoneGap网络信息插件问题,ios,cordova,phonegap-plugins,cordova-plugins,Ios,Cordova,Phonegap Plugins,Cordova Plugins,我正在开发PhoneGap应用程序,在安装一个特定模块“网络信息”(networkinformation)时遇到问题phonegap-v显示我正在运行5.3.7版 所有其他插件似乎都工作正常。这是我正在处理的应用程序中的一个问题,但我也设法在一个新的应用程序中重现了这个问题:在本例中,我只更改了index.html和js/index.js两个文件,没有自动包含的js/cordova.js文件() 我使用以下命令创建了应用程序: phonegap create ios-test cd ios-te

我正在开发PhoneGap应用程序,在安装一个特定模块“网络信息”(networkinformation)时遇到问题
phonegap-v
显示我正在运行5.3.7版

所有其他插件似乎都工作正常。这是我正在处理的应用程序中的一个问题,但我也设法在一个新的应用程序中重现了这个问题:在本例中,我只更改了index.html和js/index.js两个文件,没有自动包含的js/cordova.js文件()

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

phonegap create ios-test
cd ios-test
phonegap cordova plugin add cordova-plugin-dialogs
phonegap cordova plugin add cordova-plugin-network-information
phonegap cordova插件列表的输出为:

cordova-plugin-dialogs 1.1.1 "Notification"
cordova-plugin-network-information 1.0.1 "Network Information"
根据一个建议,我将其包装在一个setTimeout()调用中,但这似乎没有什么区别

以下是HTML(index.HTML):

在iPhone上使用
phonegap-service
和开发者应用程序运行代码时,我收到调试警报,然后看到“navigator.connection未定义”


我还尝试为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
这会创建一个
platforms/ios
文件夹,但我仍然有同样的问题


我也试过:

  • 检查ARC是否已启用

  • 将以下内容添加到
    config.xml


  • 改用
    navigator.network.connection.type
  • 正在检查AudioToolbox.framework和SystemConfiguration.framework均已添加:

您没有正确使用
上下文。这是一个常见的错误。Javascript
this
的工作方式与Java
this
不同

它不起作用的原因是
运行时得到解析,而不是在汇编时(或编译时)。当事件触发时,
this
解析为全局
this
,因为您的
app
对象现在超出范围。事件在
应用程序
对象的*外部*激发

一个快速解决方法是使用
app.ondevicerady
而不是
this.ondevicerady
您可以通过将
ondevicerady()
设置为全局函数并保留
this
来测试这一点

噢,
setTimeout()
answer是不知道需要等待
devicerady
事件的人。Javascript世界中充斥着糟糕的代码和糟糕的建议

这些视频应该会有所帮助祝你好运


对于任何感兴趣的人,我确实通过以下方法成功地使用PhoneGap构建:

<gap:plugin name="cordova-plugin-network-information" version="1.0.1" />

<feature name="Geolocation">
    <param name="ios-package" value="CDVLocation" />
</feature>


但是CLI不太好用,所以这是最初的问题,没有回答(这样做更容易实现)。

谢谢您的回答,这真的很有用!通过以下操作,我仍然得到“network.connection未定义”:我不执行CLi,尽管我应该这样做。我一直在用。在无法访问网络时,如果您使用的是iOS9,则需要应用
CSP
ATS
。几天前,
白名单
插件已经被删除。我还没来得及修改这篇文章。同样,
白名单
插件不再适用于iOS9,
CSP
ATS
仍然有效。最好的Luck@JamesI,请参阅我对您原始帖子的评论。您的
config.xml
有问题。
已弃用。看到你的插件会失败,不是现在,将来,看看博客。引用:“还要确保您的第三方插件都是最新的,并且您的核心插件都来自NPM,如下所示:
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
<feature name="NetworkStatus">
  <param name="ios-package" value="CDVConnection" />
</feature>
<gap:plugin name="cordova-plugin-network-information" version="1.0.1" />

<feature name="Geolocation">
    <param name="ios-package" value="CDVLocation" />
</feature>