我的应用程序中有一个巨大的文本文件(1.0 版)。
让我们假设这个文件的新版本 (2.0) 刚刚发布。大部分文件保持不变,但新 (2.0) 版本有一些修改(删除了一些行,添加了一些行)。
我现在希望将文件 (1.0)更新到新版本 (2.0),但不希望再次下载整个文件。我很想用新文件的更改修补文件,从而节省从我的服务器下载整个新文件的带宽。(类似于 git 或 svn act 等版本控制系统的方式)
如何以编程方式执行此操作?是否有可用的 iOS 库?
谢谢
我的应用程序中有一个巨大的文本文件(1.0 版)。
让我们假设这个文件的新版本 (2.0) 刚刚发布。大部分文件保持不变,但新 (2.0) 版本有一些修改(删除了一些行,添加了一些行)。
我现在希望将文件 (1.0)更新到新版本 (2.0),但不希望再次下载整个文件。我很想用新文件的更改修补文件,从而节省从我的服务器下载整个新文件的带宽。(类似于 git 或 svn act 等版本控制系统的方式)
如何以编程方式执行此操作?是否有可用的 iOS 库?
谢谢
这实际上是一个大问题...如果您的API让您询问特定范围内的文件的数据,您可以只询问您需要替换的数据范围,并在该范围内查找文件并覆盖特定数据...这意味着您必须在每次更新文件时跟踪更改...并且您的应用更新必须知道要请求的范围...这不是解决方案...我希望将是实施您自己的解决方案的起点
要尝试在某个范围内获取部分内容,您需要在请求标头中添加如下内容:
Range: bytes=0-999
我认为,您可以在没有第三方库的情况下自己完成此操作。为此,您只需要 1) 一段代码,它将生成用于连接文件版本的元数据(偏移量、长度和指向要在旧版本中更改的数据的指针);2)一段将完成艰苦工作的代码:阅读元数据并将部分放在正确的位置。与偏移量斗争了几天,你完成了;)祝你好运!