react / react/react-native

[iOS] a problem with codegen?

Aperta
#48,936 5 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Platform: iOS Resolution: PR Submitted Type: New Architecture
Lingua principale
C++
Stelle
127k
Fork
25.3k
Merge medio
1g 23h
PR unite (30g)
4

Descrizione

Description

Hey folks, will you please have a brief look at the issue I've created in creact-react-native-library repo: https://github.com/callstack/react-native-builder-bob/issues/755 (not sure whether that issue belongs there, or to the RN repo, as it seems to be caused by Codegen outputs).

Essentially, I am trying to upgrade my fork of react-native-fs to RN@0.77, on the way resetting the library scaffolding to the one generated by the latest version of the create-react-native-library generator. The upgraded code is here: https://github.com/birdofpreyru/react-native-fs/tree/dev-v2.31. I'm trying to build its Example App then, and it fails at the linking step, due to a clash between the same-named objects (like RCTAppDependencyProvider) present both in files generated by the codegen for the library itself, and for smth else.

I have confirmed that builds passes fine and the app works, if I just comment out the content of involved .mm files generated under ios/generated folder (relative to the repo's root); but I have no idea what is the root cause of the problem? Is it a bug inside the Codegen generating for the library some files it is not supposed to generate for it? Is it some mistake in my lib's configuration causing that Codegen behavior? Have I messed-up any other config in the project? Is it a problem with the project template used by creact-react-native-library (same problem happens with the new Turbo Module lib project generated by create-react-native-library, without any other modifications)?

I guess, it is very easy issue to narrow down for anybody who knows how exactly Codegen is supposed to behave here :) (thus, not for me 😅 )

Steps to reproduce

N/A

React Native Version

0.77.0

Affected Platforms

Build - MacOS

Areas

Codegen

Output of npx react-native info
N/A
Stacktrace or Logs
N/A
Reproducer

N/A

Screenshots and Videos

No response

Guida per i contributori

Apri la guida per i contributori

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.

Direzione di ricerca

Inizia con l’issue collegata di react-native-builder-bob e il branch dev-v2.31 di react-native-fs, quindi esamina i file .mm generati sotto ios/generated e la configurazione della libreria RN 0.77. Riproduci il fallimento del linking di Example App e confronta gli output generati coinvolti. Il lavoro è completato quando viene identificato se gli oggetti duplicati provengono da Codegen o dalla configurazione del progetto e viene documentata una correzione concreta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
react-native
Ambito
build-system, mobile
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.