Installation
Install the Swift SDK with Swift Package Manager, then initialize it with your UserJot project ID during app startup.
Requirements
Before installing, make sure your app meets these minimum requirements:
- iOS 15.0+ or macOS 12.0+
- Swift 6.1+
- Xcode 16.3+
Install with Swift Package Manager
In Xcode
- Open your project in Xcode.
- Go to File → Add Package Dependencies.
- Enter this package URL:
https://github.com/UserJot/userjot-ios- Add the package to your app target.
In Package.swift
If you manage dependencies in Package.swift, add UserJot to your package
dependencies:
dependencies: [
.package(url: "https://github.com/UserJot/userjot-ios", from: "0.3.0")
]Verify the package is available
After installation, confirm the SDK imports correctly:
import UserJotIf the project builds, the package is installed correctly.
Find your project ID
You need your UserJot project ID before calling setup(...).
In your UserJot dashboard, open Settings → Login and copy Project ID from the Secrets section. Keep it available to your app startup code.
Initialize the SDK
Call UserJot.setup(projectId:) once when the app starts:
import UserJot
UserJot.setup(projectId: "YOUR_PROJECT_ID")SwiftUI example
import SwiftUI
import UserJot
@main
struct MyApp: App {
init() {
UserJot.setup(projectId: "YOUR_PROJECT_ID")
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}UIKit example
import UIKit
import UserJot
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
) -> Bool {
UserJot.setup(projectId: "YOUR_PROJECT_ID")
return true
}
}Verify the integration
setup returns immediately and fetches the public URL in the background. There
is no async result and no readiness callback. Calling showFeedback() on the
same tick as setup can show nothing, because that URL is still nil.
Present from a later user action instead:
Button("Send Feedback") {
UserJot.showFeedback()
}If the view opens, the SDK is installed and initialized. UserJot.feedbackURL()
stays nil until the background fetch finishes.
macOS note
For sandboxed macOS apps, enable outbound network access in your entitlements:
<key>com.apple.security.network.client</key>
<true/>Without that entitlement, the SDK will not be able to load remote content.