A newer version of this documentation is available.

View Latest

Install Couchbase Lite on Swift

      +

      Description — Installing Couchbase Lite on Swift

      Get Started

      Create or open an existing Xcode project and install Couchbase Lite using one of the Install Methods methods shown.

      Xcode 12.3 Work Around

      If you have downloaded a .framework package to install, you may be impacted by an existing issue in Xcode 12.3. The issue prevents use of certain frameworks, displaying the error: Building for iOS Simulator, but the linked framework was built for iOS — see: Apple Developer Forum.

      The recommended solution is to use an .xcframework package, where possible. Alternatively, as an interim solution, you can do the following workaround in your Xcode project:

      1. Navigate to the target’s Build Settings

      2. Locate the Validate Workspace setting

        xcode 12x3 fix
      3. Set Validate Workspace to Yes, then return it to No

      Install Methods

      • Frameworks

      • Carthage

      • CocoaPods

      • Swift Package Manager

      1. Download Couchbase Lite.

      2. Unzip the file

      3. Drag CouchbaseLiteSwift.framework from your Finder to the Xcode navigator.

      4. Click on Project > General > Embedded Binary and add CouchbaseLiteSwift.framework to this section.

      5. Import the framework

        import CouchbaseLiteSwift
        ...
      6. Start using Couchbase Lite on Swift in your project.

      1. Install Carthage using the instructions here:
        https://github.com/Carthage/Carthage#installing-carthage

      2. In your Cartfile, add the appropriate 'binary' URL:

        Couchbase Lite Community Edition
        binary "https://packages.couchbase.com/releases/couchbase-lite-ios/carthage/CouchbaseLite-Community.json" ~> 2.8
        Couchbase Lite Enterprise Edition
        binary "https://packages.couchbase.com/releases/couchbase-lite-ios/carthage/CouchbaseLite-Enterprise.json" ~> 2.8
      3. Run carthage update --platform ios.

      4. Drag CouchbaseLiteSwift.framework from Carthage/Build/ to the Xcode navigator.

      5. Select Project  General  Embedded Binary, add CouchbaseLiteSwift.framework to this section.

      1. Install CocoaPods using the instructions here:
        https://guides.cocoapods.org/using/getting-started.html

      2. Add one of these targets to your Podfile:

        Couchbase Lite Community Edition
        target 'Example' do
          use_frameworks!
          pod 'CouchbaseLite-Swift', '~> 2.8'
        end
        Couchbase Lite Enterprise Edition
        target 'Example' do
          use_frameworks!
          pod 'CouchbaseLite-Swift-Enterprise', '~> 2.8'
        end
      3. Install the pods and open the .xcworkspace file generated by CocoaPods, using:

        pod install
      Using Swift Package Manager to install CouchbaseLiteSwift requires Xcode 12+

      This tab explains how to include the CouchbaseLiteSwift package within your app
      See: Use Case 1. Include in Existing Swift Package | Use Case 2. Include in Your App Project

      Use Case 1. Include in Existing Swift Package

      Here we will add the CouchbaseLiteSwift dependency to your Parent Swift package — see: Example 1 for the sample manifest.

      1. Add the CouchbaseLiteSwift package as dependency by including the following in the parent package manifest:

        dependencies: [
          .package(name: "CouchbaseLiteSwift",
            url: "insert Couchbase Lite URL", (1)
            from: "2.8.0"),
          ],
        1 Insert appropriate Couchbase Lite URL:
        For Community Edition use: https://github.com/couchbase/couchbase-lite-ios.git
        For Enterprise Edition use: https://github.com/couchbase/couchbase-lite-swift-ee.git
      2. Add the dependent package product name, to the target:

        targets: [
          .target(name: "ParentPackage",
            dependencies: ["CouchbaseLiteSwift"]),
          ]
      3. Import CouchbaseLiteSwift, and use it:

        import CouchbaseLiteSwift
        
        class ParentPackageSomeClass {
          func someFunction() {
            let db = try! Database(name: "testdb")
            print(">> opening the db: \(db.name)")
          }
        }
      Example 1. Simple Manifest
      // swift-tools-version:5.3
      import PackageDescription
      let package = Package(
      name: "ParentPackage",
      products: [
        .library(
          name: "ParentPackage",
          targets: ["ParentPackage"]),
        ],
      dependencies: [
        .package(name: "CouchbaseLiteSwift",
          url: "https://github.com/couchbase/couchbase-lite-swift-ee.git", from: "2.8.0"),
        ],
      targets: [
        .target(
          name: "ParentPackage",
          dependencies: ["CouchbaseLiteSwift"]),
        .testTarget(
          name: "ParentPackageTests",
          dependencies: ["ParentPackage"]),
        ]
      )
      Use Case 2. Include in Your App Project

      Here we will add CouchbaseLiteSwift directly into your app

      1. Open the project to which you are going to add CouchbaseLiteSwift

        spm 1
      2. Open the Project Editor to add a dependency

        1. In Project Navigator:
          Select your Xcode project file (for example, HostApp in the example)
          Xcode opens the Project Editor pane

        2. In the Project Editor pane:
          Select Project  Swift Packages and + to add the dependency
          Xcode opens the Choose Package Repository dialog

          spm 2
      3. In the Choose Package Repository dialog:
        Enter the appropriate Couchbase Lite URL, Next to continue
        For example: https://github.com/couchbase/couchbase-lite-swift-ee.git

        spm 3
      4. Enter the Version and Next to continue

        spm 4
      5. Finish to close the Choose Package Repository dialog

        spm 5

        Xcode displays the name, version and URL of the added CouchbaseLiteSwift Package

        spm 6
      6. You can now import CouchbaseLiteSwift, and use it in your app

        spm 7