swift包管理器中的“警告:没有构建包的目标”错误

时间:2017-10-02 05:58:20

标签: ios swift xcode socket.io swift-package-manager

我正在尝试使用swift包管理器将SocketIO安装到我的swift 4 iOS项目中。 Package.swift文件如下所示:

public static void main(String[] args) {
    for (int i = 5, j = 1; i >= 1; i--, j++) { // Introduce a new variable j 
        for (int a = j; a <= 5; a++) { // change a=1 to a=j & a<=i to a<=5
            for (int b = 1; b <= a; b++) {
                System.out.print(a);
            }
        }
        System.out.println();
    }
}

在我输入'swift build'时在命令行上提取包但出现错误:

“警告:无法在程序包中构建目标”

当我尝试在我的应用程序中导入SocketIO时,我得到:

“没有这样的模块'SocketIO'”错误。

这是我第一次使用Package Manager。只是想知道如何解决这个问题以及我是否需要在Package.swift文件中自己添加目标?

不确定我是否最初正确设置了Package Manager。还想知道是否有办法卸载并重新安装Package Manger?或者只是替换项目目录中的Package.swift文件。

2 个答案:

答案 0 :(得分:0)

您可以尝试以下方法:

  • 使用.Package代替.package
  • 使用majorVersion: 12, minor: 0代替.upToNextMajor

代码:

import PackageDescription

 let package = Package (
    name: "MyApp",
    dependencies: [
       .Package(url: "https://github.com/socketio/socket.io-client-swift", majorVersion: 12, minor: 0)
    ]
)

输出:

如果成功构建,将创建以下内容:

  • Package.resolved将包含使用的包
  • 创建
  • .build隐藏目录,这些目录将包含构建文件。

经过测试:

  • Swift 4.0

参见:

https://swift.org/getting-started/#using-the-package-manager

答案 1 :(得分:0)

我遇到了同样的问题。

我找到了SPM v4的文档。

通过此link

所以,你应该试试这个:

int nextPowerOf2(int num)
{
    return num == 1 ? 1 : Integer.highestOneBit(num - 1) * 2;
}