各位板上的先进,前辈们
小弟现在的维运案又碰上问题了
先描述一下需求功能 是手机端数据库连线到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前完全没有资讯背景,所以想来问问可能的真因
问题若很常识还请见谅