使用框架!在 Podfile 中导致找不到“React/RCTBridgeDelegate.h”

Posted

技术标签:

【中文标题】使用框架!在 Podfile 中导致找不到“React/RCTBridgeDelegate.h”【英文标题】:use_framework! in Podfile caused 'React/RCTBridgeDelegate.h' not found 【发布时间】:2020-09-03 11:07:42 【问题描述】:

我目前正在集成来自供应商的私有库,他们提到需要在 Podfile 中添加 use_framework!。显然我从他们那里发现,框架是用 Objective-C 编写的,如果是这样.. 为什么需要use_framework!?我以为this is the reason why 我们使用use_framework!

use_frameworks 告诉 CocoaPods 你想使用框架而不是静态库。由于 Swift 不支持静态库,因此您必须使用框架。

目前我在AppDelegate.h 中面临这个构建时间问题'React/RCTBridgeDelegate.h' not found

附加信息

    我的项目在 React Native Firebase v6 上运行,因此我添加了# $RNFirebaseAsStaticFramework = true 来处理use_framework! 的情况。 Read more about this here。 如果我不附加use_framework!,我会收到以下错误

没有找到框架helloFramework

    这是 Xcode 错误。 . . .

    我确认我的项目方案具有来自podfile 的 React Bulleyes 图标,并且我正在基于此方案进行构建

我的问题,为什么我在使用 use_frameworks! 时会遇到这个问题?处理这个问题的正确方法是什么?

更新:

在React Native Github 创建问题

【问题讨论】:

【参考方案1】:

TLDR

在框架搜索路径处附加$(inherited)


说明

显然,当我们在Podfile 申请use_frameworks! 时。我们的 Xcode 项目会将libPods-projectName.a 替换为Pods_projectName.framework

由于我们的项目依赖于框架来构建,我们必须在目标 > 构建设置 > 搜索路径 > 框架搜索路径中将 $(inherited) 附加到 Framework Search Paths。这将从项目级别继承构建设置到目标级别。 Read more here.

【讨论】:

以上是关于使用框架!在 Podfile 中导致找不到“React/RCTBridgeDelegate.h”的主要内容,如果未能解决你的问题,请参考以下文章

在项目目录中找不到“Podfile”

我的 AppCenter 失败并出现错误“在项目目录中找不到 `Podfile'”并且我的项目不使用 cocoapods

找不到框架 GoogleMapsCore 错误

找不到框架 GTMOAuth2

在框架头文件中找不到 swift 文件

Cocoapods Google Analytics ld:找不到框架