升级依赖后iOS端App名称显示为__RN_CONFIG_DISPLAY_NAME问题求助
iOS端App名称显示为
__RN_CONFIG_DISPLAY_NAME的修复方案 该问题是react-native-config 1.4.5版本与React Native 0.66+版本的iOS构建流程适配变更导致的:新版本的变量注入时机和RN 0.66调整后的Info.plist预处理逻辑不匹配,导致构建时占位符没有被正确替换,直接输出了原始变量名。
可按以下步骤逐一排查修复:
- 检查Info.plist中的
CFBundleDisplayName配置,确认取值为$(DISPLAY_NAME),不要直接写入__RN_CONFIG_DISPLAY_NAME占位符 - 打开Xcode项目的Build Phases面板,调整阶段执行顺序:保证
[CP-User] Generate Build Config阶段在Bundle React Native code and images阶段之前执行,确保变量先生成再被RN构建流程读取 - 在iOS项目根目录新增
.xcode.env.local文件,写入以下内容,手动把.env文件里的DISPLAY_NAME变量导出到Xcode构建环境:
export DISPLAY_NAME=$(node -e "console.log(require('react-native-config').default.DISPLAY_NAME)")
- 清理构建缓存后重新编译:执行
rm -rf ~/Library/Developer/Xcode/DerivedData删除Xcode全局缓存,删除ios目录下的build、Pods文件夹和Podfile.lock文件,重新执行pod install后再运行项目 - 若仍未生效,可在Xcode的Build Settings中找到
Preprocess Info.plist File选项,将值修改为YES,强制Xcode预处理Info.plist中的变量占位符
内容的提问来源于stack exchange,提问作者Mohsen Zia
相关产品推荐
相关产品推荐

