Swift SDK
The Swift SDK provides typed access to Reactor capabilities for iOS, macOS, and server-side Swift applications.
Installation
Section titled “Installation”Add the package to your Package.swift:
dependencies: [ .package(url: "https://github.com/reactor-cloud/reactor-cloud", from: "0.1.0"),],targets: [ .target(name: "MyApp", dependencies: [ .product(name: "ReactorClient", package: "reactor-cloud"), .product(name: "ReactorAuth", package: "reactor-cloud"), .product(name: "ReactorData", package: "reactor-cloud"), ]),]Or in Xcode: File → Add Package Dependencies and enter the repository URL.
Creating a client
Section titled “Creating a client”import ReactorClient
let reactor = ReactorClient( url: URL(string: "https://api.reactor.cloud")!, token: ProcessInfo.processInfo.environment["REACTOR_TOKEN"])import ReactorAuth
let auth = ReactorAuth(client: reactor)
// Sign inlet session = try await auth.signIn( email: "user@example.com", password: "secure-password")
// Get current userlet user = try await auth.getUser()import ReactorData
let data = ReactorData(client: reactor)
// Fetch postslet posts: [Post] = try await data .from("posts") .select() .eq("published", value: true) .order("created_at", ascending: false) .limit(20) .execute()
// Insertlet newPost: Post = try await data .from("posts") .insert(PostInsert(title: "Hello", body: "World")) .select() .single() .execute()Storage
Section titled “Storage”import ReactorStorage
let storage = ReactorStorage(client: reactor)
// Uploadtry await storage .from("avatars") .upload(path: "user-123.png", data: imageData)
// Downloadlet data = try await storage .from("avatars") .download(path: "user-123.png")Functions
Section titled “Functions”import ReactorFunctions
let functions = ReactorFunctions(client: reactor)
struct OrderPayload: Codable { let orderId: String}
let result = try await functions.invoke( "process-order", body: OrderPayload(orderId: "123"))OpenAPI code generation
Section titled “OpenAPI code generation”The Swift SDK includes OpenAPI-generated types. Regenerate from the spec:
cd reactor-cloud/sdks/swift./scripts/generate-openapi.shSource
Section titled “Source”Swift SDK source: reactor-cloud/sdks/swift/