[iOS] a problem with codegen?
まだ誰も着手していません。
- 主要言語
- C++
- スター
- 127k
- フォーク
- 25.3k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 4
説明
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
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
リンクされている react-native-builder-bob の issue と react-native-fs の dev-v2.31 ブランチから始め、次に ios/generated 配下の生成された .mm ファイルと RN 0.77 のライブラリ設定を調査します。Example App の linking 失敗を再現し、関連する生成出力を比較します。重複したオブジェクトが Codegen に由来するのかプロジェクト設定に由来するのかを特定し、具体的な修正を文書化できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- react-native
- 領域
- build-system, mobile
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100