Swift包管理器 - 如何使用它

时间:2017-04-18 02:35:32

标签: swift swift-package-manager

我有一个项目,我想在我的应用中使用this package。我用Google搜索并按照说明操作:

//in Terminal

? mkdir SGLMath
? cd SGLMath
? swift package init --type executable

然后我打开package.swift文件并更改为:

// swift-tools-version:3.1

import PackageDescription

    let package = Package(
        name: "SGLMath",
        dependencies: [
            .Package(url: "https://github.com/SwiftGL/Math.git", majorVersion: 1)
        ]
    )

然后Terminal

? swift package fetch

然后我收到了这个错误:

  

错误:包具有不受支持的布局,意外的来源   找到的文件:   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/EqualWithAccuracy.swift,   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/FunctionsTests.swift,   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/Matrix2x2Tests.swift,   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/Matrix3x3Tests.swift,   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/Matrix4x4Tests.swift,   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/SwizzleTests.swift,   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/Vector2Tests.swift,   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/Vector4Tests.swift,   /Users/xuanxi/SGLMath/.build/checkouts/Math.git-9167533630816302265/Tests/glmMatrixTests.swift

     

修复:移动模块内的文件

我该如何解决这个问题?

  1. 如果我想将此软件包添加到现有的Xcode项目中,该怎么办?

1 个答案:

答案 0 :(得分:1)

  1. 项目https://github.com/SwiftGL/Math.git没有正确的Swift Package Manager格式。 Tests目录中的文件应位于名称为的目录中:模块名称+"测试"结尾,在本例中为SGLMathTests。您可以分叉项目并修复它或要求作者修复它。
  2. 要在Xcode中使用该项目,修复后:

    一个。运行swift package generate-xcodeproj。它将使用包生成一个Xcode项目。

    湾创建一个Xcode工作区,并在其中添加您现有的Xcode项目和上一步中生成的项目。将包含生成项目的包的框架作为依赖项添加到现有Xcode项目中。这应该有效。