我在 React Native 项目中遇到了 React-native-config 库的问题,它在 Android 上按预期工作,但在 iOS 上无法工作。
环境:
React Native 版本:0.69 节点版本:20 测试的react-native-config版本:1.5.1到1.5.3 Xcode版本:15.1 测试设备:iPhone 11 设备上的 iOS 版本:18.0 问题详情:
安装react-native-config并按照设置说明进行操作后,我确认环境变量在Android上正常工作,但在iOS上,它们似乎没有加载或返回未定义。我尝试了多种配置来解决此问题,但问题仍然存在。
解决步骤:
确保我的 .env 文件已正确设置并包含必要的环境变量。 验证库是否正确链接,并在清理构建文件夹后在 Xcode 中重新构建项目。 按照 YouTube 视频链接 ( https://www.youtube.com/watch?v=8lA0wP-0vEo&t=154s ) 上的视频教程仔细检查我的 iOS 配置步骤。 代码示例:
javascript 复制代码 从“react-native-config”导入配置;
console.log(Config.MY_VARIABLE); // 适用于 Android,但在 iOS 上记录
undefined
附加说明:我还检查了 Info.plist 文件中是否按照某些指南中的建议正确引用了变量,但这并没有解决问题。
问题:为了让 React-native-config 在 iOS 上正常工作,我应该考虑哪些额外的配置或故障排除步骤?我可能错过了这个库的任何特定于 iOS 的要求吗?
使用不同版本的react-native-config进行测试:
我安装并测试了最新的三个版本的react-native-config库(1.5.1、1.5.2和1.5.3),看看早期或更高版本是否可以在iOS上运行。尽管有这些版本更改,我仍然遇到同样的问题:环境变量在 Android 上有效,但在 iOS 上无效。 仔细检查配置:
我多次彻底检查了react-native-config的配置设置,以确保遵循所有必需的步骤。这包括: 验证我的 .env 文件是否位于根目录中并且变量名称是否为大写。 确保 Podfile 中的 react-native-config 设置正确,并在每次更改后运行 pod install 以确保依赖项是最新的。 在 Xcode 中重建 iOS 项目,并在每次配置调整后清理构建文件夹,以排除任何残留的构建问题。 查看在线资源和文档:
我查阅了官方的react-native-config文档来验证我没有错过任何针对iOS的步骤。 此外,我还观看了 YouTube 上的设置视频(视频链接),以交叉检查我的设置并确保我正确遵循了配置步骤。 尝试在线找到的故障排除解决方案:
谷歌搜索该问题后,我尝试了在 Stack Overflow、GitHub issues 和其他论坛上找到的各种故障排除技巧。这包括: 按照一些讨论中的建议,直接在 Info.plist 中添加变量。 检查react-native-config是否正确链接并且在我的Xcode项目设置的“构建阶段”和“链接二进制文件与库”部分中可见。 尝试在 Xcode 的方案设置中手动设置 iOS 构建的环境变量。 尽管做出了这些努力,当应用程序在 iOS 上运行时,环境变量仍然显示为未定义,尽管它们在 Android 上运行良好。
清除DriveData文件夹中的文件后,可以重新build并检查吗?
路径是这样的
/Users/YOUR-USER-NAME/Library/Developer/Xcode/DerivedData/