react / react/react-native

[iOS] a problem with codegen?

未关闭
#48,936 5 条评论 2 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

Platform: iOS Resolution: PR Submitted Type: New Architecture
主要语言
C++
星标
127k
派生
25.3k
平均合并
1 天 23 小时
30 天内合并 PR
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

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。