Skip to main content
Since May 1st, 2024, Apple requires all iOS apps to include a privacy manifest. For more details, see Privacy Manifest.
To confirm the latest version of InstantSearch iOS, please refer to our list of releases. You can add InstantSearch iOS to your project using either Swift Package Manager, Cocoapods, or Carthage.

Swift Package Manager

The Swift Package Manager (SPM) is a tool to manage the distribution of Swift code. Itโ€™s integrated with the Swift build system to automate the process of downloading, compiling, and linking dependencies. Since the release of Swift 5 and Xcode 11, SPM is compatible with the iOS, macOS and tvOS build systems for creating apps. To use SPM, you should use Xcode 11 to open your project. Click File -> Swift Packages -> Add Package Dependency, and enter the URL of the InstantSearch repository (https://github.com/algolia/instantsearch-ios). If you consider to use only the business logic modules of InstantSearch, and donโ€™t need the set of provided UIKit controllers in your project, you only have to select InstantSearchCore in the list of products that show up. If youโ€™re a framework author and use InstantSearch as a dependency, update your Package.swift file:
Swift
let package = Package(
    // 7.1.0 ..< 8.0.0
    dependencies: [
        .package(url: "https://github.com/algolia/instantsearch-ios", from: "7.1.0")
    ])

Cocoapods

CocoaPods is a dependency manager for Cocoa projects.
  • If you donโ€™t have CocoaPods installed on your machine, open your terminal and run sudo gem install cocoapods.
  • If you donโ€™t have a Podfile in your project, type pod init. A Podfile will be created for you.
  • Open your Podfile and add
To install InstantSearch, simply add the following line to your Podfile:
Podfile
pod("InstantSearch", "~> 7.1")
# pod 'InstantSearch/Core' for access to everything except the UI controllers
In your terminal, run pod update.

Carthage

Carthage is a simple, decentralized dependency manager for Cocoa. To install InstantSearch, add the following line to your Cartfile:
Cartfile
github "algolia/instantsearch-ios" ~> 7.1
Launch the following commands from the project directory:
carthage update
./Carthage/Checkouts/instant-search-ios/carthage-prebuild
carthage build
Carthage doesnโ€™t provide a way to build only specific subcomponents (equivalent to CocoaPodsโ€™s subspecs) of a repository. It builds all components and their dependencies with the above commands. However, you donโ€™t need to copy frameworks you arenโ€™t using into your project. For instance, if you donโ€™t use the UI components from InstantSearch, you can delete all InstantSearch frameworks except InstantSearchCore from the Carthage build directory.
โŒ˜I