Environment
sentry-dart-plugin: latest (main branch)
Flutter: 3.29.3
Platform: iOS
Steps to Reproduce
- 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
- Configure dart_symbol_map_path pointing to the obfuscation map
- 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.
Environment
sentry-dart-plugin: latest (main branch)
Flutter: 3.29.3
Platform: iOS
Steps to Reproduce
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.