IBM Worklight - "getSkinName не определено"

Я пытаюсь определить новый скин android.tablet. Я тестирую с Nexus 7 под управлением KitKat.

Я сделал это:

  1. Добавлен скин
  2. обновленный getSkinName() функция
  3. Я вижу в LogCat функцию getSkinName() будучи призванным

Тем не менее, есть запутанное сообщение:

Скин "по умолчанию" будет использоваться, потому что скин с именем android.tablet не найден. Добавьте скин или измените android/js/skinLoader.js, чтобы вернуть существующий скин.

Я что-то пропустил?

04-01 17:03:32.969: D/CordovaNetworkManager(4481): Тип соединения: wifi 04-01 17:03:32.969: D/CordovaActivity(4481): onMessage(сетевое соединение,wifi) 04-01 17:03:32.969: D/CordovaLog(4481): файл:///android_asset/www/default/js/skinLoader.js: строка 18: screen.width 800 04-01 17:03:32.969: I/ хром (4481): [ИНФО:CONSOLE(18)] " screen.width 800", источник: file: ///android_asset/www/default/js/skinLoader.js (18) 04-01 17: 03: 32.969: D / CordovaLog (4481): file:///android_asset/www/default/js/skinLoader.js: строка 23: возвращенный skinName is android.tablet 04-01 17: 03: 32.969: I / хром (4481): [INFO:CONSOLE(23)] "возвращаемое имя-кожи: android.tablet", источник: file: ///android_asset/www/default/js/skinLoader.js (23) 04-01 17: 03: 32.969: W / WLDroidGap (4481): скин по умолчанию будет использоваться, так как скин с именем android.tablet не найден. Добавьте скин или измените android/js/skinLoader.js, чтобы вернуть существующий скин.......... 04-01 17: 03: 34.779: D / CordovaLog (4481): файл:///android_asset/www/default/worklight/cordova.js: строка 1034: сбой процесса processMessage: ошибка: ReferenceError: getSkinName не определено

1 ответ

Решение

Похоже, вы правы, скины Worklight не загружаются - по крайней мере, при первой загрузке приложения; если вы загрузите его во второй раз, он работает.


Я открыл дефект по этой проблеме.
Если вы являетесь деловым партнером или клиентом IBM, откройте PMR, чтобы после исправления вы могли получить его в форме выпуска iFix.


Вот что я сделал:

  1. Создан новый проект и приложение
  2. Добавлена ​​среда Android
  3. Добавлен скин приложения android.skin в среду Android
  4. Добавил main.css в my-app\android.skin\css с body {background-color:red}
  5. Изменено getSkinName() в my-app\android\js\skinLoader.js'для return "android.skin"
  6. Запуск от имени> Запуск на сервере разработки Worklight
  7. Запустить как> приложение Android

Первая загрузка действительно загружает скин "по умолчанию" вместо "android.skin". Во второй раз, когда я загрузил приложение (с устройства, а не путем переустановки приложения), оно загрузило "android.skin"...

Так или иначе, есть дефект. Но вы можете продолжить разработку своего приложения, хотя и несколько неудобным образом...

Другие вопросы по тегам