Xcode 我的存档构建失败,出现错误“0”;没有此类模块“联合收割机”;

Xcode 我的存档构建失败,出现错误“0”;没有此类模块“联合收割机”;,xcode,Xcode,我最近在我的项目(故事板项目)中添加了一些组合代码,这些代码在设备和模拟器上成功运行。 不幸的是,如果我试图构建我的归档文件,我得到了“没有这样的模块组合”错误 我通过谷歌和stackoverflow搜索了很长时间,但没有任何帮助。有人有主意吗 发现它适用于部署目标11.0、12.0和13.0,只是10.0说:没有这样的模块组合尝试在包描述中添加平台。 确保打开的是xcworkspace,而不是xcodeproj 如果这没有帮助,请转到构建设置,并将框架搜索路径定义到包含相关框架的文件夹。 如果

我最近在我的项目(故事板项目)中添加了一些组合代码,这些代码在设备和模拟器上成功运行。 不幸的是,如果我试图构建我的归档文件,我得到了“没有这样的模块组合”错误

我通过谷歌和stackoverflow搜索了很长时间,但没有任何帮助。有人有主意吗


发现它适用于部署目标11.0、12.0和13.0,只是10.0说:没有这样的模块组合

尝试在包描述中添加平台。
确保打开的是
xcworkspace
,而不是
xcodeproj

如果这没有帮助,请转到构建设置,并将框架搜索路径定义到包含相关框架的文件夹。
如果框架放在您的项目目录中,只需将框架搜索路径设置为
$(SRCROOT)
,并将其设置为recursive。

我昨天遇到了同样的问题-在发布环境下出现了大量错误:

  • “使用未声明的类型‘视图’”
  • “没有此类模块‘联合收割机’”
  • SwiftUI的一些其他声明也不可识别
同时,在调试环境下一切正常

问题在于同时支持iOS9+和使用SwiftUI支持iOS13+。 这可能是Xcode中的一个bug(检查了11.3.1和11.5),但是是的,我们这里有两个选项:

  • 我们必须将部署目标提高到iOS11+
  • 我们可以保持部署目标iOS9+,但我们必须将任何SwiftUI文件包装在预处理器指令中,如下所示:

  • 我选择第二个选项是因为我们仍然需要支持像iOS9这样的旧版本。

    框架是Combine…Apple framework…我根本没有使用包描述…我必须这样做吗?顺便问一下:#如果canImport(SwiftUI)不起作用,这不是一个错误-您必须使用#如果canImport(Combine)
    import SwiftUI
    
    #if canImport(Combine)
     ... any SwiftUI code here ...
    #endif