我的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
,仍然会收到错误。
答案 0 :(得分:1)
您没有提到如何导入正在使用的模块,因此我将讨论几种方法。
import
,你说use
。@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,并且可能也会选择支持它。