各位板上的先進,前輩們
小弟現在的維運案又碰上問題了
先描述一下需求功能 是手機端資料庫連線到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前完全沒有資訊背景,所以想來問問可能的真因
問題若很常識還請見諒