Installation options
The SDK supports multiple installation options depending on your integration.
For installation details on Standalone Capture click here .
The Sensibill SDK for iOS is distributed in two formats: a binary package format (XCFramework), and a universal archive (legacy format). Both formats can be installed using CocoaPods dependency manager (a preferred method), or by adding the dependency manually to your project.
Additionally, you can download Sensibill public certificates named Certificates.zip, which are required to use certificate pinning. See Setup for more information. The Certificates.zip can be found on the Releases page, in the Release Assets.
Via CocoaPods
CocoaPods provides a quick way to download external dependencies for an iOS project. The Sensibill SDK can be downloaded and accessed via CocoaPods:
If your project isn’t using CocoaPods already, follow the set up guide from the official CocoaPods website here .
Step 1: Once your project is set up with CocoaPods, add the Sensibill dependency to your project’s Podfile in the following format:
Using XCFramework: (CocoaPods 1.10.1+ is required)
pod 'Sensibill', :git => 'git@github.com:getsensibill/sdk-ios.git', :tag => 'vX.Y.Z'
Using Universal Framework:
pod 'Sensibill', :git => 'git@github.com:getsensibill/sdk-ios-legacy.git', :tag => 'vX.Y.Z'
Note: Above vX.Y.Z represents the version of the SDK you want to use.
Step 2: In your terminal, navigate to the root directory of your application’s project folder.
Run pod install
to integrate Sensibill SDK to your project.
Direct Download
To download the Sensibill SDK directly, navigate to a corresponding Releases page:
- for the XCFramework format - sdk-ios/releases
- for the Universal Framework format - sdk-ios-legacy/releases
Locate the release of the version you need, and download the Source code (zip) package.
Using XCFramework:
After you have downloaded the zip, drag Sensibill.xcframework from the zip to your Application Target’s Frameworks, Libraries, and Embedded Content section under the General tab as seen in the below screenshot.
- Ensure that the framework is set to Embed & Sign
- Ensure that Sensibill.xcframework is included in the Embedded Binaries and Linked Frameworks and Libraries section under the Build Phases tab.
Note: If your are updating existing integration from Universal Framework to XCFramework, remove the Run Script Phase from your target’s Build Phases. The script was responsible for executing stripping the unused architectures from Universal Framework, and is no longer required for XCFramework. With XCFramework Xcode will automatically select an appropriate architecture slice for host application, based on target platform.
Using Universal Framework:
Step 1: After you have downloaded the zip, drag Sensibill.framework from the zip to your Application Target’s Frameworks, Libraries, and Embedded Content section under the General tab as seen in the below screenshot.
- Ensure that the framework is set to Embed & Sign
- Ensure that Sensibill.framework is included in the Embedded Binaries and Linked Frameworks and Libraries section under the Build Phases tab.
Step 2: Create a new Run Script Phase in your target’s Build Phases, underneath the Embed Frameworks phase. Input the following command in the text field of the new phase:
bash "$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/Sensibill.framework/strip-unused-architectures.sh"
Step 3: On Xcode 12.3+, update the Validate Workspace setting to Yes to avoid the following compilation error:
Building for the iOS Simulator, but the linked and embedded framework ‘Sensibill.framework’ was built for iOS + iOS Simulator.
or
Building for iOS, but the linked and embedded framework ‘Sensibill.framework’ was built for iOS + iOS Simulator.
Note: When updating from SDK v2021.2.0 or below to v2021.3.0+ and earlier integration was done using Drag and Drop
mechanism then remove value for Support Modules path provided via Swift Import Path build settings under Swift Compiler - Search Paths section.
Info
Before adding Senisbill dependencies to your project, please ensure you’ve added the Sensibill Maven server as a dependency repository in your project build.gradle
file as described on the Get Started > Installation page
Info
For each of the dependencies listed below, please replace X.X.X
with the desired Sensibill SDK version
Sensibill Gradle Dependencies
Once you have access to Sensibill Artifacts, adding the SDK to your project is a matter of adding the correct dependencies to your app
level build.gradle
file.
Please refer to the below reference to determine which Sensibill dependencies to include.
For Full SDK functionality
Just add:
implementation "com.getsensibill:sensibill-sdk-all:X.X.X"
Standalone Capture Only
Just add:
implementation "com.getsensibill:sensibill-capture-standalone:X.X.X"
Headless SDK
Add the below, and see If Using Username Password Authentication if applicable.
implementation "com.getsensibill:sensibill-sdk-core:X.X.X"
Headless SDK + Capture Flow
Add the below, and see If Using Username Password Authentication if applicable.
implementation "com.getsensibill:sensibill-capture-flow:X.X.X"
If Using Username Password Authentication
Add in addition to other modules:
implementation "com.getsensibill:sensibill-auth:X.X.X"
implementation "com.getsensibill:sensibill-oauth-client:X.X.X"
Note: The relase 2022.0.11 of Sensibill SDK uses some of the Java 11 language APIs, and hence requires desugaring. See Java 8+ API desugaring support for more information.
Standalone Capture
Starting with SDK v2021.3.0, Standalone Capture module is included with the SDK. Follow the instructions above to use Standalone Capture module from the SDK.
Info
Before adding Senisbill dependencies to your project, please ensure you’ve added the Sensibill Maven server as a dependency repository in your project build.gradle
file as described on the Get Started > Installation page
Info
For each of the dependencies listed below, please replace X.X.X
with the desired Sensibill SDK version
Standalone Capture Gradle Dependencies
Once you have access to Sensibill Artifacts, adding the Standalone Capture to your project is a matter of adding a single dependency to your app
level build.gradle
file.
Just add:
implementation "com.getsensibill:sensibill-capture-standalone:X.X.X"