ConfigCat Swift SDK

Build Status CocoaPods Supported Platforms Coverage Status Quality Gate Status

ConfigCat Swift SDK 为您的应用程序集成 ConfigCat 提供了便捷的方式。

支持以下设备平台版本:

平台 版本
iOS >= 12.0
watchOS >= 4.0
tvOS >= 12.0
macOS >= 10.13
visionOS >= 1.0

入门指南

1. 安装包

2. 前往 ConfigCat 仪表板 获取您的 *SDK Key*

SDK-KEY

3. 将 *ConfigCat* 模块导入到您的应用程序

import ConfigCat

4. 创建一个 *ConfigCat* 客户端实例

let client = ConfigCatClient.get(sdkKey: "#YOUR-SDK-KEY#")

5. 获取您的设置值

client.getValue(for: "isMyAwesomeFeatureEnabled", defaultValue: false) { isMyAwesomeFeatureEnabled in
    if isMyAwesomeFeatureEnabled {
        doTheNewThing()
    } else {
        doTheOldThing()
    }
}

// or with async/await
let isMyAwesomeFeatureEnabled = await client.getValue(for: "isMyAwesomeFeatureEnabled", defaultValue: false)
if isMyAwesomeFeatureEnabled {
    doTheNewThing()
} else {
    doTheOldThing()
}

6. 在应用程序退出时关闭客户端

client.close();

使用定向功能获取用户特定设置值

使用此功能,您可以通过将 User Object 传递给 getValue() 函数,为应用程序中的不同用户获取不同的设置值。

在此处阅读更多关于 定向功能 的信息。

let user = ConfigCatUser(identifier: "#USER-IDENTIFIER#")
client.getValue(for: "isMyAwesomeFeatureEnabled", defaultValue: false, user: user) { isMyAwesomeFeatureEnabled in
    if isMyAwesomeFeatureEnabled {
        doTheNewThing()
    } else {
        doTheOldThing()
    }
}

示例/演示应用程序

示例 iOS 应用程序

轮询模式

ConfigCat SDK 支持 3 种不同的轮询机制,用于从 ConfigCat 获取设置值。下载最新的设置值后,它们将存储在内部缓存中,然后所有请求都将从那里提供。 阅读更多关于轮询模式以及如何在 ConfigCat 文档 中使用它们的信息。

敏感信息处理

前端/移动 SDK 在用户的浏览器/设备中运行。 该 SDK 从 ConfigCat 的 CDN 服务器下载一个 config.json 文件。 此 config.json 文件的 URL 路径包含您的 SDK 密钥,因此您的用户可以看到 SDK 密钥和 config.json 文件的内容(功能标志键、功能标志值、定向规则、% 规则)。 此 SDK 密钥是只读的,它只允许下载您的 config.json 文件,但没有人可以使用它在您的 ConfigCat 帐户中进行任何更改。

如果您不想公开 SDK 密钥或 config.json 文件的内容,我们建议仅在您的后端组件中使用该 SDK。 您始终可以使用 ConfigCat SDK 创建一个后端端点,该端点可以评估特定用户的功能标志,并从您的前端/移动应用程序调用该后端端点。

此外,我们建议在前端/移动 SDK 中使用的那些功能标志的定向规则中使用 机密定向比较器

需要帮助?

https://configcat.com/support

贡献

欢迎贡献。 有关更多信息,请阅读 贡献指南

关于 ConfigCat

ConfigCat 是一项功能标志和配置管理服务,可让您将发布与部署分开。 即使在部署后,您也可以使用 ConfigCat 仪表板 打开/关闭您的功能。 ConfigCat 允许您根据区域、电子邮件或任何其他自定义用户属性来定位特定的用户群。

ConfigCat 是一项 托管的功能标志服务 。 跨前端、后端、移动、桌面应用程序管理功能切换。 LaunchDarkly 的替代品 。 管理应用程序 + 功能标志 SDK。