1、地方可以看到包大小数据?
主要包括:ITC后台、iOS设置->iPhone存储空间、APPStore商品详情页
2、以上各处数据展示是否一致?
并不完全一致,ITC后台与APPStore商品详情页展示的安装大小基本一致,但是与iOS设置->iPhone存储空间展示大小并不一致,存在较大差异。
以6s 13.6.1系统为例:
(1)58同城10.5.2在APPStore商品详情页展示的安装大小为232.5MB
(2)58同城10.5.2在ITC后台展示的安装大小为233MB
(3)58同城在设置中展示安装大小为211.1MB
3、哪个数据是准确的?
APPStore 显示的大小:APPStore针对不同机型及系统进行分片下载安装后的预估值,并非准确值。
设置中显示的安装:iOS系统在下载ipa后进行解压、安装计算和记录的值,准确值。
4、为什么说appstore 显示的大小是预估值?
因为ITC后台显示的标题就是“预估大小”。这里为什么苹果采用预估值,猜测是由于系统差异造成。因为用户安装时是在iOS系统上安装,真实值也是由iOS操作系统决定。而苹果处理ipa则是其他系统上进行处理的(应该不是iOS系统吧?),经过appthin后,虽然可以拿到比较准确的字节数,但是文件磁盘对齐规则可能与iOS系统存在一定的差异。因此说是预估值。
5、下载时除了APP文件外是否有其他文件被下载?
通过拦截下载的ipa。发现是有其他文件被下载,但是非常小,只有2个plist文件。并且在安装后与APP文件处于同一路径下,因此APP文件大小与设置中展示的不一致并不是由于隐藏其他文件造成。通过反编译“设置.app”发现,安装器安装后把所需磁盘空间大小写道文件中,“设置.app”从这个文件中读取数据,而不是直接读取用户APP文件的data.length。假设有100MB数据,虽然可以用100MB空间存储,但是实际上iOS系统(绝大多数操作系统)并不认为是这样,否则就不需要这个记录大小的文件了,直接读取当前路径下的文件大小就可以了。另外,还发现从AppStore下载的ipa中,可执行文件比本地上传的ipa中的可执行文件稍大些,原因是可执行文件签名处后追加了很多空字节。
网友评论