44 lines
990 B
Swift
44 lines
990 B
Swift
import SwiftUI
|
|
#if os(iOS)
|
|
import AVFAudio
|
|
#endif
|
|
|
|
@main
|
|
struct Audiobookshelf_swiftApp: App {
|
|
@State private var appState = AppState()
|
|
|
|
init() {
|
|
#if os(iOS)
|
|
configureAudioSession()
|
|
#endif
|
|
}
|
|
|
|
var body: some Scene {
|
|
#if os(macOS)
|
|
WindowGroup {
|
|
ContentView()
|
|
.environment(appState)
|
|
}
|
|
.windowResizability(.contentSize)
|
|
|
|
Settings {
|
|
SettingsView()
|
|
.environment(appState)
|
|
}
|
|
#else
|
|
WindowGroup {
|
|
ContentView()
|
|
.environment(appState)
|
|
}
|
|
#endif
|
|
}
|
|
|
|
#if os(iOS)
|
|
private func configureAudioSession() {
|
|
// Nur die Kategorie registrieren — setActive(true) passiert erst in play(),
|
|
// damit beim App-Start keine laufende Fremd-Wiedergabe unterbrochen wird.
|
|
try? AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [])
|
|
}
|
|
#endif
|
|
}
|