Commit e996bb2
committed
fix(ci): disable prebuilt RNCore on iOS — RN 0.85.3 + Xcode 26 incompat
CI build-ios 一直挂 'memory' file not found,本地复现也一致。
根因:RN 0.85.3 默认开 RCT_USE_PREBUILT_RNCORE 时,React-umbrella.h 把
RCTBridgeConstants.h 放在 RCTDefines.h 之前,且 module.modulemap 用
wildcard 把每个 header 隔离成 sub-module —— ReactCodegen 编译 .cpp
时找不到 <memory> 等 C++ stdlib header(react/react-native#56862)。
修复路径 —— 临时禁掉 prebuilt(从源码编译 React-Core),等 0.85.4 含
PR #56862 后再恢复:
- ci.yml build-ios: RCT_USE_RN_DEP=0 + RCT_USE_PREBUILT_RNCORE=0
- example/ios/Podfile: 撤销之前加的 CLANG_CXX_LIBRARY workaround
(根因找到后不再需要 hack)
本地用 RCT_USE_PREBUILT_RNCORE=0 重 pod install 后跑 build:ios 通过,
生成 ReactNativeUmengExample.app 成功。
参考:
- react/react-native#56862 (fix backport to 0.84/0.85)
- invertase/react-native-firebase#8883 (workaround 推荐)
- expo/expo#35517 (同问题,同根因)1 parent fdf54ed commit e996bb2
2 files changed
Lines changed: 5 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
122 | 122 | | |
123 | 123 | | |
124 | 124 | | |
125 | | - | |
126 | | - | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
127 | 130 | | |
128 | 131 | | |
129 | 132 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | 33 | | |
47 | 34 | | |
0 commit comments