ExperimentsBoard

Noetic Garden 的作品 — 作者:millenomi

ExperimentsBoard 模块允许您快速添加 UI,将代码中的任何常量转换为可以在运行时调整和实验的内容。

只需将常量包装在对 Experiments.value(…) 的调用中即可 — 例如

Text("Hello, world!")

// … turns into:

Text("Hello, \(Experiments.value("world", key: "Place"))!") 

完成此操作后,只需在您的应用程序中添加几行代码即可启用编辑 UI 的显示,并将您应用程序的任何部分转换为可以调整和实验的内容,而无需往返。

A screenshot of the editing UI on macOS and iOS

此模块中的 UI 适用于 iOS 17、macOS 14、tvOS 17、watchOS 10 和 visionOS 1 或更高版本,但其核心是跨平台的 — 自行构建 UI,您可以在之前的操作系统或 Linux、WebAssembly 或 Windows 上使用相同的实验语法。在这些平台上,除了 DocC 之外,此模块唯一的依赖项是 Swift 本身。

该模块有完整的文档 — 使用 DocC(在 Xcode 中或使用 swift package generate-documentation)构建文档,并查看“入门”文章进行设置。

添加到您的项目

要将此软件包添加到您的项目中,请在 Xcode 中使用以下 URL,方法是选择“File”>“Add Package Dependencies…”

https://github.com/noeticgarden/experimentsboard

或者,将其作为依赖项添加到您的软件包中,如下所示


// Package.swift
let package = Package(

    dependencies: [
        
        .package(url: "https://github.com/noeticgarden/experimentsboard", from: "0.1.0"),
    ],
    
    targets: [
        .target(
            dependencies: [
                .product("ExperimentsBoard", package: "experimentsboard")
            ])
    ]
)

许可

此模块的内容根据 MIT 许可证授权,但以下内容除外

(我本可以使用 Synchronization 的 Mutex,但我很喜欢这个模块现在可以向后部署。)

贡献

使用 GitHub 报告问题 或提出 拉取请求

此软件包不保证任何特定贡献将被包含或公开审查,但所有问题和拉取请求都至少会被考虑。另外,请友善;这些空间将由作者自行决定积极审核。

1.0 验收标准

这些构建版本使用 0.x(预稳定版)语义版本号 进行标记。1.0 的目标是