[英]How to remove use_frameworks! AND keep using swift pods on an objective-c project?
我们的项目是一个Objective-c项目。
由于我们使用的是react-native-firebase
use_frameworks!
我们不能使用use_frameworks!
在 cocoapods 了。
问题是我们有一个swift pod 依赖( PromiseKit ),要使用 swift 依赖,我们必须使用use_frameworks!
据我所理解。
我想要做的是两全其美,也就是:
use_frameworks!
以便react-native-firebase
工作并且PromiseKit
swift 依赖项。当前 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
我use_modular_headers
它可能与我自Cocoapods 1.5以来正在寻找的解决方案相关,但我似乎无法连接点。
如果我删除use_frameworks!
(即使我用use_modular_headers!
替换它use_modular_headers!
)我收到这个错误:
我也遇到过这个问题。 并为此找到一个完美的解决方案。
https://github.com/joncardasis/cocoapods-user-defined-build-types
这是一个 cocoapods 插件,我们可以通过它指定在特定 pod 上使用“动态框架”(即“use_framework”做什么)。 cocoapods 目前不支持此功能,这就是为什么使用此插件来解决您的问题。
替换use_frameworks!
使用use_modular_headers!
在 Podfile 中。
来自引用的CocoaPods 1.5 发行说明:
使用 CocoaPods 1.5.0,开发人员不再受限于指定 use_frameworks! 在他们的 Podfile 中安装使用 Swift 的 Pod。 与 Objective-C 的互操作应该可以正常工作。 但是,如果您的 Swift pod 依赖于 Objective-C,则您需要为该 Objective-C pod 启用“模块化标头”(见下文)。
使用 CocoaPods 1.9.0,现在可以静态和动态地构建框架。 使用use_frameworks! :linkage => :static
use_frameworks! :linkage => :static
上周我遇到了类似的问题,所以我创建了一个基本项目,我使用 Swift、Firebase 但不使用use_frameworks!
,而是使用桥接头。
不知道人们是否仍然对此有疑问,如果有帮助,请告诉我。 https://github.com/jenshandersson/React-Native-Swift
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.