首页 > 解决方案 > React Native xcode 项目“标头搜索路径”

问题描述

按照 React Native 官方教程中的步骤,“react-native init MyFirstRNProject”创建的 xcode 项目将无法编译。它抱怨找不到“React/xxxxx.h”。

在进一步调查这个 xcode 项目后,我发现“React”目标包含一个构建阶段“Copy Headers”,它将所有暴露的头文件复制到一个奇怪的位置:“MyFirstRNProject/node_modules/react-native/React/build/Debug-iphonesimulator/包括/反应”

好的,很酷,至少我们得到了标题位置。我们可以将复制的位置更改为比这更好的位置。因此,无论哪个项目执行“#import < React/xxxxx.h >”,都应该在构建设置的“标题搜索路径”中具有上述路径。不幸的是,所有项目的“标题搜索路径”都是空的。这就是为什么我收到大量未找到标题的错误。

好的,让我们添加它。现在它找到了标头,但编译仍然失败,请参阅下面的参考: https ://github.com/facebook/react-native/issues/21482

上面的讨论说删除项目的“标题搜索路径”将解决问题。但是我们知道,如果没有标头搜索路径,它又找不到 React 标头。

现在只是好奇,我认为我的设置没有错,有人有同样的问题吗?

标签: iosxcodereact-native

解决方案


我在全新安装 Xcode 10.1时遇到了同样的问题 之后 有几个步骤可以编译新项目react-native init appName

  1. Xcode中,选择文件->项目/工作区设置。您将看到一个Build System选项来选择Legacy Build System,如下所示

设置旧版构建系统

  1. 更改高级设置,并将构建位置设置为自定义并将路径更改为相对于工作区构建/如图所示构建/构建/

构建路径设置 3.命令行构建的用户调试(为了正常工作)react-native run-ios

命令行构建模式

  1. 清除您的项目

在此操作之后(不需要设置标题搜索路径),您将能够通过XcodeCLI构建和运行空项目


推荐阅读