Skip to content

iOS dart-symbol-map upload does not use symbols_path for dSYM discovery #392

@Kobby-Bawuah

Description

@Kobby-Bawuah

Environment

sentry-dart-plugin: latest (main branch)
Flutter: 3.29.3
Platform: iOS

Steps to Reproduce

  1. Configure the plugin with symbols_path pointing to a custom directory (outside the default Flutter build/ tree) that contains App.framework.dSYM and obfuscation_map.json
  2. Configure dart_symbol_map_path pointing to the obfuscation map
  3. Run the plugin

This is common in CI setups where symbols are downloaded from external storage (e.g., S3) to a separate directory rather than being in the Flutter project's build output.

Expected Result

The plugin should find App.framework.dSYM/Contents/Resources/DWARF/App inside the symbols_path directory, pair it with the obfuscation map, and upload via sentry-cli dart-symbol-map upload. Dart exception types and values should be deobfuscated in Sentry.

Actual Result

The plugin reports success but Dart names remain obfuscated (e.g., exception type aig instead of the real class name).

The iOS dSYM discovery in collectDebugFilesForDartMap only searches {buildFilesFolder}/ios/ and {projectRoot}/ios/build/. It does not check symbolsFolder (symbols_path), even though Android symbol collection does use it.

Because no iOS debug files are found, the dart symbol map upload is silently skipped, and the plugin still exits successfully.

Running sentry-cli dart-symbol-map upload manually with the same files works correctly.

Metadata

Metadata

Assignees

Labels

BugSomething isn't workingDart
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions