Skip to main content
Use IDKit for native iOS/macOS integrations backed by the same Rust core as other SDKs.

Requirements

  • iOS 15+ / macOS 12+
  • Xcode 16+

Install

Use Swift Package Manager with the published idkit-swift repository:

Request flow

Presets

Polling API

  • pollStatusOnce() async -> IDKitStatus
  • pollUntilCompletion(options:) async -> IDKitCompletionResult
  • IDKitPollOptions(pollIntervalMs:timeoutMs:)

Invite-code mode

Use presetWithInviteCode(_:) on the builder to return an IDKitInviteCodeRequest instead of IDKitRequest. The polling surface is identical. See Invite-code mode for when to use it.

Migrating from QR / connect-URL

The config object is unchanged. The connectorURL now includes &c=<code>&a=<app_id> params; use it alongside expiresAt in your UI. Polling, proof verification, and nullifier storage stay the same. IDKitInviteCodeRequest exposes:
  • connectorURL: URL
  • expiresAt: Date
  • requestID: String
  • pollStatusOnce() async -> IDKitStatus
  • pollUntilCompletion(options:) async -> IDKitCompletionResult