2013-05-15 2 views
5

Мы разрабатываем приложение с 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.
  • после включения оповещения приложения с некоторыми диалогами вращающихся через следующие сообщения:
    1. gap:["Device","getDeviceInfo","Device455526479"]
    2. gap:["NetworkStatus","getConnectionInfo","NetworkStatus8103758"]
    3. 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> 

ответ

1

Phonegap Build поддерживает только как новейшую версию cordova 2.5.0. Теперь также можно использовать версию 2.7.0. После переключения на 2.7.0 оповещение() s исчезло. Теперь все работает так, как ожидалось!

Проблема решена!

5

Вы уверены, что вы включили файл PhoneGap JS, который специфичен для прошивки ?? Обычно эта ошибка возникает, когда вы неправильно включаете файлы кордовы/phonegap (принадлежит Android) для разработки iOS. В загруженной папке phonegap 2.5.0 у вас есть разные подпапки для разных платформ. Вы должны убедиться, что используете правильные файлы Javascript, которые даны для определенных платформ.

Возможный сценарий:

Вы, возможно, включен файл Cordova-2.5.0.js из папки Android, чтобы сделать IOS построить. Возможно, вы просто написали JS-файл в своей папке www. (Меньше возможности, хотя).

Fix:

Используйте Javascript (Кордова-2.5.0.js файл) файл из папки IOS в папке PhoneGap-2.5.0 для IOS построить.

+0

Это не сработает для нас, поскольку мы не должны включать 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-файла. Проблема остается. –

+1

Это был ответ для меня. Сначала я разработал приложение для Android. При запуске на телефоне Windows я забыл изменить файл cordova.js. – Berty

+0

Потрачено почти для поиска исправления, но это решение для меня. Я не ожидал, что файл Javascript может отличаться для двух платформ –

 Смежные вопросы

  • Нет связанных вопросов^_^