在iOS链接阶段,我开始看到我的React Native项目的错误。
React原生版:0.41.2
,0.40
,0.39
一切正常,我编辑了Android版本,React Native代码没有更改,当这种链接错误开始显示/node_modules/react-native/React/Base/{RCTHeaderName.h}
路径上的标题未找到时:
In file included from /Users/user/ReactNativeProject/node_modules/react-native-vector-icons/RNVectorIconsManager/RNVectorIconsManager.h:9:
../react-native/React/Base/RCTBridgeModule.h:12:9: fatal error: 'React/RCTDefines.h' file not found
#import <React/RCTDefines.h>
^
在 Link Binary With Libraries 中,我包含了核心React库
(libReact.a
)。
RCTLog.h
的位置是
PROJECTROOT/node_modules/react-native/React/Base/RCTLog.h
,但是
导入为#import <React/RCTLog.h>
将React.xcodeproj
新添加到库中无济于事,Xcode的Product > Clean
没有帮助,也没有重新启动Xcode
react-native run-android
有效,react-native run-ios
显示错误
为执行react-native run-ios
答案 0 :(得分:29)
答案 1 :(得分:4)
更新: Facebook React-Native上的解决方案 https://github.com/facebook/react-native/issues/11813
============
这个问题也发生在我身上。 似乎React.xcodeproj只识别配置调试和发布。 React.xcodeproj的所有输出都写入 Debug-iphonesimulator 或 Release-iphonesimulator 。
这意味着如果你有一些配置而不是&#34; Debug / Release&#34;,输出仍会被写入 Debug-iphonesimulator 或 Release-iphonesimulator ,这不是我们想要的。
因此解决方案是在React.xcodeproj中添加相同的配置以匹配您自己的项目。
例如,如果你有&#34; Debug / Release / Test / AppStore&#34;在您自己的项目中有4个配置,您必须确保React.xcodeproj也具有相同的4个配置。
请点击&#34; +&#34;配置按钮,然后&#34;重复发布配置&#34;,并根据您的需要重命名。
答案 2 :(得分:3)
似乎有很多原因导致出现这些“缺少标头”错误,我已经尝试了很多在Stack Overflow上发布的内容,但没有任何效果。最终,我偶然发现了下面对我有用的解决方案。万一其他人有同样的问题,发贴...有点晦涩。对我来说,这是由于Xcode中的构建位置设置显然与普通的React Native不兼容造成的。解决此问题的构建位置设置如下所示:
注意:更改此设置后,可能必须使用react-native init从头开始重新初始化香草的React Native应用程序。
答案 3 :(得分:0)
在您的媒体库版本path/project folder/ios/Pods/Headers/Public
-> Settings
中添加Header Search Path
。该问题将得到解决