Swift编译器错误:在框架中使用未声明的类型

时间:2018-10-18 04:51:47

标签: ios swift xcode compiler-errors frameworks

我正在导入创建LCConnection类的自定义框架LCCommLibrary的较新版本,我非常困惑为什么在尝试了多种方法后会生成而不进行归档。

  • 确保已添加目标(4个应用程序,1个测试)
  • 清理并重新启动项目

这确实可以构建并运行到我的iOS设备,但是所有目标都不会存档。

Build Phases

Compiler Error

2 个答案:

答案 0 :(得分:2)

归档通常使用Release构建配置,而在设备上进行构建/运行时使用Debug构建配置,这暗示您那里存在问题。

在您的情况下,我想说的是您可以进入目标的构建设置,然后查看Other Linker FlagsRunpath Search PathsLibrary Search Paths,将它们展开以显示DebugRelease配置,然后确保它们具有相同的设置,很可能会在其中之一的release中发现某些不足之处。

答案 1 :(得分:2)

最后找到了问题。罪魁祸首是框架的debug版本。这会导致Archive Schemes抛出此错误,因为存档使用Release作为默认值。

解决方案是分别打开LCCommLibrary项目,将Framework Target的运行方案更改为Release,运行并构建,找到目标框架,将其导入并嵌入到主项目文件中,然后照常存档。