2017-03-27 54 views
0

我建立一個在線/離線應用斯威夫特3PHPMySQL的(這些都是我所知道的技術)。緩存Web表單與iOS

有兩種應用,一個應用是iOS原生,並使用WEB瀏覽加載由產生,用PHP第二web應用動態提供的表格,表格(管理員可以產生的那些形式)。 Web應用程序爲生成的表單提供一個頁面。

負責填寫維修表格的人可以在他轉移到wifi/internet(取決於他們的位置)期間進入或不進入。所以這個人需要在離開辦公室之前加載所有表格並開始他們的班次。

我的問題是如何預加載所有這些Web表單,然後在沒有Internet連接的情況下將它們作爲請求提供?

運營商需要在線加載所有表單,在線/離線填寫表單,一旦他們到達辦公室,他們將在轉移過程中提交所有這些表單和收集的數據。

這裏對我來說最大的問題是我找不到在iPad上存儲表單的方法。

我讀過關於如何使用緩存顯式化或使用Web視圖上的本地存儲來做到這一點,雖然這樣做不會存儲表單,只是輸入表單中的數據。

任何想法,或建議將不勝感激!謝謝。

流量:

Web app -(create)-> New form <-(request)- web view (iOS) 
        ^
     MySQL (data)--| 

回答

1

我不得不爲一個項目做的完全一樣的。我所做的是:

  1. 在應用程序用戶在首次登錄後一個zip下載這個文件,那麼這是未壓縮並存儲在文檔文件夾。

  2. 當用戶離線時,他能夠填寫這些表單(我需要使用UIWebView來顯示html)。

  3. 用戶能夠保存該數據。 (您可以創建一個JavaScript函數的所有形式的數據序列化爲JSON字符串)
  4. 您可以通過調用抓住這個JSON字符串與

    javascript函數[yourWebView stringByEvaluatingJavaScriptFromString:@「yourFunction中」];

  5. 具有JSON,你可以使用NSUserDefaults的保存,CoreData或SQLite的

  6. 當用戶在線時,你可以提供上傳這些JSON字符串
  7. 就是這樣的能力!
+0

我有幾個問題。我假定zip文件包含所有的html文件,對吧?第二個...什麼文件夾?我沒有iOS中的文檔文件夾,只是緩存,不確定如何做到這一點。謝謝你的幫助。 – Lucas

+1

1.是zip'd包含html文件 2.每個應用程序都有自己的文檔文件夾,你保存圖像,文本文件或任何你想要的。請參閱此鏈接http://stackoverflow.com/questions/6907381/what-is-the-documents-directory-nsdocumentdirectory – carlos21