Skip to content

bucketeer-io/ios-client-sdk

Repository files navigation

Bucketeer Client-side SDK for iOS

Bucketeer is an open-source platform created by CyberAgent to help teams make better decisions, reduce deployment lead time and release risk through feature flags. Bucketeer offers advanced features like dark launches and staged rollouts that perform limited releases based on user attributes, devices, and other segments.

Getting started using Bucketeer SDK.

Supported iOS and Xcode versions

Bucketeer SDK has been tested across iOS and tvOS devices.

Minimum build tool versions:

Tool Version
Xcode 13.1+
Swift 5.0+

Minimum device platforms:

Platform Version
iOS 11.0
tvOS 11.0

Installation

See our documentation to install the SDK.

Contributing

We would ❤️ for you to contribute to Bucketeer and help improve it! Anyone can use and enjoy it!

Please follow our contribution guide here.

Development

Setup the library management

This project use mint for library management.

Install

make install-mint

※You need homebrew to install mint.

Install library

make bootstrap-mint

Setup the environment xcconfig file

Execute the following Makefile to create the environment xcconfig file.
This will set the API_ENDPOINT and the API_KEY for E2E Tests and the Example App.

make environment-setup

Generate Xcode project file

Generate .xcodeproj using XcodeGen.
If project.yml is updated, it should be generated.

make generate-project-file

Development with Xcode

Open Xcode and import ios-client-sdk.
※You may need to generate Xcode project file.

Development with command line

※You may need to generate Xcode project file.

Build SDK

make build

Build Example App

make build-example

To run the E2E test, set the following environment variables before building it. There is no need to set it for unit testing.

  • E2E_API_ENDPOINT
  • E2E_API_KEY
make build-for-testing E2E_API_ENDPOINT=<YOUR_API_ENDPOINT> E2E_API_KEY=<YOUR_API_KEY>

Run Unit Tests

make test-without-building

Run E2E Tests

make e2e-without-building

Example App

To run the example app.

You must execute the Makefile make environment-setup to set the API_ENDPOINT and the API_KEY.
You may need to generate Xcode project file.

License

Apache License 2.0, see LICENSE.