Skip to content

fix(ios): Preserve dSYMs in thinned size analysis uploads - #837

Merged
jamieQ merged 3 commits into
mainfrom
fix/ios-thinned-size-analysis
Aug 5, 2026
Merged

fix(ios): Preserve dSYMs in thinned size analysis uploads#837
jamieQ merged 3 commits into
mainfrom
fix/ios-thinned-size-analysis

Conversation

@jamieQ

@jamieQ jamieQ commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

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:

thin-dsyms

Refs EME-1285

@sentry

sentry Bot commented Aug 5, 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 changed the title fix: Preserve dSYMs in thinned size analysis builds fix: Preserve dSYMs in thinned size analysis uploads Aug 5, 2026
@jamieQ
jamieQ marked this pull request as ready for review August 5, 2026 16:46
Comment thread ios/fastlane/Fastfile Outdated
end

desc 'Replace the app in an XCArchive with the app from a device-thinned IPA'
private_lane :replace_xcarchive_app_with_thinned_ipa do |options|

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: this assumes the IPA is thinned but technically could work with any IPA right? just wondering if the naming could be simplified to replace_xcarchive_app_with_ipa

Comment thread ios/fastlane/Fastfile Outdated
unless xcarchive_app_paths.one?
UI.user_error!("Expected one app in the XCArchive, found #{xcarchive_app_paths.length}")
end
xcarchive_app_path = xcarchive_app_paths.first

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The app folder usually contains one app but I've seen multiple before, you might want to do an exact or fuzzy search by name here.

Comment thread ios/fastlane/Fastfile Outdated
)

UI.success("Replaced the XCArchive app with the thinned app: #{xcarchive_app_path}")
xcarchive_path

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: returning the path might be unnecessary since this is just returning the input? otherwise it reads a little misleading to me that it's doing more than it is.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True. Yeah, will drop this.

@jamieQ jamieQ changed the title fix: Preserve dSYMs in thinned size analysis uploads fix(ios): Preserve dSYMs in thinned size analysis uploads Aug 5, 2026
@jamieQ
jamieQ merged commit 6eea866 into main Aug 5, 2026
13 of 14 checks passed
@jamieQ
jamieQ deleted the fix/ios-thinned-size-analysis branch August 5, 2026 18:14
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