Dev guideAPI Reference
Dev guideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

Install the Swift SDK

The steps necessary to install the Optimizely Feature Experimentation Swift SDK into your application.

The Optimizely Feature Experimentation Swift SDK is written completely in Swift and uses its native types and patterns. It is available for distribution through CocoaPods, Carthage, or Swift Package Manager (SPM).

You can use this SDK with apps written in Swift and Objective-C.


  • Swift client applications must use Swift 5 or higher.
  • Minimum OS version supported is iOS 10.0, tvOS 10.0 and watchOS 3.0.


  1. Add this line to the Podfile:
pod 'OptimizelySwiftSDK','~> 4.0.0-beta'
  1. Run the command:
pod install

For more installation information, see the CocoaPods Getting Started Guide.


  1. Add this line to the Cartfile:
github "optimizely/swift-sdk" ~> "4.0.0-beta"
  1. Run the command:
carthage update
  1. Link the frameworks to your project.
    Go to your project target's Link Binary With Libraries and drag over these frameworks from the Carthage/Build/ folder:
  1. To ensure that proper bitcode-related files and dSYMs are copied when archiving your app, you must install a Carthage build script:
    a. Add a new Run Script phase in your target's Build Phase.
    b. Include this line in the script area:
    /usr/local/bin/carthage copy-frameworks
    c. Add the frameworks to the Input Files list: $(SRCROOT)/Carthage/Build/<platform>/Optimizely.framework
    d. Add the paths to the copied frameworks to the Output Files list:

For more installation information, see the Carthage GitHub repository.

Swift Package Manager (SPM)

Add the following line to the dependencies value of your Package.swift:

dependencies: [
    .package(url: "", .upToNextMinor(from: “4.0.0-beta”))

If you have a name conflict with other swift packages when you add the Optimizely Feature Experimentation swift-sdk dependency to Xcode, you can also try with its aliased repo:



  • All public types start with the Optimizely prefix for clarity.
  • This release includes a wrapper for all public APIs to support Objective-C client applications. See the demo Swift app on GitHub.