You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(ios): Consume sentry-cocoa as a prebuilt xcframework by default
pod install now downloads Sentry.xcframework.zip from sentry-cocoa's
GitHub release (SHA256-verified) and caches it under
~/Library/Caches/sentry-react-native/xcframeworks/<version>/, instead of
building Sentry from source as a CocoaPod. Sentry symbols are then
statically linked into the app binary (no framework embed, no dylib
dep) via `FRAMEWORK_SEARCH_PATHS[sdk=…*]` + clang's -fmodules-autolink.
Motivation:
- CocoaPods trunk is winding down; we needed a path off it that also
sidesteps the Xcode 16/26 archive bug that hits any signed SPM
binary xcframework (`Signatures/*.signature` collision).
- Consuming via CocoaPods' `vendored_frameworks` pipeline goes
through a different code path and is unaffected.
Fallback: set `SENTRY_USE_XCFRAMEWORK=0` before pod install to restore
the source-built `Sentry` CocoaPod (for offline builds behind a
restrictive proxy, or projects with another pod that transitively
depends on the Sentry CocoaPod).
Cache location is user-writable (not inside node_modules), which
means pnpm's isolated store and Yarn PnP work without changes.
Override the cache root with `SENTRY_XCFRAMEWORK_CACHE_DIR`.
Verified end-to-end against alpha.3 on:
- Real device signed archive (Apple accepts, codesign strict-verify passes)
- Native crash → dSYM upload → Sentry frames symbolicated
- RN 0.71 archive (via SKIP_BUNDLING) with 21k Sentry symbols in dSYM
- EAS Build with npm, pnpm-isolated, and `SENTRY_USE_XCFRAMEWORK=0`
- Second EAS build after version bump (no stale-cache pollution)
Reapplies the content of PR #6381 (merged prematurely as part of the
alpha.3 release, then rolled back via #6412) with the pnpm cache-location
fix baked in from the start this time.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,14 @@
12
12
13
13
- Add experimental `extendAppStart`/`finishExtendedAppStart`/`getExtendedAppStartSpan` to extend the standalone app start window and instrument post-init work ([#6392](https://github.com/getsentry/sentry-react-native/pull/6392))
14
14
15
+
### Changes
16
+
17
+
- Consume `sentry-cocoa` as a prebuilt xcframework by default on iOS ([#6413](https://github.com/getsentry/sentry-react-native/pull/6413))
18
+
19
+
**Warning**
20
+
21
+
**This may be a breaking change for some setups.**`pod install` now downloads `Sentry.xcframework` from sentry-cocoa's GitHub release (SHA256-verified) and vendors it, instead of building Sentry from source as a CocoaPod. If your iOS build breaks after upgrading (e.g. when another pod also depends on the `Sentry` CocoaPod), or if your `pod install` environment cannot reach `github.com`, set `SENTRY_USE_XCFRAMEWORK=0` before `pod install` to restore the previous source-build behavior.
22
+
15
23
### Fixes
16
24
17
25
- Skip iOS source maps upload on `Debug` builds ([#6405](https://github.com/getsentry/sentry-react-native/pull/6405))
0 commit comments