Alright I'm back and I figured it out. Here my findings as it relates to my use case of trying to get screenshots I have saved as PNG attachments during UI tests: The .xcresult bundle uses a custom storage format for attachments and other test artifacts Within the result bundle's Data subdirectory, Image data (and presumably other attachment data) is stored in files whose names appear to be base64 encoded keys prefixed with data. These files are compressed using zstd. You can confirm this by running the file command on them. Direct decompression of these files using zstd reveals PNG image data. Hurray! As mentioned before, the filenames which are prefixed with data contain base64-encoded identifiers. The database.sqlite3 database which is present in the result bundle contains a table called Attachments which has rows for each attachment. Those rows have columns with the filename you provided the attachment in your test, as well as the encoded key which is appended to data to form the filename. Those
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags: