Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅当iOS 11可用时导入模块_Ios_Swift_Cocoapods - Fatal编程技术网

仅当iOS 11可用时导入模块

仅当iOS 11可用时导入模块,ios,swift,cocoapods,Ios,Swift,Cocoapods,我想在我的项目中从CocoaPods导入一个模块,该模块的最低部署目标设置为iOS 9.0 在我的Podfile中,我将该特定框架的最低部署目标设置为iOS 11,如下所示: #CoreML platform :ios, '11.0' pod 'xxx', '1.0.0' 这样我就可以pod安装了 问题是,当我将其导入文件时,我收到以下错误: 模块文件的最低部署目标是ios11.0 v11.0 如果iOS 11可用,我应该如何导入它?我试着用 if #available(iOS 1

我想在我的项目中从CocoaPods导入一个模块,该模块的最低部署目标设置为iOS 9.0

在我的Podfile中,我将该特定框架的最低部署目标设置为iOS 11,如下所示:

  #CoreML
  platform :ios, '11.0'
  pod 'xxx', '1.0.0'
这样我就可以
pod安装了

问题是,当我将其导入文件时,我收到以下错误:

模块文件的最低部署目标是ios11.0 v11.0

如果iOS 11可用,我应该如何导入它?我试着用

if #available(iOS 11, *) { ... } 
@可用(iOS 11)
,但运气不佳

  • Pod文件不支持特定于Pod的部署目标。您可以为所有POD和生成的聚合目标设置部署目标,就像您使用
    platform:ios,'x.y'

  • 您可以在Lib的Podspec中设置特定于Pod的部署目标:
    spec.ios.deployment\u target='11.0'
    ->,但这对您的情况没有帮助

  • 在Podfile(11.0)中使用比项目(9.0)中更高的部署目标毫无意义。这些值应始终相等

  • 解决方案:在播客文件中设置
    平台:ios,“9.0”
    ,并有条件地导入/使用仅11.0版本的Lib和@available和#available。您可能还需要在“链接到库”下选择链接库,请参阅


    如果这对您不起作用,请分享更多信息(完整的Podfile、Xcode&Cocoapods版本、库的Podspec)

    Hi Toma,这个问题有什么更新吗?您找到解决方案了吗?我也有同样的问题。我的项目的最低部署目标是ios8,所有其他代码都通过使用@available或#available或#if canImport来解决版本、arch约束来支持它。然而,这个最小部署目标无法解决我正在搜索的问题。仅仅因为一个框架,我就觉得把最低要求从8提高到10有点疯狂。你找到办法了吗?最后一个选择可能是从github中提取源代码并对其进行修改。@当然我记不清了,但我认为我从github下载了有问题的库,从Cocoapods中删除并将其导入到我的项目中。@TomaRadu Petrescu谢谢,我想我也应该这样做。