Install SDK

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

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

πŸ“˜

Note

If you're currently using our Objective-C SDK, here's a guide to help you migrate to our newer Swift SDK.

Requirements

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

CocoaPods

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

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

Carthage

  1. Add this line to the Cartfile:
github "optimizely/swift-sdk" ~> "3.10.1"
  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/<platform> folder:
Optimizely.framework
  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:
    $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Optimizely.framework

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: "https://github.com/optimizely/swift-sdk.git", .upToNextMinor(from: β€œ3.10.1”))
]

πŸ“˜

Note

  • 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.

Did this page help you?