Cordova应用程序在使用Mobile First Platform 8时崩溃了

时间:2017-06-07 14:47:22

标签: cordova ibm-mobilefirst

我构建了具有cordova-plugin-mfp插件的Cordova应用程序(IBM Mobile First Platform 8)。但是这个应用程序在启动时崩溃了。

我认为cordova-plugin-mfp在' bootstrap.js'中存在问题。可以在初始化之前调用WL.Client.init(WL.Client == undefined)。

// plugins/cordova-plugin-mfp/bootstrap.js
function mfpready (){
    mfpFire();
    //call WL.Client.init unless user defined mfpClientCustomInit = true in config.xml, and propagated to static_app_props.js
    if(WL.StaticAppProps && !WL.StaticAppProps.mfpClientCustomInit){
        console.log('Calling WL.Client.init(wlInitOptions);')
        var options = typeof wlInitOptions !== 'undefined' ? wlInitOptions : {};
        WL.Client.init(options);
    } else {
        console.log('Developer will call WL.Client.init manually');
    }
    //Inform developer they should load their own jquery and not use MFP internal version
    deprecateWLJQ();
}

所以我将这个元素添加到config.xml

    <mfp:clientCustomInit enabled="true" />

并在我的应用程序代码中添加事件处理程序(下面)。

document.addEventListener('mfpjsloaded',
                          function() {
                               WL.Client.init(wlInitOptions);
                          },
                          false);

我正在寻找更好的解决方法或修补此问题。

有人可以告诉我任何建议吗?

我的环境

  • OS:Window 10 Pro 1607
  • Cordova:6.5.0
  • nodeJS:6.10.3
  • VS:Visual Studio 2015 Update 3
  • cordova-windows:4.3.2
  • cordova-plugin-mfp:8.0.2017033009

2 个答案:

答案 0 :(得分:0)

这是一个缺陷。请打开PMR来跟踪问题。

答案 1 :(得分:0)

请使用cordova-windows 5.0.0版。此版本的cordova-windows中提供了此问题的修复程序。