You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成Flipper时出现Multiple commands produce OpenSSL.xcframework报错

解决Flipper依赖OpenSSL与项目内置OpenSSL冲突方案

你可以通过修改Podfile配置,排除Flipper-Folly的OpenSSL子依赖,让Flipper直接使用项目已有的OpenSSL framework,无需移除Flipper即可解决冲突,操作步骤如下:

步骤1:调整Flipper引入配置

打开项目ios/Podfile文件,找到原有Flipper引入语句:
use_flipper!()
修改为如下配置,显式排除Flipper-Folly的OpenSSL子依赖:

use_flipper!({
  'Flipper-Folly' => {
    :subspecs => [
      'Flipper-Folly/Core',
      'Flipper-Folly/Futures',
      'Flipper-Folly/Glog',
      'Flipper-Folly/Portability',
      'Flipper-Folly/Synchronization'
    ],
    :excluded_subspecs => ['Flipper-Folly/OpenSSL']
  }
})

步骤2:添加post_install配置关联项目OpenSSL

在Podfile末尾的post_install钩子中添加Flipper-Folly的编译配置,让其使用项目内置的OpenSSL:

post_install do |installer|
  # 遍历所有Pod目标
  installer.pods_project.targets.each do |target|
    if target.name == 'Flipper-Folly'
      target.build_configurations.each do |config|
        # 移除Flipper-Folly自带的OpenSSL头文件搜索路径
        config.build_settings['HEADER_SEARCH_PATHS'] ||= []
        config.build_settings['HEADER_SEARCH_PATHS'].delete_if { |path| path.include?('openssl') }
        
        # 替换为你项目中OpenSSL.xcframework的实际头文件路径
        config.build_settings['HEADER_SEARCH_PATHS'] << '$(SRCROOT)/OpenSSL.xcframework/ios-arm64_i386_x86_64-simulator/Headers'
        config.build_settings['HEADER_SEARCH_PATHS'] << '$(SRCROOT)/OpenSSL.xcframework/ios-arm64_armv7/Headers'
        
        # 强制链接项目内置的OpenSSL framework
        config.build_settings['OTHER_LDFLAGS'] ||= []
        config.build_settings['OTHER_LDFLAGS'] << '-framework OpenSSL'
      end
    end
  end
  # 保留原有RN项目自带的flipper_post_install调用,不要删除
  flipper_post_install(installer)
end

注意需要将上面代码里的OpenSSL头文件路径,替换为你项目中实际存放OpenSSL.xcframework的路径。

步骤3:重新安装Pods依赖

在ios目录下执行如下命令重置Pod依赖:

cd ios
rm -rf Pods Podfile.lock
pod install --repo-update

执行完成后重新打开Xcode工作区编译项目即可。

注意事项

  • 确保你项目内置的OpenSSL版本为1.1.x及以上,和RN0.65对应Flipper版本适配的Flipper-Folly版本要求兼容,避免出现编译符号缺失报错
  • 后续如果升级Flipper版本,需要先确认对应版本Flipper-Folly的子依赖命名是否有调整,对应修改Podfile中的subspec配置即可

内容的提问来源于stack exchange,提问作者Amit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:15:03