IBM Worklight 6.1 - 返回前台时直接更新失败

时间:2014-01-28 15:59:08

标签: ios ibm-mobilefirst

Worklight 6.1.0
iPhone 5s上的iOS 7

我们有一个依赖Worklight服务器进行直接更新的混合应用程序。当用户最小化然后重新打开应用程序时,会出现问题,用户可以看到更新对话框,但是由于错误的WL实例ID,更新将失败。

以下是init选项:

var wlInitOptions = {
  connectOnStartup: true,
  onConnectionFailure: function() {
    WL.Logger.error("Failed to connect: " + arguments);
}


WLJSX.bind(window, 'load', function() {
  WL.Client.init(wlInitOptions);
}

以下是我所做的步骤:

1)打开IOS应用程序,它会将我带到应用程序的第一个索引页面,比如Page1 2)按一个按钮,将我带到另一页,使用GluJs说第2页

glu.viewport('MyApp.page2');

3)尽量减少申请。

4)修改WebResource,然后将修改后的Iphone应用程序部署到Worklight服务器。

5)重新打开最小化的应用程序,用户会收到提示直接更新。

6)然后更新将失败,并且Worklight控制台中有以下日志:

  

[错误] FWLSE0203E:从客户端收到错误的实例ID。服务器   实例ID:'3f9eveddc7br5mq3ll0nq89miu',客户端实例   编号: 'ut5m5f01i3bkq5l78m54uq137o'。 [项目主干]

1 个答案:

答案 0 :(得分:0)

  1. GluJs和步骤1的存在与直接更新的过程有关,在2种情况下发生:在应用程序启动时,返回到前台。任何"页面移动"在应用程序中是无关紧要的。

  2. 您没有提到在您的开发环境(带有内置Worklight开发服务器的Eclipse中的Worklight Studio)或生产环境(集群,非集群,负载均衡器等)中是否会发生这种情况。 )。

  3. 我在Worklight Studio 6.1.0中执行了以下操作而没有任何错误:

    1. 创建了一个新项目和应用程序
    2. 添加了iPhone环境
    3. initOptions.js中,将connectOnStartupfalse更改为true
    4. Run As> Xcode项目
      在iOS 7.0模拟器和iOS 7.1 beta 4设备(iPhone 5s)中测试应用程序
    5. 推出应用程序
    6. 将应用程序移至后台(单击“主页”按钮)
    7. 在Eclipse中,更改了HTML文件
    8. Run As > Run on Worklight Development Server
    9. 将应用程序带回前台
    10. 检测并处理了直接更新,重新启动了应用程序并显示了更新的HTML文件