fix(ios): Restore ObjC SentrySwizzle for RNSScreen to link against xcframework#6468
fix(ios): Restore ObjC SentrySwizzle for RNSScreen to link against xcframework#6468alwx wants to merge 1 commit into
Conversation
Semver Impact of This PR⚪ None (no version bump detected) 📋 Changelog PreviewThis is how your changes will appear in the changelog.
🤖 This preview updates automatically when you update the PR. |
…framework The Swift SPI enum case SentryInternalSwizzleApi.Mode.oncePerClass isn't exported as a linkable symbol from sentry-cocoa's prebuilt static xcframework, so consumers on the default SENTRY_USE_XCFRAMEWORK path fail to link. Route the RNSScreen viewDidAppear: swizzle back through the ObjC SentrySwizzle API, whose class symbols are exported in the xcframework slice. Fixes #6465.
74b4aae to
e4a99a6
Compare
Instructions and example for changelogPlease add an entry to Example: ## Unreleased
### Fixes
- Restore ObjC SentrySwizzle for RNSScreen to link against xcframework ([#6468](https://github.com/getsentry/sentry-react-native/pull/6468))If none of the above apply, you can opt out of this check by adding |
📲 Install BuildsAndroid
|
|
Should we close this PR? it seems the root cause was done by user error. |
|
The problem seems to be resolved:
Ref: #6465 (comment) |
|
Closing it. Thanks @philprime for taking a look! |
📢 Type of change
📜 Description
Restore the
SentrySwizzleObjC path for theRNSScreen viewDidAppear:swizzle. The SwiftSentrySDK.internal.swizzleAPI introduced in #6380 referencesSentryInternalSwizzleApi.Mode.oncePerClass, an@_spi(Private)enum case whose metadata symbol is not exported from sentry-cocoa's prebuilt static xcframework — compile succeeds via.private.swiftinterface, but link fails on arm64.The ObjC
SentrySwizzleclass +SentrySwizzleModeenum export normally (_OBJC_CLASS_$_SentrySwizzleverified in the arm64 slice), so this call site links cleanly for both the xcframework default and the source-builtSENTRY_USE_XCFRAMEWORK=0fallback. The rest of theSentrySDK.internalmigration in #6380 keeps using the Swift bridge.💡 Motivation and Context
Fixes #6465.
💚 How did you test it?
📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps