Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

🔥 [iOS][Crashlytics] dSYM input uses TARGET_NAME when product name differs; pod install restores incorrect path

Abierto
#9,404 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@Mastersam07 ya está trabajando en esto.

Desde el 27/10/2026.

  • #9411 de @Mastersam07 — abierto

Evaluación

Este issue todavía no se ha evaluado.

Descripción

platform: ios plugin: crashlytics type: bug

Issue

The generated iOS Crashlytics build phase uses TARGET_NAME for the dSYM DWARF filename. When the target name differs from the product/executable name, the input points to a nonexistent file. Manually correcting it in Xcode is temporary: pod install regenerates the phase and restores TARGET_NAME. Regeneration is expected; the incorrect generated filename is the bug.

Reproduced with RNFirebase 26.4.0. The same input is present on main:
https://github.com/invertase/react-native-firebase/blob/main/packages/crashlytics/react-native.config.js

Steps to reproduce
  1. Use a CocoaPods-based React Native iOS app with RNFirebase app and Crashlytics 26.4.0.
  2. Set target name to ExampleApp, PRODUCT_NAME to Example Development, and leave EXECUTABLE_NAME at its default $(PRODUCT_NAME).
  3. Run pod install.
  4. Inspect Input Files in [RNFB] Crashlytics Configuration:
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}

The dSYM contains Contents/Resources/DWARF/Example Development, but this input resolves to Contents/Resources/DWARF/ExampleApp.

  1. Change TARGET_NAME to PRODUCT_NAME in that input in Xcode.
  2. Run pod install again: TARGET_NAME is restored.

Verified in an existing application; names above are sanitized examples. No standalone reproduction repository is attached.

Expected behavior / proposed fix

Generate a path matching the DWARF executable filename. Firebase documents PRODUCT_NAME:

${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${PRODUCT_NAME}

https://firebase.google.com/docs/crashlytics/ios/get-deobfuscated-reports

EXECUTABLE_NAME could also be considered for custom executable names.

Workaround and scope

An application-level react-native.config.js override of this dependency’s iOS scriptPhases, preserving the phase settings and replacing TARGET_NAME with PRODUCT_NAME, survives pod install. Verified without a duplicate phase.

This report establishes an incorrect declared input, not that every affected archive fails to upload symbols; impact can depend on Xcode dependency analysis and sandbox settings.

Historical context: https://github.com/invertase/react-native-firebase/pull/4520


Project Files

Relevant sanitized configuration only.

Javascript
package.json:
{
  "dependencies": {
    "react": "19.2.3",
    "react-native": "0.87.1",
    "@react-native-firebase/app": "26.4.0",
    "@react-native-firebase/crashlytics": "26.4.0"
  }
}
firebase.json for react-native-firebase v6:

Not relevant to generation of build phase inputs.

iOS
ios/Podfile:
  • I am not using Pods
  • I am using Pods

Static frameworks; RNFirebase SPM disabled ($RNFirebaseDisableSPM = true). Private application-specific Podfile contents omitted.

AppDelegate.m:

Not relevant to generated build phase inputs.

Android

Not applicable: iOS build phase generation.

Have you converted to AndroidX?

Not applicable.

android/build.gradle:

Not applicable.

android/app/build.gradle:

Not applicable.

android/settings.gradle:

Not applicable.

MainApplication.java:

Not applicable.

AndroidManifest.xml:

Not applicable.


Environment

Relevant versions (not a full react-native info dump):

  • React Native: 0.87.1

  • React: 19.2.3

  • RNFirebase app / Crashlytics: 26.4.0

  • FirebaseCrashlytics iOS SDK: 12.18.0

  • CocoaPods: 1.16.2

  • Xcode: 26.4.1 (17E202)

  • Node.js: 22.22.3

  • Yarn: 3.6.4

  • TypeScript: 6.0.3

  • Platform experiencing the issue: iOS

  • Firebase module affected: Crashlytics

  • Using TypeScript? Yes.

Lenguaje dominante
TypeScript
Estrellas
12.3k
Forks
2.3k
Merge medio
1 d 19 h
PR fusionados (30 d)
21

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de invertase/react-native-firebase

Todos los issues de invertase/react-native-firebase

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.