The InsForge Swift SDK provides a native Swift client for interacting with InsForge services from iOS, macOS, tvOS, and watchOS applications.
Installation
Swift Package Manager
Add InsForge to your Swift Package Manager dependencies:
dependencies: [
.package(url: "https://github.com/insforge/insforge-swift.git", from: "0.0.7")
]
import InsForge
let insforge = InsForgeClient(
baseURL: URL(string: "https://your-app.insforge.app")!,
anonKey: "your-anon-key"
)
Enable Logging (Optional)
For debugging, you can configure the SDK log level and destination:
let options = InsForgeClientOptions(
global: .init(
logLevel: .debug,
logDestination: .osLog,
logSubsystem: "com.example.MyApp"
)
)
let insforge = InsForgeClient(
baseURL: URL(string: "https://your-app.insforge.app")!,
anonKey: "your-anon-key",
options: options
)
Log Levels:
| Level | Description |
|---|
.trace | Most verbose, includes all internal details |
.debug | Detailed information for debugging |
.info | General operational information (default) |
.warning | Warnings that don’t prevent operation |
.error | Errors that affect functionality |
.critical | Critical failures |
Log Destinations:
| Destination | Description |
|---|
.console | Standard output (print) |
.osLog | Apple’s unified logging system (recommended for iOS/macOS) |
.none | Disable logging |
.custom | Provide your own LogHandler factory |
Use .info or .error in production to avoid exposing sensitive data in logs.
Or add it via Xcode:
- File → Add Packages…
- Enter:
https://github.com/insforge/insforge-swift.git
CocoaPods(coming soon)
Quick Start
import InsForge
let insforge = InsForgeClient(
baseUrl: "https://your-app.insforge.app",
anonKey: "your-anon-key"
)
Features
- Database - Type-safe CRUD operations with Codable support
- Authentication - Email/password and OAuth authentication
- Storage - File upload, download, and management
- AI - Chat completions and image generation
- Realtime - WebSocket-based pub/sub messaging
- SwiftUI Integration - Property wrappers and environment values
| Platform | Minimum Version |
|---|
| iOS | 15.0+ |
| macOS | 12.0+ |
| tvOS | 15.0+ |
| watchOS | 8.0+ |
SDK Reference