簡體   English   中英

IBM Worklight 6.1-回到前台時直接更新失敗

[英]IBM Worklight 6.1 - Direct Update fails when returning to the foreground

工作燈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將我帶到另一個頁面,例如page2

glu.viewport('MyApp.page2');

3)最小化應用程序。

4)修改WebResource,然后將修改后的Iphone應用程序部署到Worklight服務器。

5)重新打開最小化的應用程序,用戶會收到直接更新的提示。

6)然后更新將失敗,並且Worklight控制台中有以下日志:

[錯誤] FWLSE0203E:從客戶端接收到錯誤的實例ID。 服務器實例ID:“ 3f9eveddc7br5mq3ll0nq89miu”,客戶端實例ID:“ ut5m5f01i3bkq5l78m54uq137o”。 [項目主干]

  1. GluJs的存在或第1步的存在都與直接更新的過程有關,在兩種情況下會發生這種情況:在應用程序啟動時,在返回前台時。 應用程序中的任何“頁面移動”均無關。

  2. 您沒有提到這是在開發環境中(帶有內置Worklight Development Server的Eclipse中的Worklight Studio)還是在生產環境(集群,非集群,是否有負載均衡器等)中發生的。

我在Worklight Studio 6.1.0中執行了以下操作,沒有任何錯誤:

  1. 創建了一個新項目和應用程序
  2. 添加了iPhone環境
  3. initOptions.js ,將connectOnStartupfalse更改為true
  4. 運行方式> 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文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM