Мы разрабатываем приложение с Phonegap 2.5.0 (так как нет новой версии в Phonegap Build) и сталкиваются с проблемами.Phonegap Создание приложения с помощью Phonegap Создание оповещений с ошибками на iOS
Приложение - это простое тестовое приложение, которое мы используем для сравнения jQuery Mobile и Sencha Touch. Поэтому мы создали файл index.html witch, содержащий ссылки на jquery.html и sencha.html, реализующие одно и то же приложение с другим пользовательским интерфейсом, но вызывающие одни и те же триггеры телефонных звонков.
У нас есть две сборки конфигурации:
- App строится локально с помощью Eclipse,
- App строится в режиме онлайн через Phonegap Build
Мы используем тот же веб-контента, как на нашем локально построить Android приложение , Мы удаляем только элемент <script>
, который загружает cordova.js для 2.5.0 и упаковывает содержимое вместе с тем же самым config.xml, который мы используем в локально построенном приложении для Android. Локальное приложение для Android работает отлично. Проблемы возникают только тогда, когда приложение встроено в iOS через Phonegap Build. Android-приложение, построенное в режиме онлайн, работает, как и ожидалось. Только 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>
Это не сработает для нас, поскольку мы не должны включать JS-файл в наш проект! Ваше исправление предназначено для локально созданного приложения. Мы строим онлайн с помощью [Phonegap Build] (https://build.phonegap.com/). Согласно [Adobe] (https://build.phonegap.com/docs/preparing-your-app#configure_application), мы должны удалить файл JS-файла phongegap/cordova для сборки через [Phonegap Build] (https: // build .phonegap.com /). Он будет содержать правильный вариант для правильной платформы. Таким образом, в нашем проекте нет неправильного JS-файла. Проблема остается. –
Это был ответ для меня. Сначала я разработал приложение для Android. При запуске на телефоне Windows я забыл изменить файл cordova.js. – Berty
Потрачено почти для поиска исправления, но это решение для меня. Я не ожидал, что файл Javascript может отличаться для двух платформ –