iOS SDK installation
The Relavoi iOS SDK is distributed as a Swift package with no external dependencies. It uses URLSession, CryptoKit, and CallKit — all first-party Apple frameworks.
Requirements
- Platforms: iOS 15.0+
- Swift: 5.9+
- Xcode: 15.0+
- Live Activities (optional): iOS 16.1+ (see Live Activities)
Add via Swift Package Manager
In Xcode: File -> Add Package Dependencies, then paste:
https://github.com/relavoi/relavoi-ios-sdk
Select the latest version (use Up to Next Major from 0.1.0).
Or, if you maintain a Package.swift:
let package = Package(
name: "MyApp",
platforms: [.iOS(.v15)],
dependencies: [
.package(url: "https://github.com/relavoi/relavoi-ios-sdk", from: "0.1.0"),
],
targets: [
.target(
name: "MyApp",
dependencies: [
.product(name: "RelavoiSDK", package: "relavoi-ios-sdk"),
]
),
]
)
Import
import RelavoiSDK
That is the entire surface — no transitive imports required. The SPM product and module are both named RelavoiSDK.
Capabilities checklist
Open your target's Signing & Capabilities tab and confirm:
- Push Notifications capability is enabled (required if you use push)
- Background Modes -> "Remote notifications" (optional, for high-priority push)
The SDK persists its short-lived JWT in the device-local Keychain automatically. No Keychain Sharing capability is required (see Initialization).
Info.plist entries
The SDK uses no permission-protected APIs by default. CXCallObserver does not require a permission prompt. If you opt into Live Activities, add:
<key>NSSupportsLiveActivities</key>
<true/>
Verify
Confirm the module resolves by constructing a default config — this compiles only when the package is linked correctly:
import RelavoiSDK
let config = RelavoiConfig()
print("Relavoi base URL: \(config.baseURL)")
You should see Relavoi base URL: https://api.relavoi.com/v1 in the Xcode console. Continue with Initialization.