具有动态框架的项目无法以框架的公共类型导出程序包的公共类型

时间:2019-08-30 15:27:10

标签: swift xcode swift-package-manager

我在Xcode中有一个iOS应用程序目标,也有一个传统的动态框架目标MyFramework,该应用程序目标链接/嵌入了该目标。我实际上有很多动态框架,并且我试图将其中一些转换为Swift Package Manger软件包。因此,我将较简单的一个转换为SPM软件包。因此,我将该包链接到MyFramework和应用程序目标。到目前为止一切都很好。但是然后在MyFramework中,我创建了一个公共类型,其中包括包中的公共类型。可能是我从程序包中创建了一个类的公共子类,也可能是使函数使用了/返回了程序包的一种类型。一旦这样做,我就会收到编译错误:

<module-includes>:2:9: note: in file included from <module-includes>:2:
#import "Headers/MyFramework-Swift.h"
    ^
.../Build/Products/Debug-iphonesimulator/MyFramework.framework/Headers/MyFramework-Swift.h:184:9: error: module 'MyPackage' not found
@import MyPackage;
    ^ <unknown>:0: error: could not build Objective-C module 'MyFramework'

有什么想法我可以做到这一点吗?如果我用暴露相同类型的动态框架替换SPM软件包,那么它可以正常工作。

我正在Xcode 11 b7上进行测试。 Simplified example project

0 个答案:

没有答案