Skip to main content

iOS SDK installation

The Cheggout iOS SDK is distributed as a framework called CheggoutBridge. Once it is linked and imported, you create a CheggoutApp instance to present the shopping module, and call its methods for banners, stores, points and scratch cards.

You get the framework from Cheggout

The iOS SDK is not published to CocoaPods, Swift Package Manager or Carthage. Cheggout supplies the framework directly during onboarding, together with your channelName. If you do not have it, start with Onboarding.

Requirements

ItemValue
LanguageSwift 5.9
Built withXcode 26
Minimum deployment targetiOS 15.6
Maximum supported iOS versioniOS 26
Module nameCheggoutBridge
Objective-CSupported

A minimum of iOS 15.6 excludes iOS 14 and earlier. If your app supports older versions, gate your Cheggout entry point behind an availability check rather than trying to lower the SDK's floor.

Confirm these against your delivered build

TBD The values above are the documented requirements for the SDK version described in the integration document. The exact requirements of the build you are given should be confirmed for your release — Swift version, Xcode version and the supported iOS range all move between SDK releases. Ask Cheggout to state them explicitly when the framework is handed over, and record them in your own release notes.

Distribution and linking

Cheggout provides the CheggoutBridge framework as part of onboarding.

TBD The precise artifact format and linking instructions are not documented. Specifically unconfirmed:

  • Whether the artifact is an .xcframework or a .framework, and whether it is a static or dynamic library.
  • Whether it needs to be added under Embed & Sign or Do Not Embed in your target's Frameworks, Libraries, and Embedded Content section.
  • Whether the simulator slice is included, which determines whether you can run on a simulator or only on device.
  • Whether a bitcode-stripping or Run Script build phase is required for App Store submission.
  • Whether any third-party dependencies must be linked alongside it.
  • Required Info.plist usage descriptions, if the SDK accesses location, camera or photo library.

Ask Cheggout for the linking instructions and a sample Xcode project with the framework. Until those are published, the answers you get at onboarding are authoritative over anything written here. This gap is tracked in Open items.

Importing

import CheggoutBridge

class ShopViewController: UIViewController {
var cheggoutApp: CheggoutApp!
}

Objective-C is a first-class path, not an afterthought: the SDK exposes an initWithUserID:sessionInfo:accessInfo:payload:exitHandler: initialiser and block-based completion handlers, so a mixed or fully Objective-C codebase can integrate without a Swift bridging layer of its own. See Launching for both forms side by side.

What has to exist before you write launch code

The SDK cannot authenticate a user by itself. Two things must come from your backend:

PrerequisiteWhere it comes fromWhy the app cannot do it
virtualIdYour virtual ID serviceIt must be stable and non-PII, and Cheggout may need to resolve it independently.
sessionInfo (session ID)GenerateSessionInfoV2It requires a signed envelope, which requires your RSA private key. A private key must never ship in an app binary.

Your channel also needs its public key exchanged with Cheggout and your server IPs whitelisted, because the session ID is verified against your backend. All of this is onboarding work, and it is usually the long pole.

Verify the install

Before building any UI:

  1. Confirm the project compiles with import CheggoutBridge present and CheggoutApp resolving.
  2. Confirm it builds for both the simulator and a real device, or find out from Cheggout that the simulator slice is absent.
  3. Confirm an archive build succeeds — embedding problems usually surface at archive time, not at debug time.

Next