繁体   English   中英

如何删除use_frameworks! 并继续在 Objective-C 项目中使用 swift pods?

[英]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 => trueuse_modular_headersuse_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM