Wir entwickeln eine App mit Phonegap 2.5.0 (da es keine neuere Version in Phonegap Build gibt) und Probleme auftreten.Phonegap App Build mit Phonegap Erstellen Sie Warnungen mit Fehlern auf iOS
Die App ist eine einfache Test-App, die wir verwenden, um jQuery Mobile und Sencha Touch zu vergleichen. Daher haben wir eine index.html-Datei erstellt, die Links zu einer jquery.html und einer sencha.html enthält, die dieselbe App mit einer anderen Benutzeroberfläche implementieren, aber dieselben Phonegap-Trigger aufrufen.
Wir haben zwei Build-Konfigurationen:
- App lokal über Eclipse basiert ist
- App integriert ist online über Phonegap Build
Wir verwenden die gleichen Web-Inhalte wie auf unserem lokal bauen Android App . Wir entfernen nur das Element <script>
, das die cordova.js für 2.5.0 lädt, und packt den Inhalt zusammen mit der gleichen config.xml, die wir in der lokal erstellten Android-App verwenden. Die lokal gebaute Android App funktioniert gut. Probleme treten nur auf, wenn die App online für iOS über Phonegap Build erstellt wird. Die online erstellte Android-App funktioniert erwartungsgemäß. Nur iOS macht Probleme.
Was passiert auf iOS:
- index.html geladen
- wir in der Lage sind auf den Link zu klicken, der die jquery.html oder sencha.html schaltet.
- nach der App-Benachrichtigungen mit einigen Dialogen Umschalten durch folgende Meldungen Dreh:
gap:["Device","getDeviceInfo","Device455526479"]
gap:["NetworkStatus","getConnectionInfo","NetworkStatus8103758"]
gap:["App","show","App8103759"]
- dann können wir die App zugreifen und sind sogar in der Lage, die aktuelle GPS zu erhalten Position.
Irgendwelche Ideen? Danke vielmals!
Unsere 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>
Dies funktioniert nicht für uns, da wir keine JS-Datei in unser Projekt aufnehmen dürfen! Ihr Fix ist für eine lokal erstellte App. Wir bauen online mit [Phonegap Build] (https://build.phonegap.com/). Gemäß [Adobe] (https://build.phonegap.com/docs/preparing-your-app#configure_application) müssen wir die phongegap/cordova JS-Datei entfernen, um sie über [Phonegap Build] (https: // build) zu erstellen .phonegap.com /). Es wird die richtige für die richtige Plattform enthalten. Es gibt also keine falsch positionierte JS-Datei in unserem Projekt. Das Problem bleibt bestehen. –
das war die Antwort für mich. Ich habe zuerst eine App für Android entwickelt. Beim Start auf Windows Phone habe ich vergessen, die Datei cordova.js zu ändern. – Berty
Fast für die Suche nach einer Lösung, aber das war die Lösung für mich. Ich habe nicht erwartet, dass eine Javascript-Datei für zwei Plattformen unterschiedlich sein kann –