模块最小部署目标捕获器

  • 本文关键字:目标 部署 模块 swift
  • 更新时间 :
  • 英文 :


我的Swift应用程序需要支持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,仍然会出现错误。

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

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

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

如果您正在使用Cocoapods或其他依赖管理器,您仍然可以执行上述操作,但在重新生成时会被删除。如果你使用的是cocoapods,你可以在你的podfile中使用一个安装后挂钩来完成上面的任务:

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的使用量正在下降,对它的支持也可能是一种选择。

最新更新