如何写入或修改文件系统上现有映像的EXIF数据,而不加载映像?

我之前也提过类似的问题,但还没有得到明确的答案。 似乎必须有一种方法来简单地向图像添加/修改元数据而不将图像加载到存储器中,而不必处理直接读取位。

看起来像使用CMSampleBufferRef时存在的方式,但我需要能够做到这一点与已经保存到磁盘的常规图像。
例如,在/Documents/photo.png给定一个非常大的png ,我想修改它的/Documents/photo.png元数据,而不必加载该图像。

你可以使用libexif – 我已经成功地在iOS上编译它。 使用libexif,您可以修改任何图像的EXIF元数据。

如果您知道如何修改EXIF,则可以直接从文件修改二进制数据。 只需在图像中replace新的二进制部分。 我不知道objective-c是否允许,但在ansi c应该是简单的。 复杂的部分是确定要更改的确切部分。