zhaoyuping 首先声明,本文适用于ios7.x、8.x、9.x,均无需越狱。
苹果ios系统对相机胶卷的严格限制想必大家都有所体会。一般情况下,你是无法将自己的照片批量存入相机胶卷的。苹果官方的建议是使用PC端的iTunes创建照片图库进行管理和同步。但是照片图库的缺点显而易见:手机端无法删除也不便管理。特别是当你换了新手机,需要将原有手机的相机胶卷完整复制到新手机的时候,这个问题就成了一个最大的障碍。除了使用itunes进行整机备份以外,几乎没有其他方法。但是itunes整机备份会连同旧手机的垃圾也一同备份到新手机,并且不能自由选择备份内容。而越狱用户贸然备份还可能引起各种问题。
在之前我都是使用各种第三方助手助手程序,通过在手机上安装一个中转app,把照片批量转存进新手机的相机胶卷。但是这个方法有一个非常大的缺点,就是转存过程中,照片的EXIF信息会全部清除,文件创建和修改日期也被改变。这直接导致下一次恢复照片时照片顺序错乱。同时,10GB左右的照片需要转存长达1小时左右,且无法操作手机,非常不便。
无损备份及恢复相机胶卷的办法
1、PC端下载并打开iFunbox,连接需要备份照片的手机
2、进入以下路径:\\var\mobile\Media\DCIM\(未越狱用户的路径是用户文件系统\DCIM),将里面所有1xxAPPLE文件夹备份出来。
3、连接新手机,进入同样路径,将刚刚备份的文件夹放入同样位置
4、进入与DCIM同级的PhotoData文件夹,删除以Photos.sqlite开头的三个文件
5、断开连接,重启手机
6、进入照片app,你会看到里面一张照片都没有。不要着急,稍等大概十几秒,会显示“正在恢复...”,照片也在不断增加。待索引和缩略图重建完成后,大功告成!你会发现所有照片的EXIF信息都被完整保留。
不过,在ios9系统中,恢复后的照片容易出现顺序错乱的问题(即使你之前从来没有使用过助手类工具备份过)。这是因为ios9中引入了新的排序机制,将文件的修改时间也加入到排序中来,且优先级比文件名还要高。而一些自第三方app中转存入相机胶卷的图片往往没有EXIF信息,则会按照文件创建和修改时间排序。这在正常使用中不会看出问题,但当你恢复照片后,文件的创建和修改时间被改变,变成恢复备份的时间,这部分没有EXIF信息的图片就会排列到相机胶卷最末尾。想解决这个问题,只好继续向下看了。
高级教程
以上步骤,只提供了一个转移相机胶卷的简单办法,但是对于iOS上相册的运作机制并没有接触。如果你的照片的EXIF信息已经丢失,或照片顺序一团糟,再或者你想完全掌控ios的相机胶卷,任意放入自己喜欢的照片,那么,就必须对ios的相册机制进行更深入的了解了。
一、照片排序依据
随着ios系统版本的升级,以文件名称作为排序标准的权重在逐渐降低。在ios9中,文件名甚至成了最末尾的排序规则。根据目前的测试,排序优先级大概是这样的:照片EXIF(MOV为视频内嵌时间)> 文件创建时间 > 文件修改时间 > 文件名序列。所以,如果希望恢复照片的正确顺序,为照片重建EXIF信息是最佳办法。大致过程为:
1、使用ACDSee9.0,打开存储照片的文件夹,以你需要的顺序排列文件夹内的照片,之后通过软件进行批量重命名(如果你的文件名序列正确则可以跳过此步);
2、使用ACDSee9.0批量修改照片的标签信息,将存在EXIF信息的照片的EXIF拍摄时间写入到文件的创建时间和修改时间(如果EXIF全丢失这步就不用做了);
2、使用BulkFileChanger载入所有照片,以文件名升序排序,之后选择那些没有EXIF信息的照片(这部分照片的创建修改时间不正确),批量修改照片的创建时间和修改时间,使每张照片均间隔一定的时间且位于丢失EXIF信息照片的大致拍摄时间范围内。
3、使用ACDSee9.0批量修改照片的标签信息,将缺失EXIF信息的照片的创建时间或修改时间写入到该文件的EXIF信息内;
4、回到BulkFileChanger,将创建时间复制到修改时间(因写入EXIF后照片修改时间已被改变)
使用此办法,照片顺序可以恢复正常。但对于丢失全部照片EXIF信息的情况,可能会发现部分视频没有在正确的位置上。这是因为MOV文件内置一个时间,这个时间不会因为任何备份方式丢失。而以上部分照片的EXIF时间并非真实时间,而是一个序列时间。如果想将视频恢复到正确位置,只能根据视频拍摄时间来修改前后照片的EXIF时间。
二、文件名和文件夹生成依据
虽然相机胶卷内所有照片全部在一起,并没有文件夹,但在ios系统内实际划分出多个文件夹对所有照片进行分别保存。保存规律为自100APPLE文件夹开始,每1000张照片创建一个新文件夹。文件夹名称序列为100APPLE,101APPLE,102APPLE,以此类推。IMG_0152.jpg会存放在100APPLE内,IMG_2850.jpg则会存放于102APPLE内。
三、照片数据库和照片序号
ios文件系统内photodata目录下photos.sqlite、photos.sqlite-shm和photos.sqlite-wal三个文件是数据库文件,将其删除后,ios中的所有照片会暂时消失。一段时间或重启之后,ios系统会根据上述规则重建照片索引(此过程必须断开usb连接)。稍候照片即可恢复正常。当需要清空手机内照片、恢复照片备份前,删除这三个文件是必须的(事实上删除第一个就可以达到效果)。
但此时工作并没有全部结束。当你继续拍摄新照片时,你会发现照片序号不一定跟随在你恢复备份的照片之后。这是因为原来的照片文件序号信息依然储存在ios文件系统内PhotoData\MISC\DCIM_APPLE.plist文件中。使用plistEditor打开该plist文件,将其中文件序号和存储文件夹名字段依据上述规则修改为你所想要的即可。
至此,我们已经可以完全掌控ios中的照片了。
文章终于写完,不知道各位看吐了没有?