Wil*_*ley 4 xcode react-native
我有一个react-native带有桥接 Swift 代码的应用程序,它在构建、运行和存档时10.0使用默认Release和Debug构建配置的Xcode 没有问题。我使用Xcode-> Product->Archive或“播放”按钮,一切都按预期工作。伟大的!
然后今天我添加了一个新的构建配置,它与Release. 它被命名为Release copy。我也做了同样的事情Debug,它的副本是Debug copy.
如果我尝试使用副本运行相同Archive或相同的Run任务,任务将在Precompile bridging header.
/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'
Run Code Online (Sandbox Code Playgroud)
奇怪,在我看来,因为这应该是运行良好的构建配置的精确副本。
如果我切换回原始构建配置,一切都很好。原件始终有效,而副本始终失败。
我尝试禁用该Precompile bridging header任务,但遇到了不同且类似的错误。同样,原始构建配置在副本失败的地方工作。
我已经在使用Find 隐式依赖项,桥接标头已正确命名,我没有使用Cocoapods,我已经重新启动并清除了 Xcode 的Derived Data,请记住它确实可以正常工作。只有这些重复的构建配置会失败。
为什么会发生这种情况?我在这里错过了一步吗?这可能是一个限制,react-native它只支持默认的构建配置吗?
自然地,在我发布问题的那一刻,我设法通过 Google 找到了我需要的答案
感谢Mateusz Klimczak在他们的网站上清楚地说明了问题和解决方案。
为每个新的 Release 构建配置向 Headers Search Paths 添加一个条目:
$(BUILD_DIR)/Release-$(PLATFORM_NAME)/include
Run Code Online (Sandbox Code Playgroud)
为每个新的发布构建配置添加一个条目到库搜索路径:
$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)
Run Code Online (Sandbox Code Playgroud)
有人可能想知道为什么当我们只更改构建配置名称并且它已经为 Release 工作时需要这样做。React Native 支持开箱即用的 Debug 和 Release 构建配置,而任何其他配置都需要手动设置。
果然,这解决了它。答案是仅支持Release和Debug开箱即用,因此非标准构建配置需要额外的配置。
| 归档时间: |
|
| 查看次数: |
1117 次 |
| 最近记录: |