//
// RealtimeTestApp.swift
// RealtimeTest
//
// Created by Flo on 28.10.25.
//
import SwiftUI
import SwiftData
import Combine
import Supabase
@main
struct RealtimeTestApp: App {
@State private var appManager = AppManager()
var body: some Scene {
WindowGroup {
Text("Hello World")
}
}
}
final class AppManager: ObservableObject {
var supabase:SupabaseClient
init() {
supabase = SupabaseClient(
supabaseURL: URL(string: "myUrl")!,
supabaseKey: "myKey"
)
startRealtime()
}
func startRealtime() {
Task {
let myChannel = await supabase.channel("myChannel")
let broadcastStream = await myChannel.broadcast(event: "myEvent")
Task {
for await status in myChannel.statusChange {
print("channel status changed: \(status)")
}
}
await myChannel.subscribe()
for await event in broadcastStream {
print(event)
}
}
}
}
//
// RealtimeTestApp.swift
// RealtimeTest
//
// Created by Flo on 28.10.25.
//
import SwiftUI
import SwiftData
import Combine
import Supabase
@main
struct RealtimeTestApp: App {
@State private var appManager = AppManager()
var body: some Scene {
WindowGroup {
Text("Hello World")
}
}
}
final class AppManager: ObservableObject {
var supabase:SupabaseClient
init() {
supabase = SupabaseClient(
supabaseURL: URL(string: "myUrl")!,
supabaseKey: "myKey"
)
startRealtime()
}
func startRealtime() {
Task {
let myChannel = await supabase.channel("myChannel")
let broadcastStream = await myChannel.broadcast(event: "myEvent")
Task {
for await status in myChannel.statusChange {
print("channel status changed: \(status)")
}
}
await myChannel.subscribe()
for await event in broadcastStream {
print(event)
}
}
}
}