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'。 [项目主干]
答案 0 :(得分:0)
GluJs
和步骤1的存在与直接更新的过程有关,在2种情况下发生:在应用程序启动时,返回到前台。任何"页面移动"在应用程序中是无关紧要的。
您没有提到在您的开发环境(带有内置Worklight开发服务器的Eclipse中的Worklight Studio)或生产环境(集群,非集群,负载均衡器等)中是否会发生这种情况。 )。
我在Worklight Studio 6.1.0中执行了以下操作而没有任何错误:
initOptions.js
中,将connectOnStartup
从false
更改为true
Run As > Run on Worklight Development Server