48 lines
963 B
Swift
48 lines
963 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() {
|
|
do {
|
|
let session = AVAudioSession.sharedInstance()
|
|
try session.setCategory(.playback, mode: .default, options: [])
|
|
try session.setActive(true)
|
|
} catch {
|
|
// non-fatal
|
|
}
|
|
}
|
|
#endif
|
|
}
|