Security scoped bookmarks that were created before updating to macOS 14.7.5 cannot be resolved anymore after updating to macOS 14.7.5.
Reproduction:
Sandboxed app on macOS version 14.7.4
Create and store a security scoped bookmark to a user selected folder:
let url: URL = <user selected url from NSOpenPanel>
let data = try url.bookmarkData(options: [.withSecurityScope], includingResourceValuesForKeys: nil, relativeTo: nil)
<persistently store data>
Update to macOS 14.7.5
Resolve the previously stored bookmark:
let data: Data = <restore data from persistent storage>
var stale: Bool = true
let url = try URL(resolvingBookmarkData: data, options: [.withSecurityScope], relativeTo: nil, bookmarkDataIsStale: &stale)
Expected:
The bookmark is resolved correctly and the resulting url can be used to access the folder/file in the sandboxed app after starting access.
Observed:
URL(resolvingBookmarkData:) throws an error:
Error Domain=NSCocoaErrorDomain Code=259 "The file couldn’t be opened because it isn’t in the correct format."
New security scoped bookmarks created on macOS 14.5.7 can be resolved without issue.
The same appears to happen with macOS 13.7.5.
Entitlements:
com.apple.security.app-sandbox
com.apple.security.files.bookmarks.app-scope
com.apple.security.files.user-selected.read-write
This is very disruptive, as it appears that Sandboxed apps cannot access any previously stored bookmarks anymore.
Particularly after the recent ScopedBookmarkAgent issues in 14.7.1 and 15.0, which were resolved in 14.7.3/15.1 respectively: https://developer.apple.com/forums/thread/764435
12
0
298