为什么Xcode生成配置的精确副本会失败?

为什么Xcode生成配置的精确副本会失败?,xcode,react-native,Xcode,React Native,我有一个react-native应用程序,它带有桥接的Swift代码,使用默认的Release和Debug构建配置构建、运行和归档Xcode10.0。我使用Xcode->Product->Archive或“Play”按钮,一切正常。太好了 然后今天我添加了一个新的构建配置,它与版本完全相同。它被命名为发布副本。我对Debug也做了同样的操作,它的副本是Debug copy 如果我尝试使用副本运行相同的存档或运行任务,则任务在预编译桥接头处失败 /Users/whaley/dev/app/the

我有一个
react-native
应用程序,它带有桥接的Swift代码,使用默认的
Release
Debug
构建配置构建、运行和归档Xcode
10.0
。我使用
Xcode
->
Product
->
Archive
或“Play”按钮,一切正常。太好了

然后今天我添加了一个新的构建配置,它与
版本
完全相同。它被命名为
发布副本
。我对
Debug
也做了同样的操作,它的副本是
Debug copy

如果我尝试使用副本运行相同的
存档
运行
任务,则任务在
预编译桥接头
处失败

/Users/whaley/dev/app/theApp/theApp-Bridging-Header.h:5:9: error: 'React/RCTBridgeModule.h' file not found
#import <React/RCTBridgeModule.h>
        ^
1 error generated.
<unknown>:0: error: failed to emit precompiled header '/Users/whaley/Library/Developer/Xcode/DerivedData/theApp-ckvpglaqydwzhadbbyqoprcjvnod/Build/Intermediates.noindex/ArchiveIntermediates/theApp/PrecompiledHeaders/theApp-Bridging-Header-swift_320079J7441HX-clang_QK5YQQC41WXA.pch' for bridging header '/Users/whaley/dev/theApp/ios/theApp-Bridging-Header.h'
/Users/whaley/dev/app/theApp/theApp桥接头。h:5:9:错误:“未找到React/RCTBridgeModule.h”文件
#进口
^
生成1个错误。
:0:错误:未能发出预编译头“/Users/whaley/Library/Developer/Xcode/DerivedData/theApp-ckvpglaqydwzhadbyqoprcjvnod/Build/Intermediates.noindex/ArchiveIntermediates/theApp/PrecompiledHeaders/theApp-bridgeing-header-swift_3200799j7441hx-clang_QK5yqqq41wxa.pch”,用于桥接头“/Users/whaley/dev/theApp/theApp/ios/theApp桥接头.h”
奇怪的是,在我看来,因为这应该是一个运行良好的构建配置的精确副本

如果我切换回原始构建配置,一切都很好。原件始终有效,副本始终失效

我尝试了
预编译桥接头任务
,但遇到了一个不同的类似错误。同样,原始构建配置在副本失败的地方工作

我已经在使用,桥接头的名称正确,我没有使用,我已经重新启动并清除了Xcode的
派生数据
,请记住它正常工作。只有这些重复的构建配置失败

为什么会发生这种情况?我在这里漏了一步吗?这可能是
react native
的一个限制,并且它只支持默认的构建配置吗?

当然,当我发布我的问题时,我通过谷歌找到了我需要的答案

感谢您在其网站上清楚地说明了问题和解决方案

为每个新版本生成配置的标题搜索路径添加一个条目:

为每个新版本生成配置向库搜索路径添加条目:

有人可能想知道,当我们只更改构建配置名称,而它已经在为发布工作时,为什么需要这样做。React Native支持即时调试和发布构建配置,而任何其他配置都需要手动设置

果不其然,这就解决了问题。答案是只支持开箱即用的
Release
Debug
,因此非标准构建配置需要额外的配置

$(BUILD_DIR)/Release-$(PLATFORM_NAME)/include
$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)