Создание гибридного приложения iOS не обновляет файл worklight.plist или root.plist.

Я использую WL 6.1 (6.1.0.01.20140310-1427) на MacBook Air (последняя версия OSX). У меня есть гибридное приложение dojo, которое я пытаюсь подключить к удаленному серверу WL. Когда я создаю приложение для iOS и меняю адрес сервера Worklight на удаленный сервер. Он не меняет адрес в сгенерированном коде iOS. Я следую следующим шагам:

  1. Откройте Настройки сборки и цель развертывания.... В папке гибридного приложения.
  2. Установите флажок Создать приложение для работы с другим сервером Worklight.
  3. Введите новую информацию о сервере и нажмите OK.
  4. Создать все среды
  5. После завершения сборки запускаю xcode и смотрю файлы worklight.plist и Root.plist.

На данный момент они все еще ссылаются на мой локальный сервер. Если я отредактирую их, чтобы они указывали на удаленный сервер, то мое приложение заработает. Поскольку эти файлы регенерируются каждый раз, когда вы выполняете сборку, это недопустимое решение.

Чтобы убедиться, что в моем приложении ничего нет, я создал гибридное приложение dojo по умолчанию. Выполнил шаги, которые я перечислил выше. Когда я запустил xcode, Root.plist и worklight.plist по-прежнему имеют информацию о локальном сервере по умолчанию.

Итак, вот что смешно. У меня также есть система win7, на которой работает плагин разработчика WL того же уровня. Я выполняю те же шаги, и файл worklight.plist правильно обновляется в Windows, но не в OSX. Единственное другое отличие состоит в том, что версия win7 работает под управлением jre 1.7_21, а osx — под управлением 1.7_51. Оба находятся в 64-битном режиме.


person Kenn Roberson    schedule 30.04.2014    source источник


Ответы (1)


Я считаю, что реальная разница между вашими компьютерами Mac и Windows заключается в шаге 5, где вы «запускаете xcode». Если под этим вы подразумеваете, что на самом деле выполняете проект «Запуск от имени > Xcode», см. ниже. Эта опция доступна только в Mac, но не в Windows.

Это ожидаемое поведение в Worklight 6.0.0.x и 6.1.0.x.

Если после изменения адреса сервера на удаленный сервер (а не на локальный сервер разработки) и сборки, и затем выбора «Запуск от имени» > «Проект Xcode», настройки сервера будут перезаписаны обратно на локальный сервер разработки.

Запуск от имени > Проект Xcode выполняет 3 действия:

  1. Создайте и разверните приложение на локальном сервере разработки Worklight.
  2. Создайте проект Xcode (это, в свою очередь, перезаписывает worklight.plist, чтобы использовать настройки локального сервера)
  3. Откройте сгенерированный проект Xcode в Xcode

Итак, если вы хотите использовать приложение с настройками удаленного сервера, то после изменения настроек и сборки приложения выполните одно из следующих действий:

  1. Скопируйте ZIP-файл из папки your-iphone\package.
  2. Перейдите в файловой системе в папку iphone\native и дважды щелкните файл .xcodeproj, чтобы открыть его прямо в Xcode (например, что делает проект Run As > Xcode)

Для будущих выпусков Worklight рассматривается оптимизация поведения, чтобы независимо от того, выбираете ли вы локальные или удаленные настройки сервера, проект «Запуск от имени» > Xcode всегда будет использовать выбранные вами параметры.

person Idan Adar    schedule 30.04.2014
comment
Спасибо за объяснение. Где это задокументировано? Я искал, но не нашел ничего, что даже упоминает об этом. - person Kenn Roberson; 30.04.2014
comment
Это действительно еще не задокументировано. Планируется, что документация будет обновлена ​​по этому поводу с выпуском следующего пакета исправлений Worklight 6.1.0.x. - person Idan Adar; 30.04.2014
comment
Идан, можете ли вы подтвердить, было ли это оптимизировано/исправлено в версии 6.2+? - person Andrew Ferrier; 09.04.2015
comment
Я могу подтвердить оптимизацию, да. - person Idan Adar; 09.04.2015