Apple Explains iOS 17.5 Issue That Restored Deleted Photos: Affects a Minority of Corrupted Database Data
After concerns were raised about iOS/iPadOS 17.5 restoring photos that users had deleted, Apple broke its silence by releasing version 17.5.1 to address the issue. Additionally, the company provided further details to 9TO5MAC for clarification.
Apple stated that the issue did not stem from the iCloud Photos album synchronization feature. Instead, it was due to corrupted database entries within the file system, which led to the accidental restoration of some deleted photos.
User discussions had already hinted that this problem could occur regardless of whether iCloud album synchronization was used, affecting photos deleted both in the recent and distant past.
Apple emphasized that photos deleted by users would not be synced to iCloud albums; rather, they would remain only on the device. However, files with corrupted databases would continue to be transferred if users restored data from a backup, performed device-to-device data transfers, or restored from an iCloud backup.
This accounts for why photos deleted many years ago might be restored, as users commonly back up or transfer data when switching iPhones, causing the corrupted data to be transferred as well.
A notable point of discussion on Reddit involved a user claiming that an iPad sold to a friend displayed deleted photos after updating to iPadOS 17.5, despite being reset according to Apple's official guidelines prior to the sale. This post was later deleted by the user, and Apple clarified that this account was incorrect. Executing a full content erase should remove all data, including corrupted files, thereby preventing any previously deleted photos from reappearing.
An unconfirmed report suggests that developers analyzing the code of iOS 17.5.1 found that Apple did not completely resolve the issue. The update reportedly removed the new code introduced in iOS 17.5, which scanned and restored all data, including corrupted files. Thus, Apple's approach was to eliminate the code causing the issue, rather than solving the underlying problem.