LaunchDarkly SDK for iOS
Supported iOS and Xcode versions
This version of the LaunchDarkly SDK has been tested with iOS 13.5 and across mobile, desktop, watch, and tv devices. The SDK is built with Xcode 11.5. The minimum platform versions are:
LaunchDarkly supports multiple methods for installing the library in a project. Once installed, head over to the SDK documentation for complete instructions on getting started with using the SDK.
Swift Package Manager
The Swift Package Manager is a dependency manager integrated into the
swift compiler and Xcode.
To integrate LaunchDarkly into an Xcode project, go to the project editor, and select
Swift Packages. From here hit the
+ button and follow the prompts using
https://github.com/launchdarkly/ios-client-sdk.git as the URL.
To include LaunchDarkly in a Swift package, simply add it to the dependencies section of your
Package.swift file. And add the product "LaunchDarkly" as a dependency for your targets.
dependencies: [ .package(url: "https://github.com/launchdarkly/ios-client-sdk.git", .upToNextMinor(from: "5.1.0")) ]
To use the CocoaPods dependency manager to integrate LaunchDarkly into your Xcode project, specify it in your
use_frameworks! target 'YourTargetName' do pod 'LaunchDarkly', '~> 5.1' end
To use the Carthage dependency manager to integrate LaunchDarkly into your Xcode project, specify it in your
To integrate LaunchDarkly into your Xcode project using Carthage, specify it in your
github "launchdarkly/ios-client-sdk" ~> 5.1
If you prefer not to use the aforementioned dependency managers, it is possible to integrate the SDK manually.
- On the root folder of the project retreive the SDK by either:
- Adding the SDK as a git submodule with
git submodule add https://github.com/launchdarkly/ios-client-sdk.git.
- OR cloning the SDK with
git clone https://github.com/launchdarkly/ios-client-sdk.git.
- Adding the SDK as a git submodule with
- Open the new
ios-client-sdkfolder and drag
LaunchDarkly.xcodeprojinto the project navigator of your application's Xcode project. It should appear nested within your application's blue project icon.
- Select your application project in the project navigator (blue icon) and select your application target under the "Targets" heading in the sidebar. If you have multiple targets, perform the following steps for each target.
- Select the "General" tab, and if necessary expand the subsection "Frameworks, Libraries, and Embedded Content".
- Click the "+" button in the expanded subsection. Under "LaunchDarkly" within the dialog you will see 4 frameworks, select
LaunchDarkly.frameworkfor iOS, or
LaunchDarkly_<platform>for other platforms.
We run integration tests for all our SDKs using a centralized test harness. This approach gives us the ability to test for consistency across SDKs, as well as test networking behavior in a long-running application. These tests cover each method in the SDK, and verify that event sending, flag evaluation, stream reconnection, and other aspects of the SDK all behave correctly.
We encourage pull requests and other contributions from the community. Check out our contributing guidelines for instructions on how to contribute to this SDK.
- LaunchDarkly is a continuous delivery platform that provides feature flags as a service and allows developers to iterate quickly and safely. We allow you to easily flag your features and manage them from the LaunchDarkly dashboard. With LaunchDarkly, you can:
- Roll out a new feature to a subset of your users (like a group of users who opt-in to a beta tester group), gathering feedback and bug reports from real-world use cases.
- Gradually roll out a feature to an increasing percentage of users, and track the effect that the feature has on key metrics (for instance, how likely is a user to complete a purchase if they have feature A versus feature B?).
- Turn off a feature that you realize is causing performance problems in production, without needing to re-deploy, or even restart the application with a changed configuration file.
- Grant access to certain features based on user attributes, like payment plan (eg: users on the ‘gold’ plan get access to more features than users in the ‘silver’ plan). Disable parts of your application to facilitate maintenance, without taking everything offline.
- LaunchDarkly provides feature flag SDKs for a wide variety of languages and technologies. Check out our documentation for a complete list.
- Explore LaunchDarkly