Skip to content

fix(build): Improve error for xcarchive/IPA uploads on non-ARM64#3211

Merged
runningcode merged 3 commits intomasterfrom
no/improve-xcarchive-ipa-error-message
Mar 12, 2026
Merged

fix(build): Improve error for xcarchive/IPA uploads on non-ARM64#3211
runningcode merged 3 commits intomasterfrom
no/improve-xcarchive-ipa-error-message

Conversation

@runningcode
Copy link
Contributor

Summary

  • When users upload .xcarchive or .ipa files from a non-Apple Silicon Mac (e.g. Intel-based Xcode Cloud), the error now clearly states the Apple Silicon requirement instead of showing a confusing message that only lists Android formats (APK, AAB).

Fixes EME-951

🤖 Generated with Claude Code

When users try to upload .xcarchive or .ipa files from a non-Apple
Silicon Mac (e.g. Intel-based Xcode Cloud), they get a confusing error
that only mentions Android formats (APK, AAB). The real reason is that
xcarchive/IPA processing is compile-time gated to ARM64 macOS.

Add a targeted check on non-ARM64 platforms that detects these file
extensions and returns a clear error explaining the Apple Silicon
requirement.

EME-951

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@runningcode runningcode requested review from a team and szokeasaurusrex as code owners March 12, 2026 10:25
@linear-code
Copy link

linear-code bot commented Mar 12, 2026

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

debug!("File format validation failed");

#[cfg(not(all(target_os = "macos", target_arch = "aarch64")))]
Copy link
Member

Choose a reason for hiding this comment

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

l: I was thinking it might make more sense to have this error only on x86_64 macOS builds, given that the users in #2919 were only confused about the lack of support on Intel Macs, and Xcode Cloud specifically.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, that's a good point but this error would also occur if somehow a user tried to upload an xcarchive on a linux or other machine.

ByteView::open() calls File::open() internally, which fails with a
generic I/O error on directories. Since .xcarchive is a directory
bundle, the previous validation in validate_is_supported_build() was
unreachable — users on non-Apple Silicon got a confusing "Is a
directory" error instead of the intended helpful message.

Move the extension check before ByteView::open() so the clear error
message is shown.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@runningcode runningcode merged commit 4271e21 into master Mar 12, 2026
26 checks passed
@runningcode runningcode deleted the no/improve-xcarchive-ipa-error-message branch March 12, 2026 11:45
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