gpt4 book ai didi

ios - 创建新的构建配置导致 header 未找到错误

转载 作者:可可西里 更新时间:2023-11-01 04:08:38 25 4
gpt4 key购买 nike

在 Xcode 中我创建了一个新的 Staging构建配置。我复制了 Release配置来实现它。 ReleaseDebug配置构建得很好。当我选择 Staging配置我最终遇到了标题问题。 我检查了build设置以确保所有三个配置具有相同的 header 搜索路径。

作为一个重要的旁注,问题是在我拥有的几个相互引用的库之间突然出现的。

具体来说,我正在使用一个名为 CodePush 的库,它像这样引用 React 库:

#if __has_include("RCTEventEmitter.h")
#import "RCTEventEmitter.h"
#else
#import "React/RCTEventEmitter.h"
#endif

哪个RCTEventEmitter.h燕鸥州文件#import <React/RCTBridge.h>并且未找到的头文件来自于 RCTBridge 文件。

我正在使用 react native 0.40 和 react-native-code-push 1.16.1-beta。

关于可能导致问题的任何想法。如果您需要更多信息,请告诉我,我很乐意提供。我想提一下,我不认为这是图书馆的问题,而是我的设置。我怀疑这只是编译器命中的第一个库。

最佳答案

问题在于 RN 0.40 处理 header 的方式。 React 只知道 Release 和 Debug,因此您必须将 Release header 路径添加到暂存配置中,并确保首先将 React 作为依赖项构建。

方案:

  • 转到 Product->Scheme->Manage Schemes
  • 双击您的方案。就我而言,我制定了一个staging 方案并且在 Run 部分将构建配置设置为 Staging
  • 然后在Build部分,确保Parallelize Build关闭
  • 确保 React 构建目标在目标列表中。如果不,点击 + 按钮,添加它,并将其拖到顶部。然后点击关闭

目标依赖:

  • 现在在导航器中选择您的目标,转到构建阶段,然后在 Target Dependencies 下添加 React。这确保 XCode 在项目的其余部分之前构建 React。

标题路径:

  • 在导航器中选择您的目标,转到build设置
  • 点击+,添加用户自定义设置REACT_HEADERS_PATH并将值设为$(BUILD_DIR)/Release-$(PLATFORM_NAME)/include。它应该解析为类似 build/Release-iphoneos/include
  • 的内容
  • 然后仍在Build Settings中,向上滚动到Header Search Paths并将$(REACT_HEADERS_PATH)添加到仅用于暂存配置的列表中.

现在清理并构建...

我找到了这个解决方案 here on Github经过2天的挣扎。所有功劳归于该评论的作者。

关于ios - 创建新的构建配置导致 header 未找到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41684723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com