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

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

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

我更新了pod文件。

我的部署目标是9.0

在我的目标中


当前回答

无需在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

其他回答

为迅速

如果你在Xcode 12中使用CocoaPods,那么你可能会看到这个错误:

The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.

这是因为对iOS 8的支持已经放弃,但pod的最低部署目标是iOS 8。

在此问题解决之前,您可以将以下内容添加到Podfile中:

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

这将从项目中的所有pod中删除部署目标,并允许它们继承在Podfile顶部指定的项目/工作区部署目标。

对于React Native

删除。/project-root/ios/build文件夹,输入react-native run ios

为科尔多瓦

<preference name="deployment-target" value="8.0" />

这是M1 macbook上的一个已知问题。运行颤振升级应该就能解决问题了。

目前致力于 M1 Mackbook 12.0.0 颤振2.10.0 飞镖2.16.0

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

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

对于flutter,这是我在<project_root>/ios/Podfile中使用的

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
  
  installer.pods_project.build_configurations.each do |config|
    config.build_settings["EXCLUDED_ARCHS"] = "armv7"
    config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
  end
end

如果有人在2021年将XCode更新到v13后遇到这个问题,这里有一个对我有效的修复方法:

https://github.com/facebook/react-native/issues/31733#issuecomment-924016466

然而,这可能不适用于所有react-native版本,它在v0.64上为我工作。

我用Xcode创建了一个虚拟swift文件,所以我自动得到了一个“桥接头”的请求

希望这个问题能在未来的版本中得到解决。