Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#9,404 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@Mastersam07 ci sta già lavorando.

Dal 27/10/2026.

  • #9411 di @Mastersam07 — aperta

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

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.

Lingua principale
TypeScript
Stelle
12.3k
Fork
2.3k
Merge medio
1g 16h
PR unite (30g)
23

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di invertase/react-native-firebase

Tutte le issue di invertase/react-native-firebase

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.