From 68b2811e84dd1b1f630cb17708fc68f446a84a52 Mon Sep 17 00:00:00 2001 From: islameldesoky1 Date: Thu, 1 Oct 2026 12:17:59 +0100 Subject: [PATCH] fix: exclude x86_64 from iOS Simulator builds to work around missing slice MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- sample/ios/Podfile | 8 ++++++++ sample/ios/Podfile.lock | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/sample/ios/Podfile b/sample/ios/Podfile index 197c9a1..e5589fd 100644 --- a/sample/ios/Podfile +++ b/sample/ios/Podfile @@ -77,6 +77,14 @@ target 'sample' do # C++ settings config.build_settings['CLANG_CXX_LANGUAGE_STANDARD'] = 'c++20' config.build_settings['CLANG_CXX_LIBRARY'] = 'libc++' + + # WORKAROUND (MSDK-4832): 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 (EXCLUDED_ARCHS added alongside it, unnecessarily: + # 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' end end diff --git a/sample/ios/Podfile.lock b/sample/ios/Podfile.lock index 9edec92..0c501d5 100644 --- a/sample/ios/Podfile.lock +++ b/sample/ios/Podfile.lock @@ -2894,6 +2894,6 @@ SPEC CHECKSUMS: UsercentricsUI: 0bf3d1a5ff33d34ff98be8645cc0358bc213b37b Yoga: 9b30b783a17681321b52ac507a37219d7d795ace -PODFILE CHECKSUM: 8d257452e9e69d13384a99ee3cd38b42636521da +PODFILE CHECKSUM: 58bddb926e31074bb71fa08e588e08b2cfe944ee COCOAPODS: 1.16.2