React Native - iOS 发布构建失败

问题描述

在发布版本中存档失败并出现以下错误,但对于调试版本来说不是问题

** ARCHIVE Failed **

The following build commands Failed:

    CompileC .../_appcircle_temp/appcircle_export_archive/DerivedData/Build/Intermediates.noindex/ArchiveIntermediates/project/IntermediateBuildFilesPath/Pods.build/Release-iphoneos/Flipper-Folly.build/Objects-normal/armv7/VirtualEventBase.o .../_appcircle_temp/Repository/ios/Pods/Flipper-Folly/folly/io/async/VirtualEventBase.cpp normal armv7 c++ com.apple.compilers.llvm.clang.1_0.compiler

PodFile

use_flipper!({ 'Flipper-Folly' => '2.5.1' })
  pre_install do |installer|
    $RNMBGL.pre_install(installer)
  end
  post_install do |installer|
    $RNMBGL.post_install(installer)
    flipper_post_install(installer)
    fix_deployment_target(installer)
  end
end

def fix_deployment_target(installer)
  return if !installer
  project = installer.pods_project
  project_deployment_target = project.build_configurations.first.build_settings['IPHONEOS_DEPLOYMENT_TARGET']

  puts "Make sure all pods deployment target is #{project_deployment_target.green}"
  project.targets.each do |target|
    puts "  #{target.name}".blue
    target.build_configurations.each do |config|
      old_target = config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']
      new_target = project_deployment_target
      next if old_target == new_target
      puts "    #{config.name}: #{old_target.yellow} -> #{new_target.green}"
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = new_target
    end
  end
end

解决方法

如果您在错误消息中看到 DerivedData 的某些内容,最好删除专用于您的应用的 DerivedData 中的完整子文件夹。

之后我会在 Xcode 中执行 pod install 和 Clean,然后重试构建应用程序。