我们正在使用Phonegap 2.5.0开发一个应用程序(因为Phonegap Build中没有更新的版本)并且遇到了麻烦。
该应用程序是我们用来比较 jQuery Mobile 和 Sencha Touch 的简单测试应用程序。因此,我们创建了一个 index.html 文件,其中包含指向 jquery.html 和 sencha.html 的链接,它们实现了具有不同 UI 但调用相同 phonegap 触发器的相同应用程序。
我们有两种构建配置:
- 应用程序是通过 Eclipse 在本地构建的
- 应用程序是通过Phonegap Build在线构建的
我们使用与本地构建的 Android 应用程序相同的 Web 内容。我们只删除了为 2.5.0<script>
加载cordova.js的元素,并将内容与我们在本地构建的 Android 应用程序中使用的相同 config.xml 打包在一起。本地构建的 Android 应用程序运行良好。仅当通过 Phonegap Build 为 iOS 在线构建应用程序时才会出现问题。正如预期的那样,在线构建的 Android 应用程序可以正常工作。只有iOS会制造麻烦。
在 iOS 上会发生什么:
- index.html 已加载
- 我们可以单击切换到 jquery.html 或 sencha.html 的链接。
- 切换应用程序警报后,通过以下消息旋转一些对话框:
gap:["Device","getDeviceInfo","Device455526479"]
gap:["NetworkStatus","getConnectionInfo","NetworkStatus8103758"]
gap:["App","show","App8103759"]
- 然后我们可以访问该应用程序,甚至可以获取当前的 GPS 位置。
有任何想法吗?非常感谢!
我们的 config.xml:
<?xml version="1.0" encoding="utf-8"?>
<cordova>
<access origin="http://127.0.0.1*"/>; <!-- allow local pages -->
<access origin=".*"/>
<content src="index.html" />
<log level="DEBUG"/>
<preference name="useBrowserHistory" value="true" />
<preference name="exit-on-suspend" value="false" />
<plugins>
<plugin name="App" value="org.apache.cordova.App"/>
<plugin name="Geolocation" value="org.apache.cordova.GeoBroker"/>
<plugin name="Device" value="org.apache.cordova.Device"/>
<plugin name="Accelerometer" value="org.apache.cordova.AccelListener"/>
<plugin name="Compass" value="org.apache.cordova.CompassListener"/>
<plugin name="Media" value="org.apache.cordova.AudioHandler"/>
<plugin name="Camera" value="org.apache.cordova.CameraLauncher"/>
<plugin name="Contacts" value="org.apache.cordova.ContactManager"/>
<plugin name="File" value="org.apache.cordova.FileUtils"/>
<plugin name="NetworkStatus" value="org.apache.cordova.NetworkManager"/>
<plugin name="Notification" value="org.apache.cordova.Notification"/>
<plugin name="Storage" value="org.apache.cordova.Storage"/>
<plugin name="FileTransfer" value="org.apache.cordova.FileTransfer"/>
<plugin name="Capture" value="org.apache.cordova.Capture"/>
<plugin name="Battery" value="org.apache.cordova.BatteryListener"/>
<plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
<plugin name="Echo" value="org.apache.cordova.Echo"/>
<plugin name="Globalization" value="org.apache.cordova.Globalization"/>
<plugin name="InAppBrowser" value="org.apache.cordova.InAppBrowser"/>
</plugins>
</cordova>