看板 MacDev 關於我們 聯絡資訊
各位板上的先進,前輩們 小弟現在的維運案又碰上問題了 先描述一下需求功能 是手機端資料庫連線到Server下載 1.送出 API 1 確認線上版本(傳回版本string) 2.若版本有更動則送 API 2 , 並傳回下載網址 HTTP/File (其中檔案名稱是固定的) 3.ASIHTTP套件下載db.sqlite 後存入手機 目前發生的問題是 在版本未更新的情況下,下載到的db.sqlite內容會不同 與Server端的維護者確認 server上版本只有一個A 但是手機卻有下載到資料不全B的內容(檔案名稱沒變)導致資料缺少 找不出來是哪裏出錯了 目前整理出來 兩個猜想的答案 跟解決方法 1.db.sqlite下載不完整,所以雖然有資料但是不完全 解決方法:壓縮成gzip 下載後若無法解壓縮則捨棄 疑問:因不知道sqlite的檔案結構,是否 下載不完全仍可開啓讀檔 若是 此方案才有可能解決 2.網路環境Cache,因爲這個App存在有一段時間了,有舊的資料存在網路proxy上 若是真因,無論是手機端或Server端都改變不了 解決方法, 修改Server端API讓檔案名稱有版本號(如db20140117v1.sqlite) 疑問:網路是否因路由不同,造成每次取得的檔案有可能是舊的版本on proxy 小弟在寫iOS App前完全沒有資訊背景,所以想來問問可能的真因 問題若很常識還請見諒 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.251.39.226 ※ 編輯: Teferi 來自: 60.251.39.226 (01/17 16:24)
howdiun:用瀏覽器下載來看,釐清是APP問題還是SERVER問題 01/17 18:15
Teferi:確認過用瀏覽器下載都是OK的,但手機中的有時資料有少 01/17 18:54
sorkayi:資料下載到一半跳出的 之後再開就會出問題? 01/17 21:13
wasihero:有沒有完整可以用 md5 做檢查 01/18 13:48
uranusjr:Cache 改不掉很沒道理, 至少在 server 一定能關掉吧 01/18 15:46
Teferi:後來覺得是1造成的,所以決定在app端加上check機制 01/22 09:56