Skip to content

fix(ios): Export thinned IPA for size analysis - #835

Merged
jamieQ merged 1 commit into
mainfrom
fix/ios-app-thinning-export
Aug 4, 2026
Merged

fix(ios): Export thinned IPA for size analysis#835
jamieQ merged 1 commit into
mainfrom
fix/ios-app-thinning-export

Conversation

@jamieQ

@jamieQ jamieQ commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

The iOS PR Size Analysis workflow now creates a release-testing export with the ad hoc profiles and uploads only the IPA explicitly identified as the requested device variant. The normal archive remains an App Store Connect export, and the workflow passes the Apple team ID explicitly.

Previously, the lane requested thinning during an App Store export, where Xcode ignores the option, then fell back to the first IPA it found. The export now requires app-thinning.plist and the requested device descriptor, so it fails instead of silently uploading a universal IPA.

Here's an earlier "release" build prior to this change vs after the change in the Sentry UI. You can see the duplicate asset catalog images are now "thinned" in builds we upload for size analysis:

Before After
before-thin after-thin

Refs EME-1285

Use a release-testing export because Xcode ignores thinning for App Store exports. Require the requested device variant instead of falling back to a universal IPA.

Refs EME-1285
@sentry

sentry Bot commented Aug 4, 2026

Copy link
Copy Markdown

📲 Install Builds

iOS

🔗 App Name App ID Version Configuration
HackerNews com.emergetools.hackernews 3.10 (1) Release
HackerNews com.emergetools.hackernews 3.10 (1) AdHoc

⚙️ hackernews-ios Build Distribution Settings

@jamieQ
jamieQ marked this pull request as ready for review August 4, 2026 19:49
@jamieQ
jamieQ merged commit e395731 into main Aug 4, 2026
11 checks passed
@jamieQ
jamieQ deleted the fix/ios-app-thinning-export branch August 4, 2026 21:12
jamieQ added a commit that referenced this pull request Aug 5, 2026
Follow up to #835. The change in #835 to upload a thinned IPA for size
analysis "worked", but unfortunately lost dSYM info. Upon further
investigation, it appears we used to have both things working
(implemented in #606), but that regressed recently. This change
re-implements an approach closer to the original strategy, where we
produce a thinned export, but then replace the original XCArchive
payload with the thinned payload before uploading. This way we upload
the thinned payload and retain the dSYM through the process.

Now the uploads have debug info in the binary analysis:

<img width="66%" height="787" alt="thin-dsyms"
src="https://github.com/user-attachments/assets/9c9fa11e-bf1e-4391-8417-c4fde455c47d"
/>

Refs EME-1285
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants