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.
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
| Item | Value |
|---|---|
| Language | Swift 5.9 |
| Built with | Xcode 26 |
| Minimum deployment target | iOS 15.6 |
| Maximum supported iOS version | iOS 26 |
| Module name | CheggoutBridge |
| Objective-C | Supported |
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.
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
.xcframeworkor 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 Scriptbuild phase is required for App Store submission. - Whether any third-party dependencies must be linked alongside it.
- Required
Info.plistusage 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
- Swift
- Objective-C
import CheggoutBridge
class ShopViewController: UIViewController {
var cheggoutApp: CheggoutApp!
}
@import CheggoutBridge;
@interface ShopViewController : UIViewController
@end
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:
| Prerequisite | Where it comes from | Why the app cannot do it |
|---|---|---|
virtualId | Your virtual ID service | It must be stable and non-PII, and Cheggout may need to resolve it independently. |
sessionInfo (session ID) | GenerateSessionInfoV2 | It 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:
- Confirm the project compiles with
import CheggoutBridgepresent andCheggoutAppresolving. - Confirm it builds for both the simulator and a real device, or find out from Cheggout that the simulator slice is absent.
- Confirm an archive build succeeds — embedding problems usually surface at archive time, not at debug time.
Next
- Launching the SDK — the initialiser, payload keys and exit handling.
- SDK methods — banners, stores, points and scratch cards.
- Callbacks and notifications — completion handlers and the notification mechanisms.