模块最小部署目标捕获器

时间:2017-11-13 12:33:06

标签: swift

我的Swift App需要支持iOS9,但现在我使用的是需要10.0支持的模块..我不能再部署/构建应用程序了。

Module file's minimum deployment target is ios10.0 v10.0

因为我将9.0定义为部署目标。

这是因为Swift文件上有use ModuleName。 我怎么能抓住这个?我已经制作了模块仅在iOS 10及更高版本上可用的代码:

@available(iOS 10, *)

但由于Swift文件顶部的use,仍然会收到错误。

1 个答案:

答案 0 :(得分:1)

您没有提到如何导入正在使用的模块,因此我将讨论几种方法。

  • 我假设您没有在项目中包含源代码, 否则你不会有问题。
  • 我还假设你的意思是import,你说use
  • 如果有理由要求10.0,那么您必须编辑代码以使用@available(iOS 10, *)注释10.0方法并提供回退

如果您的项目中有一个单独的目标正在构建一个框架,那么只需进入该目标并在General>中进行。部署信息并将部署目标设置为9.0。

如果您正在使用Cocoapods或其他一些依赖管理器,您仍然可以执行上述操作,但它会在重新生成时消失。如果您正在使用cocoapods,您可以在podfile中使用post install钩子来完成上述操作:

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if ['RevealingTableViewCell'].include? target.name
        target.build_configurations.each do |config|
          config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
        end
      end
    end
  end

再次注意,如果模块具有最低部署目标的充分理由,这将无济于事。

我不了解其他包裹经理,但希望这会让你走上正轨。另请注意,iOS 9的使用数字为falling,并且可能也会选择支持它。