Есть ли способ заставить weinre подключиться (WP8.1 через Tools for Apache Cordova CTP3)

Итак, мне нужен консольный вывод через консольный плагин, и для этого у меня должен быть запущен weinre. Инструкции и учебные пособия weinre хорошо написаны и обширны — у меня есть все основания полагать, что я настроил правильно, потому что с моего тестового устройства WP8.1 я могу использовать IE для перехода на свой локальный сервер weinre и запускать weinre red/green/ синяя демонстрация. Локальный сервер weinre работает --boundHost 10.0.0.4 --debug, и он точно показывает подключение демо-версии weinre через IE.

Однако при помещении <script>"http://10.0.0.4:8080/target/target-script-min.js#nokia"</script> в шаблон (BlankCordovaApp, тот, который говорит «ваше приложение готово») index.html приложения (внутри тега head), построенный и запущенный на устройстве, приложение не предпринимает никаких попыток войти в систему. сервер вайнре.

Я предполагаю, что должна быть проблема с белым списком?

Подсказки приветствуются.

Я бы опубликовал свой код, но он буквально добавляет тег script в html шаблона... мне это показалось чрезмерным!


person Tawpie    schedule 21.02.2015    source источник


Ответы (1)


Если вы ориентируетесь только на WP8.1+ и создаете «пакетное приложение» (у вас нет доступа к API-интерфейсам Cordova веб-страниц), попробуйте использовать цель «Windows Phone (универсальная)». Он использует обновленную платформу Cordova «Windows» вместо WP8 и, следовательно, имеет полный доступ к отладчику VS. В этом случае weinre не требуется и, вероятно, не работает из-за используемой модели безопасности. weinre требуется только при использовании платформы WP8 Cordova через цель «Windows Phone 8».

Если вам действительно нужно использовать платформу WP8, сначала убедитесь, что телефон действительно может получить доступ к IP-адресу, который вы указали выше. Простой способ сделать это — открыть браузер на телефоне и перейти к указанному выше URI. Похоже, это действительно сработало для вас, поэтому, если он может получить доступ к URI, и вы на самом деле используете платформу WP8 Cordova, вы можете столкнуться с недостатком weinre. Он основан на JavaScript, поэтому бывают случаи, когда проблема с кодом вашего приложения может привести к тому, что оно перестанет работать. К счастью, есть запасной вариант для доступа к консоли. Если вы зайдете в папку bld/Debug/platforms/wp8 и откроете найденное там решение, вы сможете запустить приложение, и вы увидите вывод консоли в окне «Вывод».

Изменить: CTP3 в настоящее время не поддерживает отладку Windows Phone (Universal) напрямую, но позволяет перейти в папку bld/Debug/platforms/windows и открыть там решение. Вскоре будет выпущено обновление, которое решит эту проблему.

person Chuck Lantz    schedule 24.02.2015
comment
Спасибо, Чак... отвечаю ниже, потому что я не могу поставить возврат каретки в комментарии! - person Tawpie; 24.02.2015
comment
Спасибо, Чак... Итак, ответ заключается в том, что модель безопасности на WP8.1 не позволяет загружать файл .js, что, конечно же, означает, что Weinre не является верным вариантом. Я случайно заметил в Output>Show output from: Javascript Language Service пару сообщений, указывающих на то, что VS пытался загрузить js, но не смог (без указания причины). К сожалению, полный доступ платформы Windows Cordova к отладчику VS все еще ожидает выпуска в следующей версии и не работает с CTP3 инструментов для Apache Cordova (после запуска приложения отладчик отключается с ошибкой 0). - person Tawpie; 24.02.2015
comment
Как вы упомянули, альтернативой отладке является запуск silverlight (созданного в CordovaApp.sln) внутри bld/Debug/Platforms/windows — он работает. Мы можем пожаловаться на то, как плавно это работает позже. Я отмечаю это как ответ... хотя это не совсем ответ! - person Tawpie; 24.02.2015
comment
Ах да, хорошая новость заключается в том, что упомянутый вами недостаток Windows Phone 8.1 с инструментами для Apache Cordova CTP 3 будет устранен в скором выпуске обновления, которое должно сгладить этот рабочий процесс для вас. - person Chuck Lantz; 24.02.2015