IBM Worklight - " getSkinName未定义"

时间:2014-04-01 21:21:20

标签: ibm-mobilefirst worklight-runtime worklight-skins

我正在尝试定义一个新的android.tablet皮肤。我正在使用运行KitKat的Nexus 7进行测试。

我这样做了:

  1. 添加了皮肤
  2. 更新了getSkinName()功能
  3. 我可以在LogCat中看到被称为
  4. 的函数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(networkconnection,wifi)04-01 17:03:32.969:   d / CordovaLog(4481):   file:///android_asset/www/default/js/skinLoader.js:第18行:   screen.width 800 04-01 17:03:32.969:I / chromium(4481):   [INFO: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是android.tablet 04-01 17:03:32.969:   I / chromium(4481):[INFO:CONSOLE(23)]“返回的skinName是   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):   file:///android_asset/www/default/worklight/cordova.js:1034行:   processMessage失败:错误:ReferenceError:getSkinName不是   定义

1 个答案:

答案 0 :(得分:1)

看起来你是对的,Worklight Skins无法加载 - 至少在首次加载应用程序时;如果你第二次加载它,它确实有效。


我已经为这个问题打开了一个缺陷 如果您是IBM业务合作伙伴或客户,请打开PMR,以便一旦修复,您将能够以iFix版本的形式收到此消息。


这就是我所做的:

  1. 创建了一个新项目和应用程序
  2. 添加了Android环境
  3. 在Android环境中添加了应用程序外观android.skin
  4. 使用main.css
  5. 向my-app \ android.skin \ css添加了body {background-color:red}
  6. 在my-app \ android \ js \ skinLoader.js'中更改了getSkinName()return "android.skin"
  7. Run As>在Worklight Development Server上运行
  8. Run As> Android应用程序
  9. 第一个负载确实加载了"默认"皮肤而不是" android.skin"。我第二次加载应用程序(从设备,而不是重新安装应用程序),它确实加载了" android.skin" ...

    无论如何,这是一个缺陷。但是你可以继续开发你的应用程序,尽管有点不方便......