我在Xcode 10.1中得到了下面的警告信息。

iOS Simulator部署目标设置为7.0,但此平台支持的部署目标版本范围为8.0到12.1。

我的模拟器操作系统是12.1 Xcode 10.1

我更新了pod文件。

我的部署目标是9.0

在我的目标中


当前回答

这个方法在扑动的时候对我很有效。打开{your_project_root_folder}/ios/Podfile,用这个替换post_install块

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.delete 'IPHONEOS_DEPLOYMENT_TARGET'
    end
  end
end

其他回答

简单的解决方案,对我来说在颤振:

删除Podfile和Podfile.lock 运行app:这将创建一个新的Podfile。这可能仍然会失败并报错。 在新的Podfile中,取消注释,并将第二行更改为平台:ios, '12.0'(或其他你想要目标的最小版本) 再次运行应用程序,现在没有错误

在我的情况下,我不小心导入了dart.js,所以如果它刚刚在重新加载或重新启动时停止工作,请检查您的导入

无需在pod安装后指定部署目标,您可以为每个pod删除pod部署目标,这将导致部署目标从Podfile继承。

您可能需要运行pod install以使效果发生。

platform :ios, '12.0'

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      target.build_configurations.each do |config|
        config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
      end
    end
  end

这是我用Firebase 10.1和Xcode 14.1解决这个问题的方法:

打开Xcode 选择Product > Analyze,得到所有IPHONEOS_DEPLOYMENT_TARGET警告信息 打开终端,在你的项目目录:

Pod缓存清理-所有&& Pod分解&& Pod安装-回购-更新

再次检查Xcode。所有的警告都应该消失,Xcode的一个警告应该出现:“更新到推荐设置” 单击Perform Changes按钮 重启Xcode

在Firebase项目存储库中对此有详细的讨论。

我们可以将项目部署目标应用于所有pods目标。 通过在Podfile的末尾添加以下代码块来解决:

post_install do |installer|
  fix_deployment_target(installer)
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

结果记录: