Skip to content

[Crashlytics] Developer has ability to mark framework ownership #14218

Open
@lilidotshi

Description

@lilidotshi

Description

I'm running into an issue where it looks like both fatal and non-fatals are not being bucketed correctly, but only when i build to a device. I have an app that references another dynamic framework of mine, where I'm calling fatalError("some message"). I also tried with non-fatals with the same effect. In the simulator, these crashes/nonfatals are logged correctly (see images below). However, with the same code, and same build settings, building to an actual device logs the issue as part of the main app as opposed to the dylib. This is causing everything to be bucketed together across my various modules, which is bad because I can't identify individual crashes easily from the dash.

I've heard there are issues with the Enable Debug dylib support setting but that's off for me.

Simulator Device
Screenshot 2024-12-05 at 11 53 25 AM Screenshot 2024-12-05 at 11 53 35 AM

Reproducing the issue

Create a vanilla SwiftUI app, and a dynamic framework. Have the app depend on the framework and call fatalError somewhere within the framework. On a simulator, crash stacktrace looks good and buckets correctly. On a device it buckets incorrectly and is all bucketed within App.main and greyed out stack traces to the actual crash

Firebase SDK Version

11.6.0

Xcode Version

16.1

Installation Method

Swift Package Manager

Firebase Product(s)

Crashlytics

Targeted Platforms

iOS

Relevant Log Output

No response

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions