在xcode上构建本机iOS应用程序时遇到此错误。
在npm install和rpm链接react-native-fs库之后开始出现此错误。但是在网上搜索解决方案后,我注意到许多人在安装其他React Native库时遇到了相同的错误。
许多人建议的一种可能的解决方案是,在“构建设置”->“标题搜索路径”下添加以下内容。
$(SRCROOT)/../node_modules/react-native/React
-(递归)
但是这种解决方案没有运气,仍然会出现相同的错误
在xcode上构建本机iOS应用程序时遇到此错误。
在npm install和rpm链接react-native-fs库之后开始出现此错误。但是在网上搜索解决方案后,我注意到许多人在安装其他React Native库时遇到了相同的错误。
许多人建议的一种可能的解决方案是,在“构建设置”->“标题搜索路径”下添加以下内容。
$(SRCROOT)/../node_modules/react-native/React
-(递归)
但是这种解决方案没有运气,仍然会出现相同的错误
您可以做的正确的事情是:
1)npm uninstall reat-native-fs
卸载库
2)npm unlink react-native-fs
取消链接库
现在,该库已成功删除,现在在您的项目中再次安装该库,这次手动链接所有内容。有时自动链接会导致此错误。
对我来说,以上解决方案都没有用,下面是有效的方法(我已经签出Parallelize Build
并添加了React
)
1. Open XCode --> To Libraries add `$LibraryWhichDoesNotWork.xcodeproj$`
2. Then for your app in the `Build Phases` add to the `Link Binary with Libraries` the file `lib$LibraryWhichDoesNotWork$.a`
转到项目中的iOS文件夹并安装pod-
$ pod install
如果您在安装Pod类型命令时遇到任何错误,
$ xcode-select -p
结果应为-/Applications/Xcode.app/Contents/Developer
如果路径不正确,请在Xcode中打开您的iOS项目,然后转到:Xcode-> preferences->命令行工具->选择Xcode
再次安装吊舱,您的问题将得到解决。
如果要通过编辑器创建它,请打开SMobile.xcscheme
并改变 parallelizeBuildables = "NO"
我在使用create-react-native-module创建的任何新模块中都收到此错误。没有发布的解决方案对我有用。
对我有用的是首先确保yarn
在新创建的module文件夹中运行以便创建node_modules/
(这一步可能很明显)。然后,在XCode中,选择产品->方案->反应,而不是默认选择MyModuleName。
最新版本的反应母语在以前的帖子解释和图书馆这里有破坏兼容性的变化。如果您不打算升级到react-native 0.40+,但是可以强制安装该库的先前版本,例如,使用react-native-fs:
npm install --save -E react-native-fs@1.5.1
在React Native 0.60之后,此问题通常是由链接库与新的“自动链接”功能混合引起的。这为我解决了
使用取消旧库的链接
$ react-native unlink react-native-fs
完全使用刷新Pod集成
$ pod deintegrate && pod install
现在重新加载您的工作区并进行干净的构建。
如果Libraries/React.xcodeproj
在xcode中为红色,则重新安装node_modules
rm -rf node_modules && yarn
我从react-native 0.46.3新建的项目是红色的:当我做了react-native init时,SI的npm为5.3.0,纱线为0.24.5。
对于将React Native升级到0.40+后出现此错误的查看器,您可能需要react-native upgrade
在命令行上运行。
我能够构建调试,但是无法构建档案。
我通过将React.xcodeproj
/ node_modules / react-native / React中找到的内容拖到Xcode的根目录中来解决此问题,然后在构建阶段>目标依赖项中将React添加为目标依赖项。
快速修复(不是最好的)
更改import react-native标题行:
#import <React/RCTBridgeModule.h>
#import <React/RCTLog.h>
至:
#import "RCTBridgeModule.h"
#import "RCTLog.h"
这是我要尝试使用的库所做的更改的示例:关闭#46-未找到“ RCTBridgeModule.h”文件。
更改
#import "RCTBridgeModule.h"
至
#import "React/RCTBridgeModule.h"
以我为例,当我尝试为iOS归档一个0.40+的react-native应用程序时发生了这个特殊问题(解决方案在这里找到:升级到时,可靠的构建^0.39.2
失败^0.40.0
)。
发生的事情是Xcode试图并行构建react-native库,并在实际构建react库之前构建具有隐式react依赖关系的库。
我的解决方案是:
禁用并行构建:
将React添加为项目依赖
我在做了
react-native link
一个不支持RN 0.59+的自动链接的依赖手册之后遇到了这个问题解决方案是在Xcode的Libraries文件夹下选择xcodeproj文件,然后在Build Settings中,更改Header Search Paths以添加以下两个(递归):