问题描述
我一直在创建Swift Package Manager。它在自己内部使用了另外两个SPM。当独立编译时,SPM编译良好。将项目导入Xcode项目后,我会收到一个编译器错误,提示:
No such module 'ModuleName'
注意:上述错误中的
ModuleName
对应于导入到我的项目中的软件包中导入的软件包。
我已经坚持了好一阵子,并尝试了以下方法:
- 删除并重新读取了SPM依赖于我的SPM,然后尝试将我的SPM导入到我的项目中(我在其他每个步骤之前和之后也都这样做了。)
- 检查是否将这些软件包作为依赖项添加到何处。它显示在SPM主要目标
Module
->Build Phases
->Link binary with libraries
中。我还将其添加到Dependencies
部分,以查看它是否有任何更改。 - 试图将SPM添加到
ModulePackageDescription
目标的Dependencies
部分。 - 如下所示在
Package.swift
文件中添加了依赖性。
dependencies: [
// Dependencies declare other packages that this package depends on.
.package(url: "package1_url",.branch("master")),.package(url: "package2_url",.branch("master"))
]
添加此选项会将其他依赖项导入到我的Xcode项目中。我不完全希望发生这种情况,因为如果我尝试使用要在我的SPM中导入的SPM的另一个版本,它将导致两个版本之间的冲突。但是,如果这是正确的方法,我愿意这样做。但是,即使在dependencies
中添加Package.swift
对我也不起作用。我该如何解决这个问题?让我知道是否有人遇到过相同的问题。
解决方法
库公共类是否也需要包含构造函数?
公共结构 NumbersA {
public init () {
}
}
还将它们添加到依赖项 Package.swft->dependencies: ["NumbersA"]),