我们的项目是 Objective-c 项目。
由于我们在react-native-firebase
中使用了can't use use_frameworks!
,因此在cocoapods中就不再使用。
问题是我们有一个 swift pod依赖项(PromiseKit),而要使用swift依赖项,就我所知,我们必须使用use_frameworks!
。
我想做的就是兼顾两全其美:
use_frameworks!
,以使react-native-firebase
起作用并且PromiseKit
迅速的依赖性。当前Podfile:
platform :ios, '10.0'
target 'TestApp' do
use_frameworks!
# swift pod
pod 'PromiseKit'
# react-native-firebase
pod 'Firebase/Core', '~> 5.3.0'
pod 'Firebase/DynamicLinks', '~> 5.3.0'
pod 'Firebase/Messaging', '~> 5.3.0'
end
我注意到有一个命令:modular_headers => true
或use_modular_headers
,自Cocoapods 1.5以来,我认为它可能与我正在寻找的解决方案无关,但似乎无法建立连接点。
如果我删除了use_frameworks!
(即使我将其替换为use_modular_headers!
),也会出现此错误:
答案 0 :(得分:4)
我也遇到了这个问题。并为此找到一个完美的解决方案。
https://github.com/joncardasis/cocoapods-user-defined-build-types
这是cocoapods的插件,通过它我们可以指定在特定的容器上使用“动态框架”(即“ use_framework”的作用)。 cocoapods当前不支持此功能,这就是为什么使用此插件可以解决您的问题。
答案 1 :(得分:1)
在Podfile中用plt.clf()
替换use_frameworks!
。
在引用的CocoaPods 1.5 release note中:
使用CocoaPods 1.5.0,开发人员不再受限于 指定use_frameworks!在他们的Podfile中以安装Pod 使用Swift。与Objective-C互操作应该可以正常工作。但是,如果 您的Swift Pod取决于您需要启用的Objective-C Pod 该Objective-C吊舱的“模块化标头”(见下文)。
答案 2 :(得分:0)
上周,我遇到了类似的问题,因此我创建了一个基本项目,其中我使用Swift,Firebase,但不是 use_frameworks!
,而是使用桥接头。
不知道人们是否仍然对此有疑问,请告诉我是否有帮助。 https://github.com/jenshandersson/React-Native-Swift