use_framework!在 Podfile 中导致 'React/RCTBridgeDelegate.h' 未找到
use_framework! in Podfile caused 'React/RCTBridgeDelegate.h' not found
我目前正在集成来自供应商的私有库,他们提到需要在 Podfile
中添加 use_framework!
。显然我从他们那里发现,框架是用 Objective-C 编写的,如果是这样.. 为什么需要 use_framework!
?我以为 this is the reason why 我们使用 use_framework!
use_frameworks tells CocoaPods that you want to use Frameworks instead of Static Libraries. Since Swift does not support Static Libraries you have to use frameworks.
目前我在 AppDelegate.h
中面临这个构建时间问题 'React/RCTBridgeDelegate.h' not found
补充信息,
- 我的项目是 运行 在 React Native Firebase v6 上,因此我添加了
# $RNFirebaseAsStaticFramework = true
来处理 use_framework!
的情况。 Read more about this here.
- 如果我不附加
use_framework!
,我将收到以下错误
Framework not found helloFramework
这是 Xcode 错误。 . . .
我确认我的项目方案有来自 podfile
的 React Bulleyes 图标,我正在构建这个方案
我的问题,为什么我在使用 use_frameworks!
时遇到这个问题?处理这个问题的正确方法是什么?
更新:
- 在 React Native Github
创建问题
TLDR
在框架搜索路径中追加 $(inherited)
。
说明
显然,当我们在 Podfile
应用 use_frameworks!
时。我们的 Xcode 项目将 libPods-{projectName}.a
替换为 Pods_{projectName}.framework
。
由于我们的项目依赖于框架来构建,我们必须在 Target > 构建设置 > 搜索路径 > 框架搜索路径中将 $(inherited)
附加到 Framework Search Paths
。这将从项目级别继承构建设置到目标级别。 Read more here.
我目前正在集成来自供应商的私有库,他们提到需要在 Podfile
中添加 use_framework!
。显然我从他们那里发现,框架是用 Objective-C 编写的,如果是这样.. 为什么需要 use_framework!
?我以为 this is the reason why 我们使用 use_framework!
use_frameworks tells CocoaPods that you want to use Frameworks instead of Static Libraries. Since Swift does not support Static Libraries you have to use frameworks.
目前我在 AppDelegate.h
'React/RCTBridgeDelegate.h' not found
补充信息,
- 我的项目是 运行 在 React Native Firebase v6 上,因此我添加了
# $RNFirebaseAsStaticFramework = true
来处理use_framework!
的情况。 Read more about this here. - 如果我不附加
use_framework!
,我将收到以下错误
Framework not found helloFramework
这是 Xcode 错误。 . . .
我确认我的项目方案有来自
podfile
的 React Bulleyes 图标,我正在构建这个方案
我的问题,为什么我在使用 use_frameworks!
时遇到这个问题?处理这个问题的正确方法是什么?
更新:
- 在 React Native Github 创建问题
TLDR
在框架搜索路径中追加 $(inherited)
。
说明
显然,当我们在 Podfile
应用 use_frameworks!
时。我们的 Xcode 项目将 libPods-{projectName}.a
替换为 Pods_{projectName}.framework
。
由于我们的项目依赖于框架来构建,我们必须在 Target > 构建设置 > 搜索路径 > 框架搜索路径中将 $(inherited)
附加到 Framework Search Paths
。这将从项目级别继承构建设置到目标级别。 Read more here.