Skip to content

Sentry iOS SDK Session Replay Crash on iOS 26 Beta #6198

@bokonon1

Description

@bokonon1

Platform

iOS

Environment

Develop

Installed

Swift Package Manager

Version

8.56.0

Xcode Version

16.x (latest)

Did it work on previous versions?

first time trying this

Steps to Reproduce

 ```swift
 SentrySDK.start { options in
     options.dsn = "https://[redacted]@o4510043461058560.ingest.us.sentry.io/4510043476393984"
     options.environment = "development"

     // Performance monitoring
     options.tracesSampleRate = 1.0
     options.enableTracing = true

     // Session Replay
     options.sessionReplay.sessionSampleRate = 1.0
     options.sessionReplay.onErrorSampleRate = 1.0
     options.sessionReplay.maskAllText = true
     options.sessionReplay.maskAllImages = true
 }
 ```

 ## Reproduction Steps
 1. Configure Sentry SDK with Session Replay enabled (as shown above)
 2. Run app on iOS 26.0 beta simulator
 3. Navigate through any screen in the app
 4. Wait ~5 seconds for the replay to attempt sending
 5. App crashes with unrecognized selector error

Expected Result

Session Replay should successfully capture and send replay segments to Sentry without crashing.

Actual Result

 ### Error Message
 ```
 *** Terminating app due to uncaught exception 'NSInvalidArgumentException',
 reason: '-[Sentry.SentryReplayRecording data]: unrecognized selector sent to instance 0x600000da4090'
 ```

 ### Stack Trace (Key Frames)
 ```
 5   TrackRat.debug.dylib    0x00000001025bb190 $sSo16SentryAttachmentC4data10Foundation4DataVSgvgToTepb_Tm + 32
 6   TrackRat.debug.dylib    0x00000001025ba7b4
 $s6Sentry0A12EnvelopeItemC11replayEvent0D9Recording5videoACSgAA0a6ReplayE0C_AA0ahF0C10Foundation3URLVtcfc + 364
 7   TrackRat.debug.dylib    0x00000001025bae38
 $s6Sentry0A12EnvelopeItemC11replayEvent0D9Recording5videoACSgAA0a6ReplayE0C_AA0ahF0C10Foundation3URLVtcfcTo + 120
 8   TrackRat.debug.dylib    0x00000001024bd260 -[SentryClient captureReplayEvent:replayRecording:video:withScope:] + 180
 9   TrackRat.debug.dylib    0x00000001024e0704 -[SentryHub captureReplayEvent:replayRecording:video:] + 132
 10  TrackRat.debug.dylib   0x000000010253873c -[SentrySessionReplayIntegration sessionReplayNewSegmentWithReplayEvent:replayRecording:videoUrl:] + 288
 ```

 ### Debug Logs Before Crash
 ```
 [Sentry] [debug] [Session Replay] Finished rendering video, frame count moved to: 5
 [Sentry] [debug] [Session Replay] Finished creating video with 1 segments
 [Sentry] [debug] [Session Replay] Created replay video with 1 segments
 [Sentry] [debug] [Session Replay] Processing new segment available for replayType: session
 [Sentry] [debug] [Session Replay] Capturing segment: 0, replayId: 9fd24cfbe9744441bfb93ff4913d2e7a
 [Sentry] [debug] [Session Replay] Converting breadcrumbs from: 2025-09-19 02:05:26 +0000 until: 2025-09-19 02:05:31 +0000
 [Sentry] [debug] [Session Replay] New segment with replay event, eventId: 9fd24cfbe9744441bfb93ff4913d2e7a, segmentId: 0

I'm currently disabling Session Replay to prevent crashes:
swift // Commented out until iOS 26 compatibility is resolved // options.sessionReplay.sessionSampleRate = 1.0 // options.sessionReplay.onErrorSampleRate = 1.0

Are you willing to submit a PR?

No response

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions