使用框架!在 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”的主要内容,如果未能解决你的问题,请参考以下文章
我的 AppCenter 失败并出现错误“在项目目录中找不到 `Podfile'”并且我的项目不使用 cocoapods