2012-06-26 2 views
9

Как вы отлаживаете javascript в Xcode?iOS PhoneGap debug Рабочий процесс

Одна вещь, которую я могу сделать, это открыть страницу в браузере Chrome OS X X, но, естественно, это не сработает для потока приложений с использованием собственного кода. Есть ли уловка для смарт-Xcode, которую я пропускаю.

+0

Единственное, что я могу думать о - отправлять сообщения журнала с Javascript через Phonegap на консоль Xcode. Кроме этого, я не думаю, что есть другой способ отладки Javascript на устройстве. – nhahtdh

+0

Да, console.log - твой друг :-). Использование Chrome - лучшая ставка на то, чтобы заставить JS работать, а затем добавить в собственную функциональность. – codemonkey

+0

Недавно Apple добавила удаленную отладку мобильных устройств в веб-инспектор Safari. Это большой шаг вперед в отладке приложений iOS PhoneGap. (см. мой ответ ниже) –

ответ

1

Попробуйте использовать weinre, это действительно хороший инструмент для отладки приложений javascript на мобильных устройствах.

http://people.apache.org/~pmuellr/weinre/docs/latest/

Хотя вы все еще не в состоянии отладки сценария шаг за шагом, поскольку это дает на рабочем столе, но дает гораздо больше деталей, чем Xcode (~ для JavaScript).

16

С выпуском iOS 6 Apple выпустила удаленный веб-инспектор для своего мобильного Safari совместно с Mac Safari 6, и это огромное. В основном у вас есть все возможности и возможности Web Inspector в обычном Safari для ваших мобильных приложений, включая приложения Phonegap. Я использовал weinre, и это делает его устаревшим для более новых версий iOS (но не для старых версий iOS, не iOS-устройств, таких как Android, или если вы находитесь в Windows).

Вот как это работает (требуется Mac, либо Xcode 4.5+ работает под управлением IOS 6+ симулятор или 6+ устройства IOS, и Safari 6+ на вашем Mac):

в вашем ИОС тренажере или Ios устройства , открыть настройки -> Safari -> Дополнительно -> Веб-инспектор -> (включить). (это включено по умолчанию в симуляторе, но его стоит проверить)

В Safari, после того, как вы запустили приложение phoneGap/cordova и его загруженный &, зайдите в iPhone Simulator или ваше устройство из меню «Разработка». Вы можете включить меню «Разработка» в «Расширенных настройках Safari», если оно еще не было.

Более подробное обсуждение в нижней части: http://www.mobilexweb.com/blog/iphone-5-ios-6-html5-developers

(также, если вы читали о «секретный закрытый интерфейс» где-то, это больше не работает.)

+1

Как отлаживать процесс загрузки? Когда мне удается открыть инспектора, приложение уже загружено, поэтому нет возможности установить точки останова в коде загрузки. Есть идеи? – blurrcat

+1

@blurrcat Извините, я некоторое время не был. То, что вы описали, является его ограничением, и у меня тоже был этот вызов. Для меня, похоже, две вещи, возможно, сработали: я смог добавить alert() перед моим кодом инициализации, который в основном приостановил выполнение, пока я не щелкнул OK. Или добавив оболочку setTimeout (...) вокруг моей функции инициализации во время отладки. Надеюсь, что поможет –

+0

Да alert()! Вы - гений! – blurrcat