Swift 包管理器 - 如何使用它

标签 swift swift-package-manager

我有一个要使用的项目 this package在我的应用程序中。我用谷歌搜索并按照说明进行操作:

//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)
        ]
    )

然后终端:

? swift package fetch

然后我得到这个错误:

error: the package has an unsupported layout, unexpected source file(s) found: /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

fix: move the file(s) inside a module

我该如何解决?

  1. 如果我想将这个包添加到我现有的 Xcode 项目中怎么办?

最佳答案

  1. 项目https://github.com/SwiftGL/Math.git没有正确的 Swift 包管理器格式。 Tests 目录中的文件应位于名称为:模块名称 + 以“Tests”结尾的目录中,在本例中为 SGLMathTests。您可以 fork 项目并修复它或要求作者修复它。
  2. 要将项目与 Xcode 一起使用,一旦你修复它:

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

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

关于Swift 包管理器 - 如何使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462666/

相关文章:

arrays - 无法在强制转换中将类型 [Struct] 的值转换为类型 [string]

ios - NSPredicate 与 CNContact 不工作

ios - 包产品 'MyLibrary' 不能用作此目标的依赖项,因为它使用了不安全的构建标志

Swift 包管理器 ("Swift Build")在 xcode 中编译正常

ios - 从 Firestore 数据库检索数据时出现与索引相关的错误

swift - NSDateformatter 可以用于读取瑞典月份吗

ios - 从 View Controller 的文本字段获取值

ios - 如何创建和构建一个 swift 包

ios - 创建新的 Swift 包 - 找不到 header