如何删除use_frameworks!并继续在Objective-C项目中使用快速窗格?

问题描述 投票:5回答:2

我们的项目是Objective-c项目。

由于我们使用的是react-native-firebase,所以我们不再将can't use use_frameworks!用在椰壳中。

问题是我们有一个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 => trueuse_modular_headers,由于Cocoapods 1.5,我感觉到它可能与我正在寻找的解决方案无关,但似乎无法连接所有点。

编辑:

如果删除use_frameworks!(即使我将其替换为use_modular_headers!,也会收到此错误:

enter image description here有什么帮助吗?

ios swift cocoapods react-native-ios react-native-firebase
2个回答
2
投票

用Podfile中的use_frameworks!替换use_modular_headers!

从引用的CocoaPods 1.5 release note

使用CocoaPods 1.5.0,开发人员不再受限于指定use_frameworks!在他们的Podfile中以安装Pod使用Swift。与Objective-C互操作应该可以正常工作。但是,如果您的Swift Pod取决于您需要启用的Objective-C Pod该Objective-C广告连播的“模块化标头”(请参见下文)。

使用CocoaPods 1.9.0,现在可以静态和动态地构建框架。使用use_frameworks! :linkage => :static


0
投票

我上周遇到了类似的问题,所以我创建了一个基本项目,在这里我使用Swift,Firebase,但是not use_frameworks!,而不是使用桥接头。

不知道人们是否仍然对此有疑问,请告诉我是否有帮助。 https://github.com/jenshandersson/React-Native-Swift

© www.soinside.com 2019 - 2024. All rights reserved.