Skip to main content
Skip table of contents

iOS SDK Version 1.0.0

Use this page to install ZetaKit for iOS version 1.0.0, import the required modules, and complete mobile app registration with ZMP. Swift Package Manager is the recommended integration method for new projects.

Requirements

Tool

Minimum supported version

iOS / iPadOS

13.0

Swift

5.10 (Swift 6 compatible)

Xcode

15.3

Install via Swift Package Manager

Recommended for new projects.

  1. Open your project in Xcode.

  2. Select your project in the Project navigator.

  3. Select your app target, then open the Package Dependencies tab.

  4. Click Add (+).

  5. Enter the package URL:

HTTP
https://gitlab.com/zeta-crm/zetakit-swift
  1. Select a version rule. Up to Next Major Version is recommended.

  2. Click Add Package.

Select SDK products

Product

Required?

Add to

ZetaCore

Required

App target

ZetaNotificationService

Optional

Notification Service Extension target only

Select the required products and click Add Package to complete installation.

Notes

  • SDK versions follow Semantic Versioning. Pin versions only if required for stability.

  • Each SDK module is independently buildable, allowing minimal integration.

  • Add ZetaNotificationService only to your Notification Service Extension target, never to the main app target.

For more on dependency management, see Apple's Swift Package Manager documentation.

Install via CocoaPods

Important

CocoaPods is no longer under active development. See the CocoaPods Specs Repo blog post for current status. The Zeta iOS SDK will continue to support existing CocoaPods integrations for as long as possible, but new projects should use Swift Package Manager.

Steps

  1. Install CocoaPods if needed:

BASH
gem install cocoapods
  1. Navigate to your project directory in Terminal.

  2. Create a Podfile if one does not exist:

BASH
pod init
  1. Open your Podfile and add the ZetaKit pods:

RUBY
target 'YourAppTarget' do
  pod 'ZetaCore'
end

# Required for rich push notifications
# Add only to the Notification Service Extension target (not the app target)
target 'YourNotificationServiceExtensionTarget' do
  pod 'ZetaNotificationService'
end
  1. Install dependencies:

BASH
pod install
  1. Open the .xcworkspace file generated by CocoaPods.

Notes

  • Do not add ZetaNotificationService to the main app target.

  • CocoaPods releases follow the same semantic versioning as Swift Package Manager.

  • CocoaPods support may be deprecated in a future major release.

Install via prebuilt XCFramework

Use binary distribution for faster CI builds or restricted environments.

Download

Prebuilt XCFrameworks are available from the public repository:

HTTP
https://gitlab.com/zeta-crm/zetakit-swift

Download the required XCFrameworks:

  • ZetaCore.xcframework

  • ZetaNotificationService.xcframework (extension only)

Add XCFrameworks to Xcode

  1. Open your Xcode project.

  2. Select your app target.

  3. Go to General → Frameworks, Libraries, and Embedded Content.

  4. Click + and add ZetaCore.xcframework.

  5. Set Embed & Sign.

For Notification Service Extensions:

  • Add ZetaNotificationService.xcframework only to the extension target.

Import modules

Import the SDK modules where needed. Import names match the product names.

Main app

SWIFT
import ZetaCore

Notification Service Extension

SWIFT
import ZetaNotificationService

Mobile app registration

Follow the Mobile App Registration guide to register your app with ZMP.

Registration produces the clientSiteId and clientSecret values that you pass to ZTConfig during initialization.

During registration, you will need your app's Bundle ID, which is set in Xcode under General > Bundle Identifier.

Important

SDK API tokens have write-only access and are restricted to updating profiles, tracking events, and logging errors. Refresh tokens are scoped to mobile-specific APIs and cannot access broader platform functionality.

Next

Getting Started — initialize the SDK with your clientSiteId and clientSecret.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.