我们正在开发一个带有 Phonegap 2.5.0 的应用程序(因为Phonegap Build中没有更新的版本)并且遇到了麻烦。
该应用程序是一个简单的测试应用程序,我们用它来比较jQuery Mobile和Sencha Touch。因此,我们创建了一个index.html文件,其中包含指向jquery.html和sencha.html的链接,这些链接使用不同的UI实现相同的应用程序但调用相同的phonegap触发器。
我们有两种构建配置:
我们使用与本地构建的Android应用相同的网络内容。我们只删除加载 cordova.js for 2.5.0的<script>
元素,并将内容与我们在本地构建的Android应用中使用的相同config.xml打包在一起。
本地构建的Android应用程序工作得很好。仅当通过Phonegap Build在线为iOS构建应用程序时才会出现问题。正如预期的那样,Android应用程序在线构建。只有iOS会带来麻烦。
iOS上会发生什么:
gap:["Device","getDeviceInfo","Device455526479"]
gap:["NetworkStatus","getConnectionInfo","NetworkStatus8103758"]
gap:["App","show","App8103759"]
任何想法?非常感谢!
我们的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>
答案 0 :(得分:5)
你确定你已经包含了特定于iOS的Phonegap JS文件吗?通常,当您错误地包含用于iOS开发的cordova / phonegap文件(属于Android)时会发生此错误。在下载的phonegap 2.5.0文件夹中,您有不同平台的不同子文件夹。您必须确保使用为特定平台提供的正确Javascript文件。
可能的情况:
您可能已包含Android文件夹中的cordova-2.5.0.js文件以构建iOS。 您可能刚刚拼错了www文件夹中的JS文件。 (尽管可能性较小)。
<强>修正:强>
使用Phonegap-2.5.0文件夹内iOS文件夹中的Javascript(Cordova-2.5.0.js文件)文件进行iOS构建。
答案 1 :(得分:1)
Phonegap Build仅支持最新版本的cordova 2.5.0。现在也可以使用2.7.0版本。切换到2.7.0后,警报()已消失。一切都按预期工作了!
问题解决了!