Skip to content

fix(MSDK-4832): exclude x86_64 from iOS Simulator builds - #249

Closed
islameldesoky95 wants to merge 1 commit into
release/2.32.0from
fix/MSDK-4832-exclude-x86-64-simulator
Closed

islameldesoky95 wants to merge 1 commit into
release/2.32.0from
fix/MSDK-4832-exclude-x86-64-simulator

Conversation

@islameldesoky95

@islameldesoky95 islameldesoky95 commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

User description

Native UsercentricsUI.xcframework 2.32.0 (and 2.31.1+) ships arm64-only iOS/tvOS Simulator slices — causes test-ios CI to crash with a dyld missing-slice abort right after a successful compile+link. Root cause tracked in mobile-sdk Jira MSDK-4832, targeting a 2.32.1 patch. Workaround: exclude x86_64 from the Pods project's iOS Simulator builds in the existing post_install hook. Same pattern already verified working for flutter-sdk's equivalent example.

Merging into release/2.32.0 (PR #248) directly since repo rules block pushing straight to that branch.


CodeAnt-AI Description

Prevent x86_64 iOS Simulator crashes caused by an unavailable native SDK slice

What Changed

  • iOS Simulator builds now exclude x86_64 when using the affected native UsercentricsUI SDK versions
  • Tests no longer attempt to launch against the missing simulator slice, avoiding dyld crashes before test execution
  • Sentry's available x86_64 simulator support remains usable

Impact

✅ Fewer iOS Simulator test startup crashes
✅ Reliable CI runs on arm64 Simulator destinations
✅ Unaffected Sentry simulator architecture support

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

…slice

Native UsercentricsUI.xcframework 2.32.0 (and 2.31.1+) ships arm64-only
iOS/tvOS Simulator slices — the old x86_64 fat-binary slice was reduced
to a dSYM-only stub when Sentry was linked in, with EXCLUDED_ARCHS added
alongside it unnecessarily (the real Sentry-Dynamic xcframework does
ship x86_64). This caused test-ios CI to crash with "Test crashed with
signal abrt before starting test execution" (dyld missing-slice crash)
right after a successful compile+link.

Root cause tracked in mobile-sdk Jira MSDK-4832, targeting a 2.32.1
patch release.

Workaround: exclude x86_64 from the Pods project's iOS Simulator builds
in the existing post_install hook, so Xcode never attempts to link
against the broken slice. Same pattern already verified working for
flutter-sdk's equivalent CocoaPods example.

Regenerated Podfile.lock via `pod install` (checksum only, no
dependency version changes). Could not fully verify with a real
on-simulator test run locally — this dev machine is near disk capacity
(same constraint noted in the release PR's own earlier verification).
Recommend confirming via CI once pushed.
@codeant-ai

codeant-ai Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Reviewed your PR 68b2811 Oct 01, 2026 · 11:19 11:21

@codeant-ai

codeant-ai Bot commented Oct 1, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@coderabbitai

coderabbitai Bot commented Oct 1, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: f749a337-9160-488d-b1d8-d7ccd869442e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@qodo-code-review

qodo-code-review Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

Grey Divider

Sorry, something went wrong

We weren't able to complete the code review on our side. Please try again manually by commenting /agentic_review on this PR.

Grey Divider

Qodo Logo

@codeant-ai codeant-ai Bot added the size:XS This PR changes 0-9 lines, ignoring generated files label Oct 1, 2026
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Exclude x86_64 from sample iOS Simulator Pods builds

🐞 Bug fix ⚙️ Configuration changes 🕐 Less than 10 minutes

Grey Divider

AI Description

• Exclude x86_64 from sample Pods’ iOS Simulator builds to avoid crashes with arm64-only
 UsercentricsUI slices.
• Refresh the Podfile checksum without changing dependency versions; confirm simulator tests in CI.
Diagram

graph TD
  A["Podfile hook"] --> B["Pods project"] --> C["arm64 Simulator build"] --> D["UsercentricsUI framework"] --> E["sample tests"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Wait for a corrected native SDK
  • ➕ Preserves x86_64 Simulator support without a sample-specific workaround.
  • ➖ Leaves the affected release’s simulator CI blocked until a corrected framework is available.

Recommendation: Use the scoped Podfile workaround for this release, verify test-ios in CI, and remove the exclusion once the corrected native SDK is adopted.

Files changed (2) +9 / -1

Bug fix (1) +8 / -0
PodfileExclude x86_64 from simulator builds in the Pods post-install hook +8/-0

Exclude x86_64 from simulator builds in the Pods post-install hook

• Adds an iOS Simulator-specific EXCLUDED_ARCHS setting to the existing loop over non-test Pods targets. This works around the missing x86_64 UsercentricsUI slice until a corrected native SDK is published.

sample/ios/Podfile

Other (1) +1 / -1
Podfile.lockRefresh the Podfile checksum +1/-1

Refresh the Podfile checksum

• Updates only the Podfile checksum to reflect the hook change; dependency versions remain unchanged.

sample/ios/Podfile.lock

@islameldesoky95

Copy link
Copy Markdown
Collaborator Author

Closing — superseded. Opening a fresh release PR directly off release/2.32.0 with this fix already included instead of a separate side-PR.

Comment thread sample/ios/Podfile
# the real Sentry-Dynamic xcframework does ship x86_64). Causes a dyld "signal abrt before
# starting test execution" crash on any x86_64 Simulator destination. Exclude x86_64 here
# until a corrected native SDK version is published (tracked in mobile-sdk MSDK-4832).
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'x86_64'

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Suggestion: On Intel Macs, pod targets exclude x86_64 while the sample app still requests it, causing architecture mismatch during simulator linking instead of fixing the launch failure.

Assessment: 🟠 Major · 🔁 Occurrence: Rarely · 🏷️ Logic error

Use CodeAnt Skill Fix in Cursor Fix in VSCode Claude

Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** sample/ios/Podfile
**Line:** 87:87
**Comment:**
	*Logic Error: On Intel Macs, pod targets exclude `x86_64` while the sample app still requests it, causing architecture mismatch during simulator linking instead of fixing the launch failure.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
Once fix is implemented, also check other comments on the same PR, and ask user if the user wants to fix the rest of the comments as well. if said yes, then fetch all the comments validate the correctness and implement a minimal fix
👍 | 👎

@islameldesoky95 islameldesoky95 mentioned this pull request Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS This PR changes 0-9 lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant