簡體   English   中英

將Sencha Touch應用程序從iOS遷移到Android和Windows

[英]Migrate Sencha Touch app from iOS to Android and Windows

我是Sencha Touch,Windows應用程序開發和VisualStudio環境的新手,是一名鐵桿Android開發人員。 因此,請耐心地對問題進行冗長的描述,只是不想錯過任何關鍵細節。

我收到了一個舊的基於Sencha Touch 2.1 (Cmd 3.0)的應用程序,該應用程序已在由Kepler-452b開發的ipad(iOS)上運行。 我最近通過將項目內容復制到android cordova項目(www文件夾)將應用程序移植到Android,並且在Nexus 10平板電腦上可以正常使用。 在嘗試使用VisualStudio 2013將其遷移到Windows時,我開始遇到問題。

目的是利用可在Win 8 / 8.1 PC或HP Omni 10平板電腦上運行的現有代碼創建Windows Store應用程序。

遵循的步驟:

  1. 創建示例sencha應用

     >sencha generate app sample ../sample 
  2. 初始化科爾多瓦

    >sencha cordova init

  3. 更新app.json以添加Windows平台

    “平台”:“窗口”

  4. 為本地包裝打造

    >sencha app build native

  5. 將在\\ cordova \\ platforms \\ windows中生成的解決方案'CordovaApp.sln'導入到VS2013

  6. 在VS中運行項目CordovaApp.Windows80,由於Windows CSP,它會拋出“無法添加動態內容”異常

  7. 將MSApp.execUnsafeLocalFunction()的調用包裝在index.html中縮小的microloader腳本中,然后再次運行。 這將成功啟動示例sencha touch應用程序作為商店應用程序(“主頁”和“入門”選項卡的選項卡欄中的圖標替換為“ H”和“ R”)。 IE和chrome瀏覽器均使用圖標精美呈現應用程序

  8. 在Windows資源管理器中,刪除\\ cordova \\ platforms \\ windows \\ www文件夾中除cordova.js和cordova_plugins.js之外的內容

  9. 將我的舊sencha項目的內容復制到www文件夾,在VS中構建並啟動該應用程序。 再次“無法添加動態內容”!

  10. 在/www/touch/microloader/development.js內部,更新“函數write(content)”以使用MSApp.execUnsafeLocalFunction()包裝document.write並運行; 彈出另一個異常:“此時尚不存在document.body”-谷歌建議這可能是由於舊框架版本引起的

  11. 用我的sencha工作區中的新2.4.0“ touch”文件夾替換項目中的舊2.1“ touch”文件夾,然后再次運行

現在,控制台中沒有錯誤,但是該應用程序僅在cordova初始屏幕之后顯示白色屏幕。 如果我用示例sencha應用程序中的內容替換Main.js的內容,屏幕仍然是白色的! 通過添加“初始化”事件偵聽器,我確認該視圖正在加載

我正在使用Sencha Cmd 6.0.0和touch-2.4.0

我已經為此堅持了一個多星期,但無濟於事。 這里查看了stackoverflow,但說明是針對Ext JS而非Sencha Touch的。 不知道OP如何解決問題。

我不確定這是否是將舊的sencha touch應用遷移到Windows應用商店的正確方法。

任何幫助將非常感激。

首先,我將恢復您的解決方法,只需將Windows Store動態內容Shim庫添加到您的項目中。 它專門用於提高Web框架與Windows應用程序的兼容性並解決您遇到的問題。 它只會在Windows上激活,因此如果您在Android或iOS上運行,它不會增加開銷。 我從這里開始,因為它可能會解決大多數(如果不是全部)問題,很可能是上述更新之一導致了該問題,或者還有一個更新沒有引起錯誤。

您還應該驗證您正在使用的所有支持Windows的基礎Cordova插件,因為這可能會導致JavaScript異常,並且在Sencha正常工作的情況下,渲染之前會發生JavaScript異常。

最后,請注意,Cordova插件代碼與平台無關,因此您不能安全地將Android項目的內容復制到另一個平台。 (Android到iOS,iOS到Windows,或其他。)聽起來您應該采取的步驟應該起作用,但是請注意,您無法將插件代碼本身從一種本機項目類型復制到另一種本機項目類型。 這些工具大多數使用的Cordova命令行界面將根據您正在構建的平台,將本機和Web插件正確的代碼自動添加到您的項目中。

暫無
暫無

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

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