Skip to content

Installation

Joseph Samir edited this page Jun 21, 2026 · 3 revisions

Installation

The Convert iOS SDK is published on GitHub and distributed via Swift Package Manager (primary) and CocoaPods. It has no third-party dependencies — only Foundation, the Security framework (Keychain), and URLSession.

Swift Package Manager (primary)

Xcode

  1. In Xcode, choose File ▸ Add Package Dependencies…
  2. Enter the package URL: https://github.com/convertcom/ios-sdk.git
  3. Select Up To Next Major Version starting from 1.0.0.
  4. Add the ConvertSwiftSDK product to your app target (do not add ConvertSwiftSDKCore directly — it is pulled in transitively).

Package.swift

Add the package to your dependencies array and list ConvertSwiftSDK in your target's dependencies:

// Package.swift
dependencies: [
    .package(url: "https://github.com/convertcom/ios-sdk.git", from: "1.0.0")
],
targets: [
    .target(
        name: "MyApp",
        dependencies: [
            .product(name: "ConvertSwiftSDK", package: "ios-sdk")
        ]
    )
]

Pin a specific version in production so your builds are reproducible; the from: lower-bound resolves to the latest compatible release unless you add an explicit upper bound.

CocoaPods

Add the pod to your Podfile:

pod 'ConvertSwiftSDK', '~> 1.0'

Then run:

pod install

Open the generated .xcworkspace (not .xcodeproj) after install. ConvertSwiftSDK pulls ConvertSwiftSDKCore transitively — you only name ConvertSwiftSDK in your Podfile.

Toolchain requirements

Toolchain Minimum
Swift 6.0
Xcode 16 or later (ships Swift 6.0 toolchain)
iOS (runtime) 15.0
macOS (runtime) 12.0
tvOS (runtime) 15.0
iPadOS 15.0 (rides the iOS target)

The SDK targets Swift language mode 6.0 with strict concurrency enabled. There is no watchOS support.

No ProGuard / R8 equivalent

Swift Package Manager and CocoaPods distribute source-compatible Swift packages. There are no ProGuard or consumer-rules concerns — the Swift compiler handles optimization and dead-code stripping. No keep rules or obfuscation configuration is needed.

Privacy Manifest

The SDK ships an Apple Privacy Manifest (PrivacyInfo.xcprivacy) inside the ConvertSwiftSDK target's resources. When you include ConvertSwiftSDK, the privacy manifest is bundled automatically — you do not need to copy any entries into your own manifest for the SDK's declared API usage.

See Apple Privacy Manifest for the full declared-use details.

No special permissions

The SDK requires no NSUsageDescription entries and requests no runtime permissions. It does not access the IDFA (ASIdentifierManager), location, camera, or any other permission-gated API. Network access is handled through standard URLSession calls.

Verifying the integration

After adding the dependency and initializing the SDK (see Initialization), set logLevel: .debug in ConvertConfiguration and watch the Xcode console or the unified log stream:

let sdk = ConvertSwiftSDK(configuration: ConvertConfiguration(
    sdkKey: "your-sdk-key",
    logLevel: .debug
))
try await sdk.ready()

A successful integration logs the config fetch and resolves ready() without throwing. See Troubleshooting if runExperience keeps returning nil.

Next steps

Clone this wiki locally