Skip to content

configcat/openfeature-swift

Repository files navigation

ConfigCat OpenFeature Provider for Swift

CI

This repository contains an OpenFeature provider that allows ConfigCat to be used with the OpenFeature Swift SDK.

Installation

Swift Package Manager

If you manage dependencies through SPM, in the dependencies section of Package.swift add:

.package(url: "https://github.com/configcat/openfeature-swift", from: "0.1.0")

and in the target dependencies section add:

.product(name: "ConfigCat", package: "openfeature-swift"),

Xcode Dependencies

  • Open the dependencies dialog from File > Add Package Dependencies...
  • Search for https://github.com/configcat/openfeature-swift and click Add Package.

Usage

The initializer of ConfigCatProvider takes the SDK key and an optional ConfigCatOptions argument containing the additional configuration options for the ConfigCat Swift SDK:

import ConfigCatOpenFeature
import ConfigCat
import OpenFeature

Task {
    // Configure the provider.
    let provider = ConfigCatProvider(sdkKey: "<YOUR-CONFIGCAT-SDK-KEY>") { opts in
        opts.pollingMode = PollingModes.autoPoll()
    }

    // Configure the OpenFeature API with the ConfigCat provider.
    await OpenFeatureAPI.shared.setProviderAndWait(provider: provider)

    // Create a client.
    let client = OpenFeatureAPI.shared.getClient()

    // Evaluate feature flag.
    let isAwesomeFeatureEnabled = client.getBooleanValue(key: "isAwesomeFeatureEnabled", defaultValue: false)
}

For more information about all the configuration options, see the Swift SDK documentation.

Need help?

https://configcat.com/support

Contributing

Contributions are welcome. For more info please read the Contribution Guideline.

About ConfigCat

ConfigCat is a feature flag and configuration management service that lets you separate releases from deployments. You can turn your features ON/OFF using ConfigCat Dashboard even after they are deployed. ConfigCat lets you target specific groups of users based on region, email or any other custom user attribute.

ConfigCat is a hosted feature flag service. Manage feature toggles across frontend, backend, mobile, desktop apps. Alternative to LaunchDarkly. Management app + feature flag SDKs.