我正在尝试开发PhoneGap应用程序,但我很困惑。我的开发环境是Windows,我使用VisualStudio使用HTML 5,CSS 3,jQuery,jQuery Mobile等创建我的应用程序。我有一个PhoneGap Build帐户,我可以上传我的应用程序的zip文件,它建立。我正在使用PhoneGap 3.1.0。我正在尝试检查我的网络连接。在我的config.xml文件中,我有以下内容:
<feature name="NetworkStatus">
<param name="ios-package" value="CDVConnection" />
</feature>
这是我检查连接的代码:
// Wait for device API libraries to load
document.addEventListener("deviceready", onDeviceReady, false);
// device APIs are available
function onDeviceReady()
{
checkConnection();
}
function checkConnection()
{
try
{
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';
alert('Connection type: ' + states[networkState]);
}
catch (e)
{
alert(e);
}
}
navigator.connection.type错误输出并且始终未定义,无论我的iPad mini上的网络连接如何。
以下是我包含的JavaScript文件:
<script src="cordova.js"></script>
<script src="cdv-plugin-fb-connect.js"></script>
<script src="facebook-js-sdk.js"></script>
在谷歌搜索解决方案时,我看到了很多令人困惑和矛盾的信息。
请帮我指点方向。我的理解是,我需要做的就是使用HTML 5,CSS和必要的JavaScript创建我的应用程序,而我需要的所有PhoneGap都是带有必要条目的config.xml文件,以便使用PhoneGap BUild为不同平台构建我的应用程序。对于我想支持的每个平台,我都不应该去Mac或Eclipse等。
答案 0 :(得分:2)
您不需要CLI使用phonegap构建,您只需要您的html5应用程序和项目的config.xml配置文件。
Phonegap cli允许自动化远程构建,但根本不需要它。
您只需要在html文件中引用phonegap.js(使用require自动加载cordova.js)。
如果没有mac,您将能够构建您的应用程序,但您需要一个Apple开发者帐户才能将证书添加到您的应用程序并能够在您的设备中安装(使用配置文件)。但不幸的是,如果你想在苹果商店添加你的应用程序,你仍然需要一台Mac。
我认为你错过的是在config.xml中定义插件(在phonegap 3中,每个核心api都是你需要包含的插件,如果你使用它)。
您在插件中添加插件的方式不是添加<feature>
标记,而是添加<gap:plugin>
。
我建议您查看phonegap build docs。并查看the plugin list at this page。
对于连接api,您需要添加行
<gap:plugin name="org.apache.cordova.network-information" />
4.最后,要使用facebook connect插件,您不必包含js文件,而是按照instructions on this页面添加插件。
在the doc you lincked开始时,您将看到它被指示使用cordova plugin add org.apache.cordova.network-information
来安装插件,这是使用CLI时继续进行的方式。
对于phonegap构建,您必须在config.xml中添加行<gap:plugin name="org.apache.cordova.network-information" />
才能获得相同的结果。检查the plugin doc on phonegap build for proper instructions。
关于<feature>
行,文档中实际解释的是,当您使用CLI安装插件时,行<feature name="NetworkStatus">...
会自动添加到文件platforms\android\res\xml\config.xml
中(并且必须手动完成本地构建而不使用CLI的人员
关键是这句话:
这些命令适用于所有目标平台,但修改了 特定于平台的配置设置如下所述: