问题标签 [swift-package-manager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
439 浏览

swift - 完美 2.0 的 Heroku Procfile

我正在尝试在 Heroku 上部署 Perfect 2.0(它使用 swift 包管理器)。当前存在 Swift 3 和 Perfect 2.0的构建包,我已经使用此构建包测试并将以下模板成功推送到 heroku 应用程序,而没有构建错误。特别是,我正在尝试获取Perfect 的基本模板示例——它在本地运行良好——部署到 heroku 作为概念证明。然而,问题是这个构建包需要一个顶级 Procfile 来通知 heroku 如何访问完美的服务器。在 Perfect 1.0 中,这个 procfile 是简单web: perfectserverhttp --port $PORT的,但是对于这个新的 procfile perfectserverhttp,它不是一个可识别的命令。在我的heroku记录它的错误bash: perfectserverhttp: command not found. 处理此问题的适当方法是什么?即我应该如何构建我的 procfile,以及使用什么命令访问我的服务器实例?我可以通过创建 procfile 来让事情在本地运行web: .build/debug/<given_package.swift_name>,但这并不能转化为 heroku 上的部署。

0 投票
3 回答
4416 浏览

swift-package-manager - 在 Swift PM 的 Package.swift 中指定依赖分支或提交 ID

有没有办法定义依赖关系Package.swift,指向某个分支的最新提交,甚至指向特定的提交 ID(就像 Carthage 一样)?

用例是,假设我有一个库存储库,我想在其中进行分支并进行一些更改,然后能够在依赖项目中对其进行测试。

0 投票
1 回答
450 浏览

swift - 更改 swift 包文件的文件名

我有一个类似于下面示例的 swift 包,它与 Github 上本地和远程的 git repo 相关联。

根据经验,在更改与 git repo 关联的任何文件名之前,我会感到紧张,因为我过去遇到过问题。我通常会先尝试,然后问我是否无法弄清楚,但我不想尝试某些事情并造成不可逆转的伤害。

关于如何在本地更改与上述 ProjectName 关联的所有文件名的任何建议?除了我知道需要做更多工作的 xcodeproj 之外,我可以重命名文件并提交它们以使更改生效,还是我还需要做其他事情?

0 投票
1 回答
1583 浏览

swift - 如何在 Package.swift 中指定模块的 alpha 版本?

我想为我的 Swift 项目添加一个名为Markdown的库,它是基于 Vapor 的服务器端构建。

但是,该库似乎已经放弃了对 Swift 2.x 的支持,现在最新版本是 1.0.0-alpha,它基于 Swift 3.x。

由于我的项目基于 Swift 3.x,我想获取该库。该文件说以下内容:

但是,如何在 中指定模块的 alpha 版本Package.swift

0 投票
1 回答
208 浏览

swift-package-manager - Package.swift 的自定义编译

是否可以将如下标志添加到 Package.swift 文件中?

特别是,我试图通过将每个包放置在与它们的用例相对应的条件编译块中来加载一个用于 DEBUG 的包和一个打包用于 RELEASE 的包(这只是我用于 CLIENT 和 SERVER 的命名法,因为我不能了解如何在 DEBUG 和 RELEASE 之外创建自定义标志)。客户端使用 SQLite,服务器使用 PostgreSQL。我编写了一个测试库,它映射到一个有条件地编译以使用适当的 SQL 的文件,所以现在唯一的问题是让 Package.swift 也有条件地编译。

0 投票
2 回答
661 浏览

swift-package-manager - Swift包管理器条件编译不尊重标志

我有一个具有以下结构的 Package.swift 文件

当我使用以下任何一种方式构建它时:

它仍然总是下载 Dependency-Two.git。如果我在上述所有内容前面加上

所以我不认为这是因为它重用了一些缓存。有可能做我打算在这里做的吗?

0 投票
3 回答
2509 浏览

swift - 向 Swift Package Manager 提供配置文件

我正在尝试结合 swiftpm 和 .xcconfig 文件。

我用两行在Config.xcconfig我的文件旁边创建了文件:Package.swift

但是我仍然有 120 个链接错误,我的猜测是swift build看不到我的配置文件。

我应该怎么办?

0 投票
3 回答
2893 浏览

swift3 - 试图让 swift 包示例工作

我正在处理swift-package-manager/Documentation/Usage.md中的第一个示例

我的设置:macOS 10.12.1、Brew(jpeg-8djasper-1.900.21)、Swift 3.0.1

说明没有提到example/Package.swift需要这一行,否则它不会构建:
    name: "example", 错误是:

它不在说明中,但根据本文档的参考部分,我添加了该行
    providers: [ .Brew("jpeg") ]
CJPEG/Package.swift尝试在未jpeg安装的情况下构建,并且swift build不建议
    brew install jpeg
按预期运行。我做到了brew install jpeg并继续前进。

现在用jpegbrew 安装,swift build得到这些错误:

我发现我必须编辑/usr/local/include/jpeglib.h才能
    #include <stdio.h>
在顶部添加。

顺便说一句,CJPEG/module.modulemap文件说:
    header "/usr/include/jpeglib.h"
文件jpeglib.h/usr/local/include而不是/usr/include. 为什么这不会导致构建错误?

无论如何,此时swift build得到了这些构建错误:

我发现我不能只用:
    swift build
我必须用
    swift build -Xlinker -L/usr/local/include

这些调整让我通过了这个jpeglib例子。

在构建JasPer示例时,我收到以下错误:

感谢 Vadim 的回答,我现在知道我必须使用
    swift build -Xcc -I/usr/local/include -Xlinker -L/usr/local/lib

但我还没有看到我可以添加什么Package.swift以便我可以简单地构建
    swift build

0 投票
1 回答
84 浏览

ios - 从 Swift 2 迁移的项目的 Swift 包管理器

我有一个 Swift 2 项目,现在转换为 Swift 3。我使用的是 HTMLKit pod,但问题是 HTMLKit 不再在 CocoaPods 上,而是在 swift 包管理器上。

如何将Swift 包管理器支持添加到我现有的项目中?人们说将依赖项添加到package.swift但我的项目中没有这样的文件。我怎样才能创建这个文件?

0 投票
3 回答
9516 浏览

swift - 我可以使用 Swift 包管理器制作本地模块吗?

我知道 Swift 包管理器可以将来自 github 的代码编译为我的项目的模块,但我可以告诉包管理器编译存储在本地计算机上的代码吗?

我的想法是我有一些代码想从项目的其余部分中分离出来,所以我将它保存在一个文件夹中,Swift 编译器将构建它,以便可以像任何其他模块一样导入该代码。