关于 iOS17.5 意外恢复照片的一点猜想

查看 40|回复 2
作者:412999826   
首先,说一下 iOS 的"照片 APP"的机制(因为经历了太多 iOS 更新,我的叙述可能会有偏差)
iOS 存储照片会有两部分,原始文件和数据库文件。
第一部分:原始文件
照片原始文件在 "DCIM/1**APPLE" 文件夹下
(根据照片数量,"1**APPLE"文件夹可能会有若干个,暂不清楚是按照什么规则产生的文件夹,但是一旦产生了新文件夹,比如 101APPLE ,那么新的照片就都会在"101APPLE","100APPLE"的照片文件就不会增加)
第二部分:数据库文件
照片的数据库文件在 "PhotoData" 文件夹下,由"Photos.sqlite"、"Photos.sqlite-shm"、"Photos.sqlite-wal"记录。
如果直接将照片文件,上传至 "DCIM/1**APPLE" 文件夹下,那么虽然手机上存有原始文件,但是在"照片 APP"中依然不会显示。
接着,说一些远古的回忆,如果有印象的可能都用了 iOS 十年以上了。
在很早以前的 iOS 系统中,因为也没有 iCloud 和隔空投送的存在,想要导入照片是一件比较困难的事,一两张照片可以通过发到微信/QQ ,然后保存到手机,但是多了就很麻烦;如果通过 iTunes 进行同步,在手机上又无法删除。
于是就有了一些“奇技淫巧”,即把照片通过各种手机助手(如 PP 助手、91 助手)直接导入到 "DCIM/1**APPLE" 文件夹下,接着删除"Photos.sqlite"、"Photos.sqlite-shm"、"Photos.sqlite-wal",强制让手机重建照片数据库。
后来,随着这些助手的内卷,有了更加亲民的方式,就是安装助手的手机 APP ,然后连上电脑后,电脑端助手会把照片传到手机端助手,手机端助手在导入到"照片 APP"(原理其实类似微信,就是简化了操作过程);再到后来,随着 AirDrop 、iCloud 的普及,导入照片也就慢慢的变的不是什么困难的问题了。
最后,来说结论吧,我认为这是一个历史遗留问题,本次遇到 bug 恢复之前照片的用户,可能是之前系统中照片数据库出现 bug ,导致删除照片后,仅仅清除了"Photos.sqlite"、"Photos.sqlite-shm"、"Photos.sqlite-wal"的记录,但是照片源文件还在,而 iOS17.5 可能重建了照片库索引,于是导致之前被删除的照片重新出现。
综上,我认为本次的问题和"iCloud 照片"关系不大,主要应该是本地文件和备份的问题;之所以有部分用户遇到了抹掉过手机依然恢复了照片,我的推测是这些客户使用过 iCloud 云备份或电脑的备份,因为这个备份是全局备份,如果之前备份的时候就存在未被彻底删除的照片数据,那么还原备份后上述文件也会重新还原到手机。
inorobot   
我感觉可能是照片流、图片库、iCloud 图库备份这几个串了,iOS 17.5 可能修改了相关索引逻辑或者缓存逻辑或者云端和本地的同步、删除逻辑,扫到了新的或者没删掉的图片。
因为新出现的照片都在最近添加里,应该是 iOS 更新之后照片 app 突然搜到了几张新照片再上传到 iCloud 图库了。
我是出现了几张 22 年已删除的老照片,没有 EXIF 信息,设备还是去年的 15 Pro Max ,新设备启用是全量备份,忘了是 iCloud 里恢复出来的还是直接旧机导入的。
验证的话也很简单,再找个新机器从 iCloud 里备份恢复,然后升级到 17.5 ,肯定还能复现,当然如果是 iCloud 假删除,那真的很顶了。
412999826
OP
  
@inorobot 我也大概是这个感觉,就是照片的数据库出现问题("Photos.sqlite"、"Photos.sqlite-shm"、"Photos.sqlite-wal"),正常情况应该是删除源文件,并且删除数据库中的信息,但是结果并没有删除源文件。
然后全盘还原备份之后(还原方式包括电脑还原,或 iCloud 还原),这些没被删除的源文件还在,然后就被重新添加了。
我觉得不太会是 iCloud 照片的原因,是因为 iCloud 照片如果出现问题,应该影响全部的设备
您需要登录后才可以回帖 登录 | 立即注册

返回顶部