用于 iOS 的 Flutter 构建存档在稳定状态下失败

问题描述

我的应用程序使用的是 Flutter stable 1.22.5,它在 iPhone 14.2 上运行完美。但是我无法存档我的构建以在 TestFlight 上发布它。 我收到 errorParse 问题组 ios/Runner/GeneratedpluginRegistrant.m:10:9: 找不到模块“apple_sign_in”。 master 和 beta 中的错误相同。我已经尝试删除 iOS 文件夹并重新创建它,但这不起作用。还使用了以下终端命令:

  1. 扑通干净
  2. rm -Rf iOS/Pods
  3. rm -Rf ios/.symlinks
  4. rm -Rf ios/Flutter/Flutter.framework
  5. rm -Rf ios/Flutter/Flutter.podspec
  6. pod 缓存清理 — 全部
  7. Flutter 获取
  8. pod 安装和更新。

我的问题仅出现在要在 iPhone 上发布的存档版本中。我该如何解决这个问题?

Podfile

取消注释这一行,为您的项目定义一个全球平台

平台:ios,'9.3'

# CocoaPods analytics sends network stats synchronously affecting Flutter build latency.
ENV['COCOAPODS_disABLE_STATS'] = 'true'

project 'Runner',{
  'Debug' => :debug,'Profile' => :release,'Release' => :release,}

def Flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..','Flutter','Generated.xcconfig'),__FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually,make sure Flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FlutteR_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FlutteR_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig,then run Flutter pub get"
end

require File.expand_path(File.join('packages','Flutter_tools','bin','podhelper'),Flutter_root)

Flutter_ios_podfile_setup

def Flutter_install_ios_plugin_pods(ios_application_path = nil)
  # defined_in_file is set by CocoaPods and is a Pathname to the Podfile.
  ios_application_path ||= File.dirname(defined_in_file.realpath) if self.respond_to?(:defined_in_file)
  raise 'Could not find iOS application path' unless ios_application_path

  # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
  # referring to absolute paths on developers' machines.

  symlink_dir = File.expand_path('.symlinks',ios_application_path)
  system('rm','-rf',symlink_dir) # Avoid the complication of dependencies like FileUtils.

  symlink_plugins_dir = File.expand_path('plugins',symlink_dir)
  system('mkdir','-p',symlink_plugins_dir)

  plugins_file = File.join(ios_application_path,'..','.Flutter-plugins-dependencies')
  plugin_pods = Flutter_parse_plugins_file(plugins_file)
  plugin_pods.each do |plugin_hash|
    plugin_name = plugin_hash['name']
    plugin_path = plugin_hash['path']
    if (plugin_name && plugin_path)
      symlink = File.join(symlink_plugins_dir,plugin_name)
      File.symlink(plugin_path,symlink)

      if plugin_name == 'Flutter_ffmpeg'
          pod 'Flutter_ffmpeg/https-gpl',:path => File.join('.symlinks','plugins',plugin_name,'ios')
      else
          pod plugin_name,'ios')
      end
    end
  end
end

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  Flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    Flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['DEBUG_informatION_FORMAT'] = 'dwarf'
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
  end
end
end

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)