Behavior of Bookmark URLs and Files App Recently Deleted – Clarification and Potential Bug

I am developing an iOS/iPadOS application and have encountered some behavior regarding Files App and security-scoped bookmarks that I would like to clarify. Additionally, I would like to report some behavior which might include a potential issue.

Question1: Accessing deleted files via bookmark (Specification clarification)

Our app saves file URLs as bookmarks, which file that user has selected on Files App or app-created so to open a file which user has modified previously in the next launch.

When a user deletes a file in Files App (moves a file to Recently Deleted), the app can still resolve the bookmark and access the file for read/write operations. Is this behavior intended? In other words, is it correct that a bookmark can access a file that has been deleted in Files App but not permanently removed?

Question2: Overwriting a file in Recently Deleted (Potential bug)

We noticed that overwriting a file in Recently Deleted behaves differently depending on the method used.

Current implementation

1.Create a temporary file in the same directory

2.Write content to the temporary file

3.Delete the original file ([NSFileManager removeItemAtURL:error:])

4.Move the temporary file to the original file path ([NSFileManager moveItemAtURL:toURL:error:])

Result: The file disappears from Files App Recently Deleted. In contrast, using [NSFileManager replaceItemAtURL:withItemAtURL:] keeps the file visible in Recently Deleted. Is this difference designed behavior? If not, this may be a bug.

Question3: Detecting files in Recently Deleted

We want to detect whether a file resides in Recently Deleted, but we cannot find a reliable and officially supported method.

Recently Deleted files appear under .Trash, but using the path alone is not a reliable method. We have tried the following APIs without success:

  • [NSURL getResourceValue:forKey:NSURLIsHiddenKey error:]
  • [NSURL checkResourceIsReachableAndReturnError:]
  • [NSFileManager fileExistsAtPath:]
  • [NSFileManager isReadableFileAtPath:]
  • [NSFileManager getRelationship:ofDirectory:NSTrashDirectory inDomain:NSUserDomainMask toItemAtURL:error:]

We could not obtain the Recently Deleted folder URL using standard APIs.

  • [NSFileManager URLsForDirectory:NSTrashDirectory inDomains:NSUserDomainMask]
  • [NSFileManager URLForDirectory:NSTrashDirectory inDomain:NSUserDomainMask appropriateForURL:url create:error:]

Could you advise a safe and supported way to detect Recently Deleted files properly by the app?

Behavior of Bookmark URLs and Files App Recently Deleted – Clarification and Potential Bug
 
 
Q