Siesta 作为 SwiftPM 在 Linux 上的依赖项
Posted
技术标签:
【中文标题】Siesta 作为 SwiftPM 在 Linux 上的依赖项【英文标题】:Siesta as dependency in SwiftPM on linux 【发布时间】:2017-12-28 21:19:16 【问题描述】:我编写了一个使用 Siesta 的包,我希望能够使用 SwiftPM 在 linux 平台上为它运行自动化测试。我看到 siesta 有一个 Package.swift 声明排除了 SiestaUI,但是我看到标准转换器的 AppKit/UIKit 导入 -> Image
类型被广泛使用,并且 UIImage 引用无法在 linux 上编译。
此外,我特别希望我的消费库能够处理来自 Siesta 的图像。至少,我需要从消费者那里注入能够使用 Siesta 类型的 UIKit 方法。
那么,(1) 是否有任何期望 Siesta 可以在 linux 上与 SwiftPM 一起使用?如果是这样,这里的预期流程是什么?似乎 PureSwift/Cacao 和 Silica 可以帮助我解决这个问题,但我的实验并没有以某种方式正确连接,并且不同域类型之间的转换并不明显(即,我想使用 Siesta传输图像的 jpeg,但 Cacao 不提供 UIImageJPEGRepresentation
的实现。
有什么想法吗?
【问题讨论】:
【参考方案1】:由于需求不足且没有明确的用例(直到现在!),Linux 上的 Siesta 目前还没有正式不受支持。 Package.swift
是有抱负的,寄希望于像你这样有进取心的人愿意接受它并让它发挥作用!
核心Siesta
模块理论上应该可以在Linux 上正常工作。 SiestaUI
模块仅适用于 ios/macOS,这就是 SwiftPM 清单将其排除在外的原因。
Siesta 自己的测试不适用于 SwiftPM,因为最后检查,它们所依赖的测试库不支持 SwiftPM。
【讨论】:
感谢保罗提供的信息。如果有任何有趣的事情发生,我将继续我的实验并与 PR 报告! 请发给他们。我很想找人来做这份工作。以上是关于Siesta 作为 SwiftPM 在 Linux 上的依赖项的主要内容,如果未能解决你的问题,请参考以下文章
将框架从 SwiftPM 嵌入到 Cocoa 应用程序 (XCODE)
无法在 SwiftPM 的 ObjC 模块中导入 AppKit
Swift Siesta - 如何将异步代码包含到请求链中?