LaunchDarkly supports multiple methods for installing the library in a project.
CocoaPods is a dependency manager for Objective-C, which automates and simplifies the process of using 3rd-party libraries like LaunchDarkly in your projects. You can install it with the following command:
$ gem install cocoapods
To integrate LaunchDarkly into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'LaunchDarkly'
end
Then, run the following command:
$ pod install
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate LaunchDarkly into your Xcode project using Carthage, specify it in your Cartfile
:
github "launchdarkly/ios-client"
Run carthage
to build the framework and drag the built Darkly.framework
into your Xcode project.
-
Add the SDK to your
Podfile
:pod `LaunchDarkly`
-
Import the LaunchDarkly client:
#import "LDClient.h"
-
Instantiate a new LDClient with your mobile key and user:
LDConfig *config = [[LDConfig alloc] initWithMobileKey: @"YOUR_MOBILE_KEY"]; LDUserBuilder *user = [[LDUserBuilder alloc] init]; user.key = @"aa0ceb"; [[LDClient sharedInstance] start:config withUserBuilder:user];
(Be sure to use a mobile key from your environments. Never embed a standard SDK key into a mobile application.)
-
Create a new feature flag on your dashboard
-
In your application code, use the feature’s key to check whether the flag is on for each user:
BOOL showFeature = [[LDClient sharedInstance] boolVariation:@"YOUR_FLAG_KEY" fallback:NO]; if (showFeature) { NSLog(@"Showing feature for %@", user.key); } else { NSLog(@"Not showing feature for user %@", user.key); }
Manage the feature on your dashboard — control who sees the feature without re-deploying your application!
Check out our documentation for in-depth instructions on configuring and using LaunchDarkly. You can also head straight to the complete reference guide for this SDK.
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.
See Contributing
- 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
- Explore LaunchDarkly
- launchdarkly.com for more information
- docs.launchdarkly.com for our documentation and SDKs
- apidocs.launchdarkly.com for our API documentation
- blog.launchdarkly.com for the latest product updates
- Feature Flagging Guide for best practices and strategies