Strip extended attributes when bundling PDB seeds (fixes ITMS-91109 rejection)#25
Merged
Conversation
Seeds downloaded from CI (or copied via Finder) carry the com.apple.quarantine extended attribute, and macOS cp copies xattrs by default - so the attribute rode into the app bundle and App Store validation rejected the upload with ITMS-91109. Copy with cp -X so no extended attributes ever reach the bundle; the two affected local seed files were also cleaned in place. Verified: fresh cubeone-seeded archive has all five seeds, zero quarantine attributes anywhere under Resources, and a valid deep code signature. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug
App Store / TestFlight upload of a seeded build was rejected with ITMS-91109: the package contained files carrying the
com.apple.quarantineextended attribute.Root cause: two of the local seed files (
optimal-edges-a8/b8.pdb.lzfse) were downloaded via a browser / copied with Finder, which attaches the quarantine attribute — and macOScpcopies extended attributes by default, so the Copy PDB Seeds phase faithfully carried the flag into the app bundle.Fix
cp -fX(copy no extended attributes), so the bundle stays clean no matter where future seeds come from — CI artifact downloads included.Seeds/folder were cleaned in place (xattr -d com.apple.quarantine).Verification
Fresh
cubeone-seededarchive: all five seeds present,xattr -lrover the app's Resources reports zero quarantine attributes, andcodesign --verify --deep --strictpasses.🤖 Generated with Claude Code