The Swift Package Index logo.Swift Package Index

Build Information

Failed to build VisionKeyboardKit, reference main (0804e4), with Swift 6.2 for macOS (SPM) on 20 Jun 2025 18:18:14 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
   |                                |- warning: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
   |                                `- note: add 'if #available' version check
38 |             Text(isShifted ? shift ?? key : key)
39 |         }.buttonStyle(.keyboardButton(isDark: isDark, isToggled: isToggled, fontSize: width > 50 && key.count > 1 ? 20 : key.count > 1 ? 16 : 24, width: width, height: height, clickSound: clickSound, onTouchDown: {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:39:11: error: 'buttonStyle' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
38 |             Text(isShifted ? shift ?? key : key)
39 |         }.buttonStyle(.keyboardButton(isDark: isDark, isToggled: isToggled, fontSize: width > 50 && key.count > 1 ? 20 : key.count > 1 ? 16 : 24, width: width, height: height, clickSound: clickSound, onTouchDown: {
   |           |- error: 'buttonStyle' is only available in macOS 10.15 or newer
   |           `- note: add 'if #available' version check
40 |             state.keyDown(code)
41 |         }, onTouchUp: {
[10/16] Compiling VisionKeyboardKit KeyboardKeyView.swift
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:19:2: error: 'Observable()' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
20 | class KeyboardState {
21 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:30:6: error: 'init(_:)' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
28 |     var action: () -> Void = {}
29 |
30 |     @Environment(KeyboardState.self) private var state
   |      `- error: 'init(_:)' is only available in macOS 14.0 or newer
31 |
32 |     private var isShifted: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:30:6: error: 'Environment' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
28 |     var action: () -> Void = {}
29 |
30 |     @Environment(KeyboardState.self) private var state
   |      `- error: 'Environment' is only available in macOS 10.15 or newer
31 |
32 |     private var isShifted: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:36:20: error: 'View' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
38 |             Text(isShifted ? shift ?? key : key)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:56:6: error: 'init(_:)' is only available in macOS 14.0 or newer
45 | }
46 |
47 | struct KeyboardToggleKeyView: View {
   |        `- note: add @available attribute to enclosing struct
48 |     let key: String
49 |     let code: KeyboardKeyCode
   :
54 |     var isDark: Bool = false
55 |
56 |     @Environment(KeyboardState.self) private var state
   |      `- error: 'init(_:)' is only available in macOS 14.0 or newer
57 |
58 |     private var isOn: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:56:6: error: 'Environment' is only available in macOS 10.15 or newer
45 | }
46 |
47 | struct KeyboardToggleKeyView: View {
   |        `- note: add @available attribute to enclosing struct
48 |     let key: String
49 |     let code: KeyboardKeyCode
   :
54 |     var isDark: Bool = false
55 |
56 |     @Environment(KeyboardState.self) private var state
   |      `- error: 'Environment' is only available in macOS 10.15 or newer
57 |
58 |     private var isOn: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:66:20: error: 'View' is only available in macOS 10.15 or newer
45 | }
46 |
47 | struct KeyboardToggleKeyView: View {
   |        `- note: add @available attribute to enclosing struct
48 |     let key: String
49 |     let code: KeyboardKeyCode
   :
64 |     }
65 |
66 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
67 |         KeyboardKeyView(key: key, code: code, width: width, height: height, isDark: isDark, isToggled: isOn, clickSound: .modifier) {
68 |             if isOn {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:83:2: error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
81 | }
82 |
83 | #Preview {
   |  `- error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
84 |     VStack {
85 |         KeyboardKeyView(key: "a", code: .keyA)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:84:5: error: 'VStack' is only available in macOS 10.15 or newer
82 |
83 | #Preview {
84 |     VStack {
   |     |- error: 'VStack' is only available in macOS 10.15 or newer
   |     `- note: add 'if #available' version check
85 |         KeyboardKeyView(key: "a", code: .keyA)
86 |         KeyboardKeyView(key: "a", code: .keyA, isDark: true)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardLayoutANSI.swift:112:2: error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
110 | }
111 |
112 | #Preview {
    |  `- error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
113 |     KeyboardLayoutANSI()
114 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardLayoutTenkeys.swift:86:2: error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
84 | }
85 |
86 | #Preview {
   |  `- error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
87 |     KeyboardLayoutTenKeys()
88 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardView.swift:51:2: error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
49 | }
50 |
51 | #Preview {
   |  `- error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
52 |     KeyboardView(for: .global)
53 | }
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:26:5: note: expanded code originates here
17 | import SwiftUI
18 |
19 | @Observable
   | `- note: in expansion of macro 'Observable' on property 'modifier' here
20 | class KeyboardState {
   |       `- note: add @available attribute to enclosing class
21 |     private let id: KeyboardIdentifier
22 |     private let subject: KeyboardEventSubject
   :
24 |     let clicker = KeyboardClickSound()
25 |
26 |     var modifier: KeyboardModifier = .none
   +--- macro expansion @Observable ------------------------------------
   |1 | @ObservationTracked
   |  |  `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
   +--------------------------------------------------------------------
27 |
28 |     init(for id: KeyboardIdentifier) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:19:2: error: 'Observable()' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
20 | class KeyboardState {
   |       `- note: add @available attribute to enclosing class
21 |     private let id: KeyboardIdentifier
22 |     private let subject: KeyboardEventSubject
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:37:9: error: 'Button' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
   |         |- error: 'Button' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
38 |             Text(isShifted ? shift ?? key : key)
39 |         }.buttonStyle(.keyboardButton(isDark: isDark, isToggled: isToggled, fontSize: width > 50 && key.count > 1 ? 20 : key.count > 1 ? 16 : 24, width: width, height: height, clickSound: clickSound, onTouchDown: {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:37:9: warning: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
   |         |- warning: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
   |         `- note: add 'if #available' version check
38 |             Text(isShifted ? shift ?? key : key)
39 |         }.buttonStyle(.keyboardButton(isDark: isDark, isToggled: isToggled, fontSize: width > 50 && key.count > 1 ? 20 : key.count > 1 ? 16 : 24, width: width, height: height, clickSound: clickSound, onTouchDown: {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:38:13: warning: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
38 |             Text(isShifted ? shift ?? key : key)
   |             |- warning: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
   |             `- note: add 'if #available' version check
39 |         }.buttonStyle(.keyboardButton(isDark: isDark, isToggled: isToggled, fontSize: width > 50 && key.count > 1 ? 20 : key.count > 1 ? 16 : 24, width: width, height: height, clickSound: clickSound, onTouchDown: {
40 |             state.keyDown(code)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:38:13: error: 'Text' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
38 |             Text(isShifted ? shift ?? key : key)
   |             |- error: 'Text' is only available in macOS 10.15 or newer
   |             `- note: add 'if #available' version check
39 |         }.buttonStyle(.keyboardButton(isDark: isDark, isToggled: isToggled, fontSize: width > 50 && key.count > 1 ? 20 : key.count > 1 ? 16 : 24, width: width, height: height, clickSound: clickSound, onTouchDown: {
40 |             state.keyDown(code)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:37:32: warning: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
   |                                |- warning: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
   |                                `- note: add 'if #available' version check
38 |             Text(isShifted ? shift ?? key : key)
39 |         }.buttonStyle(.keyboardButton(isDark: isDark, isToggled: isToggled, fontSize: width > 50 && key.count > 1 ? 20 : key.count > 1 ? 16 : 24, width: width, height: height, clickSound: clickSound, onTouchDown: {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:39:11: error: 'buttonStyle' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
38 |             Text(isShifted ? shift ?? key : key)
39 |         }.buttonStyle(.keyboardButton(isDark: isDark, isToggled: isToggled, fontSize: width > 50 && key.count > 1 ? 20 : key.count > 1 ? 16 : 24, width: width, height: height, clickSound: clickSound, onTouchDown: {
   |           |- error: 'buttonStyle' is only available in macOS 10.15 or newer
   |           `- note: add 'if #available' version check
40 |             state.keyDown(code)
41 |         }, onTouchUp: {
[11/16] Compiling VisionKeyboardKit KeyboardWindowGroup.swift
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:25:27: error: 'Scene' is only available in macOS 11.0 or newer
20 | ///
21 | /// Use `OpenWindowAction.callAsFunction(keyboardFor:)` to show the keyboard.
22 | public struct KeyboardWindowGroup: Scene {
   |               `- note: add @available attribute to enclosing struct
23 |     public init(){}
24 |
25 |     public var body: some Scene {
   |                |          `- error: 'Scene' is only available in macOS 11.0 or newer
   |                `- note: add @available attribute to enclosing property
26 |         WindowGroup(for: KeyboardIdentifier.self) { $id in
27 |             KeyboardView(for: id ?? .global)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:33:18: error: 'OpenWindowAction' is only available in macOS 13.0 or newer
31 | }
32 |
33 | public extension OpenWindowAction {
   |        |         `- error: 'OpenWindowAction' is only available in macOS 13.0 or newer
   |        `- note: add @available attribute to enclosing extension
34 |     /// Opens a keyboard window
35 |     /// - Parameter id: Any `Hashable` object that uniquely identifies this keyboard instance.
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:47:18: error: 'DismissWindowAction' is only available in macOS 14.0 or newer
45 | }
46 |
47 | public extension DismissWindowAction {
   |        |         `- error: 'DismissWindowAction' is only available in macOS 14.0 or newer
   |        `- note: add @available attribute to enclosing extension
48 |     /// Closes a keyboard window
49 |     /// - Parameter id: Any `Hashable` object that uniquely identifies this keyboard instance.
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:26:9: error: 'WindowGroup' is only available in macOS 11.0 or newer
20 | ///
21 | /// Use `OpenWindowAction.callAsFunction(keyboardFor:)` to show the keyboard.
22 | public struct KeyboardWindowGroup: Scene {
   |               `- note: add @available attribute to enclosing struct
23 |     public init(){}
24 |
25 |     public var body: some Scene {
   |                `- note: add @available attribute to enclosing property
26 |         WindowGroup(for: KeyboardIdentifier.self) { $id in
   |         |- error: 'WindowGroup' is only available in macOS 11.0 or newer
   |         `- note: add 'if #available' version check
27 |             KeyboardView(for: id ?? .global)
28 |         }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:26:9: error: 'init(for:content:)' is only available in macOS 13.0 or newer
20 | ///
21 | /// Use `OpenWindowAction.callAsFunction(keyboardFor:)` to show the keyboard.
22 | public struct KeyboardWindowGroup: Scene {
   |               `- note: add @available attribute to enclosing struct
23 |     public init(){}
24 |
25 |     public var body: some Scene {
   |                `- note: add @available attribute to enclosing property
26 |         WindowGroup(for: KeyboardIdentifier.self) { $id in
   |         |- error: 'init(for:content:)' is only available in macOS 13.0 or newer
   |         `- note: add 'if #available' version check
27 |             KeyboardView(for: id ?? .global)
28 |         }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:29:10: error: 'windowResizability' is only available in macOS 13.0 or newer
20 | ///
21 | /// Use `OpenWindowAction.callAsFunction(keyboardFor:)` to show the keyboard.
22 | public struct KeyboardWindowGroup: Scene {
   |               `- note: add @available attribute to enclosing struct
23 |     public init(){}
24 |
25 |     public var body: some Scene {
   |                `- note: add @available attribute to enclosing property
26 |         WindowGroup(for: KeyboardIdentifier.self) { $id in
27 |             KeyboardView(for: id ?? .global)
28 |         }
29 |         .windowResizability(.contentSize)
   |          |- error: 'windowResizability' is only available in macOS 13.0 or newer
   |          `- note: add 'if #available' version check
30 |     }
31 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[12/16] Emitting module VisionKeyboardKit
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:20:28: error: 'Duration' is only available in macOS 13.0 or newer
 18 | import RealityKit
 19 |
 20 | private let kDebounceTime: Duration = .milliseconds(25)
    |             |              `- error: 'Duration' is only available in macOS 13.0 or newer
    |             `- note: add @available attribute to enclosing let
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:20:40: error: 'milliseconds' is only available in macOS 13.0 or newer
 18 | import RealityKit
 19 |
 20 | private let kDebounceTime: Duration = .milliseconds(25)
    |             |                          `- error: 'milliseconds' is only available in macOS 13.0 or newer
    |             `- note: add @available attribute to enclosing let
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:19:2: error: 'Observable()' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
20 | class KeyboardState {
21 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:34:6: error: 'init(_:)' is only available in macOS 14.0 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
    |      `- error: 'init(_:)' is only available in macOS 14.0 or newer
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:32:6: error: 'State' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 30 |     let onTouchUp: () -> Void
 31 |
 32 |     @State private var isPressed: Bool = false
    |      `- error: 'State' is only available in macOS 10.15 or newer
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:33:38: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 31 |
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
    |                                      `- error: 'Task' is only available in macOS 10.15 or newer
 34 |     @Environment(KeyboardState.self) private var state
 35 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:33:6: error: 'State' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 31 |
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
    |      `- error: 'State' is only available in macOS 10.15 or newer
 34 |     @Environment(KeyboardState.self) private var state
 35 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:34:6: error: 'Environment' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
    |      `- error: 'Environment' is only available in macOS 10.15 or newer
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:36:71: error: 'Gesture' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  |                                                    `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:79:57: error: 'View' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 77 |     }
 78 |
 79 |     func makeBody(configuration: Configuration) -> some View {
    |          |                                              `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
 80 |         ZStack {
 81 |             if isPressed {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:126:11: error: 'PrimitiveButtonStyle' is only available in macOS 10.15 or newer
124 | }
125 |
126 | extension PrimitiveButtonStyle where Self == KeyboardButtonStyle {
    | |         `- error: 'PrimitiveButtonStyle' is only available in macOS 10.15 or newer
    | `- note: add @available attribute to enclosing extension
127 |     static func keyboardButton(isDark: Bool = false, isToggled: Bool = false, fontSize: CGFloat = 24, width: CGFloat = 50, height: CGFloat = 50, clickSound: KeyboardClickSound.File = .normal, onTouchDown: @escaping () -> Void = {}, onTouchUp: @escaping () -> Void = {}) -> KeyboardButtonStyle {
128 |         KeyboardButtonStyle(isDark: isDark, isToggled: isToggled, fontSize: fontSize, width: width, height: height, clickSound: clickSound, onTouchDown: onTouchDown, onTouchUp: onTouchUp)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:29:18: error: 'Entity' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 27 |
 28 |     /// The RK entity where the sound will originate
 29 |     let entity = Entity()
    |                  `- error: 'Entity' is only available in macOS 10.15 or newer
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:31:36: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 29 |     let entity = Entity()
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
    |                                    `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 32 |     private var pressDeletePlayer: AudioPlaybackController?
 33 |     private var pressModifierPlayer: AudioPlaybackController?
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:32:36: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
 32 |     private var pressDeletePlayer: AudioPlaybackController?
    |                                    `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:33:38: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 31 |     private var pressNormalPlayer: AudioPlaybackController?
 32 |     private var pressDeletePlayer: AudioPlaybackController?
 33 |     private var pressModifierPlayer: AudioPlaybackController?
    |                                      `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:35:53: error: 'AudioFileResource' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
    |                  |                                  `- error: 'AudioFileResource' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
 36 |         let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
 37 |         return try? .load(contentsOf: url, configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:61:24: error: 'appending(components:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 59 |         let fm = FileManager.default
 60 |         let library = fm.urls(for: .libraryDirectory, in: .systemDomainMask)[0]
 61 |         return library.appending(components: "Audio", "UISounds")
    |                        |- error: 'appending(components:directoryHint:)' is only available in macOS 13.0 or newer
    |                        `- note: add 'if #available' version check
 62 |     }()
 63 |     #endif
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:107:33: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  |              `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:38:65: error: 'AnyPublisher' is only available in macOS 10.15 or newer
 19 |
 20 | /// Events posted by the keyboard
 21 | public enum KeyboardEvent {
    |             `- note: add @available attribute to enclosing enum
 22 |     /// Sent from the keyboard view's `onAppear()`
 23 |     case keyboardDidAppear
    :
 36 |     /// - Parameter id: A `KeyboardIdentifier` that uniquely identifies this keyboard instance.
 37 |     /// - Returns: A `Publisher` that emits events from the keyboard.
 38 |     public static func publisher(for id: KeyboardIdentifier) -> AnyPublisher<KeyboardEvent, Never> {
    |                        |                                        `- error: 'AnyPublisher' is only available in macOS 10.15 or newer
    |                        `- note: add @available attribute to enclosing static method
 39 |         KeyboardEventSubject.for(id).eraseToAnyPublisher()
 40 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:45:61: error: 'AnyPublisher' is only available in macOS 10.15 or newer
 19 |
 20 | /// Events posted by the keyboard
 21 | public enum KeyboardEvent {
    |             `- note: add @available attribute to enclosing enum
 22 |     /// Sent from the keyboard view's `onAppear()`
 23 |     case keyboardDidAppear
    :
 43 |     /// - Parameter id: Unique identifier for the keyboard to handle events from.
 44 |     /// - Returns: A `Publisher` that emits events from the keyboard.
 45 |     public static func publisher<H: Hashable>(for id: H) -> AnyPublisher<KeyboardEvent, Never> {
    |                        |                                    `- error: 'AnyPublisher' is only available in macOS 10.15 or newer
    |                        `- note: add @available attribute to enclosing static method
 46 |         publisher(for: KeyboardIdentifier(for: id))
 47 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:220:39: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
219 |
220 |     private static var subjectsLock = OSAllocatedUnfairLock()
    |                        |              `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
    |                        `- note: add @available attribute to enclosing static property
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:220:39: error: 'init()' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
219 |
220 |     private static var subjectsLock = OSAllocatedUnfairLock()
    |                        |              `- error: 'init()' is only available in macOS 13.0 or newer
    |                        `- note: add @available attribute to enclosing static property
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:223:37: error: 'PassthroughSubject' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
223 |     private let underlyingSubject = PassthroughSubject<Output, Failure>()
    |                                     `- error: 'PassthroughSubject' is only available in macOS 10.15 or newer
224 |
225 |     private init(for id: KeyboardIdentifier) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:247:29: error: 'Subscription' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
245 |     }
246 |
247 |     func send(subscription: Subscription) {
    |          |                  `- error: 'Subscription' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
248 |         underlyingSubject.send(subscription: subscription)
249 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:251:92: error: 'Subscriber' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
249 |     }
250 |
251 |     func receive<S>(subscriber: S) where KeyboardEvent == S.Input, Never == S.Failure, S : Subscriber {
    |          |                                                                                 `- error: 'Subscriber' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
252 |         underlyingSubject.receive(subscriber: subscriber)
253 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:259:27: error: 'Subscribers' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
257 |     }
258 |
259 |     func send(completion: Subscribers.Completion<Never>) {
    |          |                `- error: 'Subscribers' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
260 |         underlyingSubject.send(completion: completion)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:30:6: error: 'init(_:)' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
28 |     var action: () -> Void = {}
29 |
30 |     @Environment(KeyboardState.self) private var state
   |      `- error: 'init(_:)' is only available in macOS 14.0 or newer
31 |
32 |     private var isShifted: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:30:6: error: 'Environment' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
28 |     var action: () -> Void = {}
29 |
30 |     @Environment(KeyboardState.self) private var state
   |      `- error: 'Environment' is only available in macOS 10.15 or newer
31 |
32 |     private var isShifted: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:36:20: error: 'View' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardKeyView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     let key: String
21 |     var shift: String?
   :
34 |     }
35 |
36 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
37 |         Button(action: action) {
38 |             Text(isShifted ? shift ?? key : key)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:56:6: error: 'init(_:)' is only available in macOS 14.0 or newer
45 | }
46 |
47 | struct KeyboardToggleKeyView: View {
   |        `- note: add @available attribute to enclosing struct
48 |     let key: String
49 |     let code: KeyboardKeyCode
   :
54 |     var isDark: Bool = false
55 |
56 |     @Environment(KeyboardState.self) private var state
   |      `- error: 'init(_:)' is only available in macOS 14.0 or newer
57 |
58 |     private var isOn: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:56:6: error: 'Environment' is only available in macOS 10.15 or newer
45 | }
46 |
47 | struct KeyboardToggleKeyView: View {
   |        `- note: add @available attribute to enclosing struct
48 |     let key: String
49 |     let code: KeyboardKeyCode
   :
54 |     var isDark: Bool = false
55 |
56 |     @Environment(KeyboardState.self) private var state
   |      `- error: 'Environment' is only available in macOS 10.15 or newer
57 |
58 |     private var isOn: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:66:20: error: 'View' is only available in macOS 10.15 or newer
45 | }
46 |
47 | struct KeyboardToggleKeyView: View {
   |        `- note: add @available attribute to enclosing struct
48 |     let key: String
49 |     let code: KeyboardKeyCode
   :
64 |     }
65 |
66 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
67 |         KeyboardKeyView(key: key, code: code, width: width, height: height, isDark: isDark, isToggled: isOn, clickSound: .modifier) {
68 |             if isOn {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:83:2: error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
81 | }
82 |
83 | #Preview {
   |  `- error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
84 |     VStack {
85 |         KeyboardKeyView(key: "a", code: .keyA)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardKeyView.swift:84:5: error: 'VStack' is only available in macOS 10.15 or newer
82 |
83 | #Preview {
84 |     VStack {
   |     |- error: 'VStack' is only available in macOS 10.15 or newer
   |     `- note: add 'if #available' version check
85 |         KeyboardKeyView(key: "a", code: .keyA)
86 |         KeyboardKeyView(key: "a", code: .keyA, isDark: true)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardLayoutANSI.swift:112:2: error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
110 | }
111 |
112 | #Preview {
    |  `- error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
113 |     KeyboardLayoutANSI()
114 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardLayoutTenkeys.swift:86:2: error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
84 | }
85 |
86 | #Preview {
   |  `- error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
87 |     KeyboardLayoutTenKeys()
88 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardView.swift:51:2: error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
49 | }
50 |
51 | #Preview {
   |  `- error: 'Preview(_:body:)' is only available in macOS 10.15 or newer
52 |     KeyboardView(for: .global)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardLayoutANSI.swift:20:20: error: 'View' is only available in macOS 10.15 or newer
 17 | import SwiftUI
 18 |
 19 | struct KeyboardLayoutANSI: View {
    |        `- note: add @available attribute to enclosing struct
 20 |     var body: some View {
    |         |          `- error: 'View' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing property
 21 |         VStack {
 22 |             HStack {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardLayoutTenkeys.swift:20:20: error: 'View' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardLayoutTenKeys: View {
   |        `- note: add @available attribute to enclosing struct
20 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
21 |         Grid {
22 |             GridRow {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardSettingsViewModifier.swift:20:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardSettingsViewModifier: ViewModifier {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
   |      `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
22 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardSettingsViewModifier.swift:21:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardSettingsViewModifier: ViewModifier {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
   |      `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
22 |
23 |     func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardSettingsViewModifier.swift:20:6: error: 'AppStorage' is only available in macOS 11.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardSettingsViewModifier: ViewModifier {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
   |      `- error: 'AppStorage' is only available in macOS 11.0 or newer
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
22 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardSettingsViewModifier.swift:21:6: error: 'AppStorage' is only available in macOS 11.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardSettingsViewModifier: ViewModifier {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
   |      `- error: 'AppStorage' is only available in macOS 11.0 or newer
22 |
23 |     func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardSettingsViewModifier.swift:23:41: error: 'View' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardSettingsViewModifier: ViewModifier {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
22 |
23 |     func body(content: Content) -> some View {
   |          |                              `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
24 |         content.ornament(attachmentAnchor: .scene(.topLeading)) {
25 |             Menu {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardSettingsViewModifier.swift:56:37: error: 'View' is only available in macOS 10.15 or newer
53 | }
54 |
55 | extension View {
   | `- note: add @available attribute to enclosing extension
56 |     func keyboardOrnament() -> some View {
   |          |                          `- error: 'View' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
57 |         self.modifier(KeyboardSettingsViewModifier())
58 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardSettingsViewModifier.swift:55:11: error: 'View' is only available in macOS 10.15 or newer
53 | }
54 |
55 | extension View {
   | |         `- error: 'View' is only available in macOS 10.15 or newer
   | `- note: add @available attribute to enclosing extension
56 |     func keyboardOrnament() -> some View {
57 |         self.modifier(KeyboardSettingsViewModifier())
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:26:5: note: expanded code originates here
17 | import SwiftUI
18 |
19 | @Observable
   | `- note: in expansion of macro 'Observable' on property 'modifier' here
20 | class KeyboardState {
   |       `- note: add @available attribute to enclosing class
21 |     private let id: KeyboardIdentifier
22 |     private let subject: KeyboardEventSubject
   :
24 |     let clicker = KeyboardClickSound()
25 |
26 |     var modifier: KeyboardModifier = .none
   +--- macro expansion @Observable ------------------------------------
   |1 | @ObservationTracked
   |  |  `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
   +--------------------------------------------------------------------
27 |
28 |     init(for id: KeyboardIdentifier) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:19:2: error: 'Observable()' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
20 | class KeyboardState {
   |       `- note: add @available attribute to enclosing class
21 |     private let id: KeyboardIdentifier
22 |     private let subject: KeyboardEventSubject
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:51:1: note: expanded code originates here
17 | import SwiftUI
18 |
19 | @Observable
   | `- note: in expansion of macro 'Observable' on class 'KeyboardState' here
20 | class KeyboardState {
   |       `- note: add @available attribute to enclosing class
21 |     private let id: KeyboardIdentifier
22 |     private let subject: KeyboardEventSubject
   :
49 |         }
50 |     }
51 | }
   +--- macro expansion @Observable ------------------------------------
   | 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
   |   |  `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
   | 2 |
   | 3 | internal nonisolated func access<$s17VisionKeyboardKit0B5State10ObservablefMm_6MemberfMu_>(
   +--------------------------------------------------------------------
52 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:26:43: note: expanded code originates here
18 |
19 | @Observable
20 | class KeyboardState {
   |       `- note: add @available attribute to enclosing class
21 |     private let id: KeyboardIdentifier
22 |     private let subject: KeyboardEventSubject
   :
24 |     let clicker = KeyboardClickSound()
25 |
26 |     var modifier: KeyboardModifier = .none
   +--- macro expansion @ObservationTracked ----------------------------
   |1 | @ObservationIgnored private  var _modifier: KeyboardModifier = .none
   |  |  `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
   +--------------------------------------------------------------------
27 |
28 |     init(for id: KeyboardIdentifier) {
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:51:1: note: expanded code originates here
17 | import SwiftUI
18 |
19 | @Observable
   | `- note: in expansion of macro 'Observable' on class 'KeyboardState' here
20 | class KeyboardState {
   |       `- note: add @available attribute to enclosing class
21 |     private let id: KeyboardIdentifier
22 |     private let subject: KeyboardEventSubject
   :
49 |         }
50 |     }
51 | }
   +--- macro expansion @Observable ------------------------------------
   | 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
   |   |                                                                      `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
   | 2 |
   | 3 | internal nonisolated func access<$s17VisionKeyboardKit0B5State10ObservablefMm_6MemberfMu_>(
   +--------------------------------------------------------------------
52 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:19:2: error: 'Observable()' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
20 | class KeyboardState {
   |       `- note: add @available attribute to enclosing class
21 |     private let id: KeyboardIdentifier
22 |     private let subject: KeyboardEventSubject
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardView.swift:20:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
   |      `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
22 |     @State private var state: KeyboardState
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardView.swift:21:6: error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
   |      `- error: 'init(wrappedValue:_:store:)' is only available in macOS 11.0 or newer
22 |     @State private var state: KeyboardState
23 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardView.swift:20:6: error: 'AppStorage' is only available in macOS 11.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
   |      `- error: 'AppStorage' is only available in macOS 11.0 or newer
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
22 |     @State private var state: KeyboardState
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardView.swift:21:6: error: 'AppStorage' is only available in macOS 11.0 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
   |      `- error: 'AppStorage' is only available in macOS 11.0 or newer
22 |     @State private var state: KeyboardState
23 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardView.swift:22:6: error: 'State' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
22 |     @State private var state: KeyboardState
   |      `- error: 'State' is only available in macOS 10.15 or newer
23 |
24 |     init(for id: KeyboardIdentifier) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardView.swift:28:20: error: 'View' is only available in macOS 10.15 or newer
17 | import SwiftUI
18 |
19 | struct KeyboardView: View {
   |        `- note: add @available attribute to enclosing struct
20 |     @AppStorage("IsExpanded") private var isExpanded: Bool = false
21 |     @AppStorage("Layout") private var layout: KeyboardLayoutType = .ansi
   :
26 |     }
27 |
28 |     var body: some View {
   |         |          `- error: 'View' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
29 |         HStack {
30 |             KeyboardLayoutANSI()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:25:27: error: 'Scene' is only available in macOS 11.0 or newer
20 | ///
21 | /// Use `OpenWindowAction.callAsFunction(keyboardFor:)` to show the keyboard.
22 | public struct KeyboardWindowGroup: Scene {
   |               `- note: add @available attribute to enclosing struct
23 |     public init(){}
24 |
25 |     public var body: some Scene {
   |                |          `- error: 'Scene' is only available in macOS 11.0 or newer
   |                `- note: add @available attribute to enclosing property
26 |         WindowGroup(for: KeyboardIdentifier.self) { $id in
27 |             KeyboardView(for: id ?? .global)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:33:18: error: 'OpenWindowAction' is only available in macOS 13.0 or newer
31 | }
32 |
33 | public extension OpenWindowAction {
   |        |         `- error: 'OpenWindowAction' is only available in macOS 13.0 or newer
   |        `- note: add @available attribute to enclosing extension
34 |     /// Opens a keyboard window
35 |     /// - Parameter id: Any `Hashable` object that uniquely identifies this keyboard instance.
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardWindowGroup.swift:47:18: error: 'DismissWindowAction' is only available in macOS 14.0 or newer
45 | }
46 |
47 | public extension DismissWindowAction {
   |        |         `- error: 'DismissWindowAction' is only available in macOS 14.0 or newer
   |        `- note: add @available attribute to enclosing extension
48 |     /// Closes a keyboard window
49 |     /// - Parameter id: Any `Hashable` object that uniquely identifies this keyboard instance.
[13/16] Compiling VisionKeyboardKit KeyboardButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:20:28: error: 'Duration' is only available in macOS 13.0 or newer
 18 | import RealityKit
 19 |
 20 | private let kDebounceTime: Duration = .milliseconds(25)
    |             |              `- error: 'Duration' is only available in macOS 13.0 or newer
    |             `- note: add @available attribute to enclosing let
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:20:40: error: 'milliseconds' is only available in macOS 13.0 or newer
 18 | import RealityKit
 19 |
 20 | private let kDebounceTime: Duration = .milliseconds(25)
    |             |                          `- error: 'milliseconds' is only available in macOS 13.0 or newer
    |             `- note: add @available attribute to enclosing let
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:19:2: error: 'Observable()' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
20 | class KeyboardState {
21 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:34:6: error: 'init(_:)' is only available in macOS 14.0 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
    |      `- error: 'init(_:)' is only available in macOS 14.0 or newer
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:32:6: error: 'State' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 30 |     let onTouchUp: () -> Void
 31 |
 32 |     @State private var isPressed: Bool = false
    |      `- error: 'State' is only available in macOS 10.15 or newer
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:33:38: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 31 |
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
    |                                      `- error: 'Task' is only available in macOS 10.15 or newer
 34 |     @Environment(KeyboardState.self) private var state
 35 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:33:6: error: 'State' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 31 |
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
    |      `- error: 'State' is only available in macOS 10.15 or newer
 34 |     @Environment(KeyboardState.self) private var state
 35 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:34:6: error: 'Environment' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
    |      `- error: 'Environment' is only available in macOS 10.15 or newer
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:36:71: error: 'Gesture' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  |                                                    `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:79:57: error: 'View' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 77 |     }
 78 |
 79 |     func makeBody(configuration: Configuration) -> some View {
    |          |                                              `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
 80 |         ZStack {
 81 |             if isPressed {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:126:11: error: 'PrimitiveButtonStyle' is only available in macOS 10.15 or newer
124 | }
125 |
126 | extension PrimitiveButtonStyle where Self == KeyboardButtonStyle {
    | |         `- error: 'PrimitiveButtonStyle' is only available in macOS 10.15 or newer
    | `- note: add @available attribute to enclosing extension
127 |     static func keyboardButton(isDark: Bool = false, isToggled: Bool = false, fontSize: CGFloat = 24, width: CGFloat = 50, height: CGFloat = 50, clickSound: KeyboardClickSound.File = .normal, onTouchDown: @escaping () -> Void = {}, onTouchUp: @escaping () -> Void = {}) -> KeyboardButtonStyle {
128 |         KeyboardButtonStyle(isDark: isDark, isToggled: isToggled, fontSize: fontSize, width: width, height: height, clickSound: clickSound, onTouchDown: onTouchDown, onTouchUp: onTouchUp)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:55:14: warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 53 |                 }
 54 |             }
 55 |             .onEnded { events in
    |              |- warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
    |              `- note: add 'if #available' version check
 56 |                 for event in events {
 57 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:37:9: error: 'SpatialEventGesture' is only available in macOS 15.0 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
    |         |- error: 'SpatialEventGesture' is only available in macOS 15.0 or newer
    |         `- note: add 'if #available' version check
 38 |             .onChanged { events in
 39 |                 for event in events {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:38:14: error: 'onChanged' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 39 |                 for event in events {
 40 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:43:29: error: setter for 'isPressed' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 41 |                     case .indirectPinch, .pointer, .touch:
 42 |                         if !isPressed {
 43 |                             isPressed = true
    |                             |- error: setter for 'isPressed' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
 44 |                             onTouchDown()
 45 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:48:43: error: 'cancel()' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 46 |                         // touch events require debouncing
 47 |                         if event.kind == .touch {
 48 |                             debounceTask?.cancel()
    |                                           |- error: 'cancel()' is only available in macOS 10.15 or newer
    |                                           `- note: add 'if #available' version check
 49 |                             debounceTask = nil
 50 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:49:29: error: setter for 'debounceTask' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 47 |                         if event.kind == .touch {
 48 |                             debounceTask?.cancel()
 49 |                             debounceTask = nil
    |                             |- error: setter for 'debounceTask' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
 50 |                         }
 51 |                     default: break
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:55:14: error: 'onEnded' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 53 |                 }
 54 |             }
 55 |             .onEnded { events in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 56 |                 for event in events {
 57 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:55:22: warning: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer; this is an error in the Swift 6 language mode
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 53 |                 }
 54 |             }
 55 |             .onEnded { events in
    |                      |- warning: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer; this is an error in the Swift 6 language mode
    |                      `- note: add 'if #available' version check
 56 |                 for event in events {
 57 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:55:22: warning: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer; this is an error in the Swift 6 language mode
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 53 |                 }
 54 |             }
 55 |             .onEnded { events in
    |                      |- warning: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer; this is an error in the Swift 6 language mode
    |                      `- note: add 'if #available' version check
 56 |                 for event in events {
 57 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:59:25: error: setter for 'isPressed' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 57 |                     switch event.kind {
 58 |                     case .indirectPinch, .pointer:
 59 |                         isPressed = false
    |                         |- error: setter for 'isPressed' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 60 |                         onTouchUp()
 61 |                         configuration.trigger()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:65:25: error: setter for 'debounceTask' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 63 |                         // ignore any .ended phase followed immediately by an .active phase
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
    |                         |- error: setter for 'debounceTask' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:65:40: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 63 |                         // ignore any .ended phase followed immediately by an .active phase
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
    |                                        |- error: 'Task' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:65:40: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 63 |                         // ignore any .ended phase followed immediately by an .active phase
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
    |                                        |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:66:40: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
 66 |                             try? await Task.sleep(for: kDebounceTime)
    |                                        |- error: 'Task' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 67 |                             if !Task.isCancelled {
 68 |                                 isPressed = false
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:66:45: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
 66 |                             try? await Task.sleep(for: kDebounceTime)
    |                                             |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
    |                                             `- note: add 'if #available' version check
 67 |                             if !Task.isCancelled {
 68 |                                 isPressed = false
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:67:33: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 65 |                         debounceTask = Task { @MainActor in
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
    |                                 |- error: 'Task' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
 68 |                                 isPressed = false
 69 |                                 onTouchUp()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:67:38: error: 'isCancelled' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 65 |                         debounceTask = Task { @MainActor in
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
    |                                      |- error: 'isCancelled' is only available in macOS 10.15 or newer
    |                                      `- note: add 'if #available' version check
 68 |                                 isPressed = false
 69 |                                 onTouchUp()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:68:33: error: setter for 'isPressed' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
 68 |                                 isPressed = false
    |                                 |- error: setter for 'isPressed' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
 69 |                                 onTouchUp()
 70 |                                 trigger()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:29:18: error: 'Entity' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 27 |
 28 |     /// The RK entity where the sound will originate
 29 |     let entity = Entity()
    |                  `- error: 'Entity' is only available in macOS 10.15 or newer
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:121:33: error: argument passed to call that takes no arguments
119 |         .frame(width: width + 4, height: height + 4)
120 |         .hoverEffect()
121 |         .frame(depth: isPressed ? 0 : 12)
    |                                 `- error: argument passed to call that takes no arguments
122 |         .gesture(spatialGesture(configuration: configuration))
123 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:31:36: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 29 |     let entity = Entity()
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
    |                                    `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 32 |     private var pressDeletePlayer: AudioPlaybackController?
 33 |     private var pressModifierPlayer: AudioPlaybackController?
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:32:36: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
 32 |     private var pressDeletePlayer: AudioPlaybackController?
    |                                    `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:33:38: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 31 |     private var pressNormalPlayer: AudioPlaybackController?
 32 |     private var pressDeletePlayer: AudioPlaybackController?
 33 |     private var pressModifierPlayer: AudioPlaybackController?
    |                                      `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:35:53: error: 'AudioFileResource' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
    |                  |                                  `- error: 'AudioFileResource' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
 36 |         let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
 37 |         return try? .load(contentsOf: url, configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:61:24: error: 'appending(components:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 59 |         let fm = FileManager.default
 60 |         let library = fm.urls(for: .libraryDirectory, in: .systemDomainMask)[0]
 61 |         return library.appending(components: "Audio", "UISounds")
    |                        |- error: 'appending(components:directoryHint:)' is only available in macOS 13.0 or newer
    |                        `- note: add 'if #available' version check
 62 |     }()
 63 |     #endif
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:107:33: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  |              `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:36:29: error: 'AudioFileResource' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
    |                  `- note: add @available attribute to enclosing instance method
 36 |         let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
    |                             |- error: 'AudioFileResource' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
 37 |         return try? .load(contentsOf: url, configuration: configuration)
 38 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:37:22: error: 'load(contentsOf:withName:configuration:)' is only available in macOS 15.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
    |                  `- note: add @available attribute to enclosing instance method
 36 |         let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
 37 |         return try? .load(contentsOf: url, configuration: configuration)
    |                      |- error: 'load(contentsOf:withName:configuration:)' is only available in macOS 15.0 or newer
    |                      `- note: add 'if #available' version check
 38 |     }
 39 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:77:42: error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
 75 |             return
 76 |         }
 77 |         let pressNormalUrl = uiSoundsUrl.appending(component: "key_press_click.caf")
    |                                          |- error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
    |                                          `- note: add 'if #available' version check
 78 |         let pressDeleteUrl = uiSoundsUrl.appending(component: "key_press_delete.caf")
 79 |         let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:78:42: error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 76 |         }
 77 |         let pressNormalUrl = uiSoundsUrl.appending(component: "key_press_click.caf")
 78 |         let pressDeleteUrl = uiSoundsUrl.appending(component: "key_press_delete.caf")
    |                                          |- error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
    |                                          `- note: add 'if #available' version check
 79 |         let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
 80 |         if let resource = loadAudioResource(for: pressNormalUrl) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:79:44: error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 77 |         let pressNormalUrl = uiSoundsUrl.appending(component: "key_press_click.caf")
 78 |         let pressDeleteUrl = uiSoundsUrl.appending(component: "key_press_delete.caf")
 79 |         let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
    |                                            |- error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
    |                                            `- note: add 'if #available' version check
 80 |         if let resource = loadAudioResource(for: pressNormalUrl) {
 81 |             pressNormalPlayer = entity.prepareAudio(resource)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:81:40: error: 'prepareAudio' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 79 |         let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
 80 |         if let resource = loadAudioResource(for: pressNormalUrl) {
 81 |             pressNormalPlayer = entity.prepareAudio(resource)
    |                                        |- error: 'prepareAudio' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 82 |         }
 83 |         if let resource = loadAudioResource(for: pressDeleteUrl) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:84:40: error: 'prepareAudio' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 82 |         }
 83 |         if let resource = loadAudioResource(for: pressDeleteUrl) {
 84 |             pressDeletePlayer = entity.prepareAudio(resource)
    |                                        |- error: 'prepareAudio' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 85 |         }
 86 |         if let resource = loadAudioResource(for: pressModifierUrl) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:87:42: error: 'prepareAudio' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 85 |         }
 86 |         if let resource = loadAudioResource(for: pressModifierUrl) {
 87 |             pressModifierPlayer = entity.prepareAudio(resource)
    |                                          |- error: 'prepareAudio' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
 88 |         }
 89 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:92:23: error: 'AVAudioSession' is unavailable in macOS
 90 |
 91 |     private func withAmbientSession(_ callback: () -> Void) {
 92 |         let session = AVAudioSession.sharedInstance()
    |                       `- error: 'AVAudioSession' is unavailable in macOS
 93 |         let oldCategory = session.category
 94 |         let oldMode = session.mode
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:30:12: note: 'AVAudioSession' has been explicitly marked unavailable here
 28 | NS_SWIFT_SENDABLE
 29 | API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos)
 30 | @interface AVAudioSession : NSObject {
    |            `- note: 'AVAudioSession' has been explicitly marked unavailable here
 31 | @private
 32 | //	Reenable once rdar://135815013 is unblocked
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:92:38: error: 'sharedInstance()' is unavailable in macOS
 90 |
 91 |     private func withAmbientSession(_ callback: () -> Void) {
 92 |         let session = AVAudioSession.sharedInstance()
    |                                      `- error: 'sharedInstance()' is unavailable in macOS
 93 |         let oldCategory = session.category
 94 |         let oldMode = session.mode
AVFAudio.AVAudioSession.sharedInstance:3:19: note: 'sharedInstance()' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open class func sharedInstance() -> AVAudioSession}
  |                   `- note: 'sharedInstance()' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:93:35: error: 'category' is unavailable in macOS
 91 |     private func withAmbientSession(_ callback: () -> Void) {
 92 |         let session = AVAudioSession.sharedInstance()
 93 |         let oldCategory = session.category
    |                                   `- error: 'category' is unavailable in macOS
 94 |         let oldMode = session.mode
 95 |         let oldPolicy = session.routeSharingPolicy
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:81:45: note: 'category' has been explicitly marked unavailable here
 79 | /// Get session category.
 80 | /// Examples: AVAudioSessionCategoryRecord, AVAudioSessionCategoryPlayAndRecord, etc.
 81 | @property (readonly) AVAudioSessionCategory category API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                             `- note: 'category' has been explicitly marked unavailable here
 82 |
 83 | /// Get the current set of AVAudioSessionCategoryOptions.
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:94:31: error: 'mode' is unavailable in macOS
 92 |         let session = AVAudioSession.sharedInstance()
 93 |         let oldCategory = session.category
 94 |         let oldMode = session.mode
    |                               `- error: 'mode' is unavailable in macOS
 95 |         let oldPolicy = session.routeSharingPolicy
 96 |         let oldOptions = session.categoryOptions
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:112:21: note: 'mode' has been explicitly marked unavailable here
110 | /// Get the session's mode.
111 | @property (readonly)
112 | 	AVAudioSessionMode mode API_AVAILABLE(ios(5.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                     `- note: 'mode' has been explicitly marked unavailable here
113 |
114 | /// Set allowHapticsAndSystemSoundsDuringRecording to YES in order to allow system sounds and haptics to play while the session is actively using audio input.
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:95:33: error: 'routeSharingPolicy' is unavailable in macOS
 93 |         let oldCategory = session.category
 94 |         let oldMode = session.mode
 95 |         let oldPolicy = session.routeSharingPolicy
    |                                 `- error: 'routeSharingPolicy' is unavailable in macOS
 96 |         let oldOptions = session.categoryOptions
 97 |         do {
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:92:55: note: 'routeSharingPolicy' has been explicitly marked unavailable here
 90 | 	See setCategory:mode:routeSharingPolicy:options:error: for additional discussion.
 91 | */
 92 | @property (readonly) AVAudioSessionRouteSharingPolicy routeSharingPolicy API_AVAILABLE(ios(11.0), tvos(11.0), watchos(5.0)) API_UNAVAILABLE(macos);
    |                                                       `- note: 'routeSharingPolicy' has been explicitly marked unavailable here
 93 |
 94 | /// Get the list of modes available on the device.  Certain modes may be unavailable on particular
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:96:34: error: 'categoryOptions' is unavailable in macOS
 94 |         let oldMode = session.mode
 95 |         let oldPolicy = session.routeSharingPolicy
 96 |         let oldOptions = session.categoryOptions
    |                                  `- error: 'categoryOptions' is unavailable in macOS
 97 |         do {
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:84:52: note: 'categoryOptions' has been explicitly marked unavailable here
 82 |
 83 | /// Get the current set of AVAudioSessionCategoryOptions.
 84 | @property (readonly) AVAudioSessionCategoryOptions categoryOptions API_AVAILABLE(ios(6.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                                    `- note: 'categoryOptions' has been explicitly marked unavailable here
 85 |
 86 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:98:25: error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 96 |         let oldOptions = session.categoryOptions
 97 |         do {
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
    |                         `- error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 99 |             callback()
100 |             try session.setCategory(oldCategory, mode: oldMode, policy: oldPolicy, options: oldOptions)
AVFAudio.AVAudioSession.setCategory:3:13: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws}
  |             `- note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:98:38: error: 'ambient' is unavailable in macOS
 96 |         let oldOptions = session.categoryOptions
 97 |         do {
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
    |                                      `- error: 'ambient' is unavailable in macOS
 99 |             callback()
100 |             try session.setCategory(oldCategory, mode: oldMode, policy: oldPolicy, options: oldOptions)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:94:40: note: 'ambient' has been explicitly marked unavailable here
 92 | /*! Use this category for background sounds such as rain, car engine noise, etc.
 93 |  Mixes with other music. */
 94 | OS_EXPORT AVAudioSessionCategory const AVAudioSessionCategoryAmbient			API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                        `- note: 'ambient' has been explicitly marked unavailable here
 95 |
 96 | /*! Use this category for background sounds.  Other music will stop playing. */
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:98:54: error: 'default' is unavailable in macOS
 96 |         let oldOptions = session.categoryOptions
 97 |         do {
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
    |                                                      `- error: 'default' is unavailable in macOS
 99 |             callback()
100 |             try session.setCategory(oldCategory, mode: oldMode, policy: oldPolicy, options: oldOptions)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:136:36: note: 'default' has been explicitly marked unavailable here
134 |
135 | /*! The default mode */
136 | OS_EXPORT AVAudioSessionMode const AVAudioSessionModeDefault API_AVAILABLE(ios(5.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                    `- note: 'default' has been explicitly marked unavailable here
137 |
138 | /*! Only valid with AVAudioSessionCategoryPlayAndRecord.  Appropriate for Voice over IP
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:100:25: error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
 99 |             callback()
100 |             try session.setCategory(oldCategory, mode: oldMode, policy: oldPolicy, options: oldOptions)
    |                         `- error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
101 |         } catch {
102 |             print(error)
AVFAudio.AVAudioSession.setCategory:3:13: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws}
  |             `- note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:112:23: error: 'isPlaying' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
110 |         }
111 |         withAmbientSession {
112 |             if player.isPlaying {
    |                       |- error: 'isPlaying' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
113 |                 player.seek(to: .zero)
114 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:113:24: error: 'seek(to:)' is only available in macOS 15.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
    :
111 |         withAmbientSession {
112 |             if player.isPlaying {
113 |                 player.seek(to: .zero)
    |                        |- error: 'seek(to:)' is only available in macOS 15.0 or newer
    |                        `- note: add 'if #available' version check
114 |             }
115 |             player.play()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:113:34: error: 'zero' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
    :
111 |         withAmbientSession {
112 |             if player.isPlaying {
113 |                 player.seek(to: .zero)
    |                                  |- error: 'zero' is only available in macOS 13.0 or newer
    |                                  `- note: add 'if #available' version check
114 |             }
115 |             player.play()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:115:20: error: 'play()' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
    :
113 |                 player.seek(to: .zero)
114 |             }
115 |             player.play()
    |                    |- error: 'play()' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
116 |         }
117 |     }
[14/16] Compiling VisionKeyboardKit KeyboardClickSound.swift
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:20:28: error: 'Duration' is only available in macOS 13.0 or newer
 18 | import RealityKit
 19 |
 20 | private let kDebounceTime: Duration = .milliseconds(25)
    |             |              `- error: 'Duration' is only available in macOS 13.0 or newer
    |             `- note: add @available attribute to enclosing let
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:20:40: error: 'milliseconds' is only available in macOS 13.0 or newer
 18 | import RealityKit
 19 |
 20 | private let kDebounceTime: Duration = .milliseconds(25)
    |             |                          `- error: 'milliseconds' is only available in macOS 13.0 or newer
    |             `- note: add @available attribute to enclosing let
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardState.swift:19:2: error: 'Observable()' is only available in macOS 14.0 or newer
17 | import SwiftUI
18 |
19 | @Observable
   |  `- error: 'Observable()' is only available in macOS 14.0 or newer
20 | class KeyboardState {
21 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:34:6: error: 'init(_:)' is only available in macOS 14.0 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
    |      `- error: 'init(_:)' is only available in macOS 14.0 or newer
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:32:6: error: 'State' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 30 |     let onTouchUp: () -> Void
 31 |
 32 |     @State private var isPressed: Bool = false
    |      `- error: 'State' is only available in macOS 10.15 or newer
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:33:38: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 31 |
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
    |                                      `- error: 'Task' is only available in macOS 10.15 or newer
 34 |     @Environment(KeyboardState.self) private var state
 35 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:33:6: error: 'State' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 31 |
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
    |      `- error: 'State' is only available in macOS 10.15 or newer
 34 |     @Environment(KeyboardState.self) private var state
 35 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:34:6: error: 'Environment' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 32 |     @State private var isPressed: Bool = false
 33 |     @State private var debounceTask: Task<Void, Never>?
 34 |     @Environment(KeyboardState.self) private var state
    |      `- error: 'Environment' is only available in macOS 10.15 or newer
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:36:71: error: 'Gesture' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  |                                                    `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:79:57: error: 'View' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 77 |     }
 78 |
 79 |     func makeBody(configuration: Configuration) -> some View {
    |          |                                              `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
 80 |         ZStack {
 81 |             if isPressed {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:126:11: error: 'PrimitiveButtonStyle' is only available in macOS 10.15 or newer
124 | }
125 |
126 | extension PrimitiveButtonStyle where Self == KeyboardButtonStyle {
    | |         `- error: 'PrimitiveButtonStyle' is only available in macOS 10.15 or newer
    | `- note: add @available attribute to enclosing extension
127 |     static func keyboardButton(isDark: Bool = false, isToggled: Bool = false, fontSize: CGFloat = 24, width: CGFloat = 50, height: CGFloat = 50, clickSound: KeyboardClickSound.File = .normal, onTouchDown: @escaping () -> Void = {}, onTouchUp: @escaping () -> Void = {}) -> KeyboardButtonStyle {
128 |         KeyboardButtonStyle(isDark: isDark, isToggled: isToggled, fontSize: fontSize, width: width, height: height, clickSound: clickSound, onTouchDown: onTouchDown, onTouchUp: onTouchUp)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:55:14: warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 53 |                 }
 54 |             }
 55 |             .onEnded { events in
    |              |- warning: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
    |              `- note: add 'if #available' version check
 56 |                 for event in events {
 57 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:37:9: error: 'SpatialEventGesture' is only available in macOS 15.0 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
    |         |- error: 'SpatialEventGesture' is only available in macOS 15.0 or newer
    |         `- note: add 'if #available' version check
 38 |             .onChanged { events in
 39 |                 for event in events {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:38:14: error: 'onChanged' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 39 |                 for event in events {
 40 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:43:29: error: setter for 'isPressed' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 41 |                     case .indirectPinch, .pointer, .touch:
 42 |                         if !isPressed {
 43 |                             isPressed = true
    |                             |- error: setter for 'isPressed' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
 44 |                             onTouchDown()
 45 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:48:43: error: 'cancel()' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 46 |                         // touch events require debouncing
 47 |                         if event.kind == .touch {
 48 |                             debounceTask?.cancel()
    |                                           |- error: 'cancel()' is only available in macOS 10.15 or newer
    |                                           `- note: add 'if #available' version check
 49 |                             debounceTask = nil
 50 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:49:29: error: setter for 'debounceTask' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 47 |                         if event.kind == .touch {
 48 |                             debounceTask?.cancel()
 49 |                             debounceTask = nil
    |                             |- error: setter for 'debounceTask' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
 50 |                         }
 51 |                     default: break
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:55:14: error: 'onEnded' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 53 |                 }
 54 |             }
 55 |             .onEnded { events in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 56 |                 for event in events {
 57 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:55:22: warning: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer; this is an error in the Swift 6 language mode
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 53 |                 }
 54 |             }
 55 |             .onEnded { events in
    |                      |- warning: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer; this is an error in the Swift 6 language mode
    |                      `- note: add 'if #available' version check
 56 |                 for event in events {
 57 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:55:22: warning: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer; this is an error in the Swift 6 language mode
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 53 |                 }
 54 |             }
 55 |             .onEnded { events in
    |                      |- warning: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer; this is an error in the Swift 6 language mode
    |                      `- note: add 'if #available' version check
 56 |                 for event in events {
 57 |                     switch event.kind {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:59:25: error: setter for 'isPressed' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 57 |                     switch event.kind {
 58 |                     case .indirectPinch, .pointer:
 59 |                         isPressed = false
    |                         |- error: setter for 'isPressed' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 60 |                         onTouchUp()
 61 |                         configuration.trigger()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:65:25: error: setter for 'debounceTask' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 63 |                         // ignore any .ended phase followed immediately by an .active phase
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
    |                         |- error: setter for 'debounceTask' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:65:40: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 63 |                         // ignore any .ended phase followed immediately by an .active phase
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
    |                                        |- error: 'Task' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:65:40: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 63 |                         // ignore any .ended phase followed immediately by an .active phase
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
    |                                        |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:66:40: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
 66 |                             try? await Task.sleep(for: kDebounceTime)
    |                                        |- error: 'Task' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 67 |                             if !Task.isCancelled {
 68 |                                 isPressed = false
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:66:45: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 64 |                         let trigger = configuration.trigger
 65 |                         debounceTask = Task { @MainActor in
 66 |                             try? await Task.sleep(for: kDebounceTime)
    |                                             |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
    |                                             `- note: add 'if #available' version check
 67 |                             if !Task.isCancelled {
 68 |                                 isPressed = false
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:67:33: error: 'Task' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 65 |                         debounceTask = Task { @MainActor in
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
    |                                 |- error: 'Task' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
 68 |                                 isPressed = false
 69 |                                 onTouchUp()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:67:38: error: 'isCancelled' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 65 |                         debounceTask = Task { @MainActor in
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
    |                                      |- error: 'isCancelled' is only available in macOS 10.15 or newer
    |                                      `- note: add 'if #available' version check
 68 |                                 isPressed = false
 69 |                                 onTouchUp()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:68:33: error: setter for 'isPressed' is only available in macOS 10.15 or newer
 20 | private let kDebounceTime: Duration = .milliseconds(25)
 21 |
 22 | struct KeyboardButtonStyle: PrimitiveButtonStyle {
    |        `- note: add @available attribute to enclosing struct
 23 |     let isDark: Bool
 24 |     let isToggled: Bool
    :
 34 |     @Environment(KeyboardState.self) private var state
 35 |
 36 |     private func spatialGesture(configuration: Configuration) -> some Gesture {
    |                  `- note: add @available attribute to enclosing instance method
 37 |         SpatialEventGesture()
 38 |             .onChanged { events in
    :
 66 |                             try? await Task.sleep(for: kDebounceTime)
 67 |                             if !Task.isCancelled {
 68 |                                 isPressed = false
    |                                 |- error: setter for 'isPressed' is only available in macOS 10.15 or newer
    |                                 `- note: add 'if #available' version check
 69 |                                 onTouchUp()
 70 |                                 trigger()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:29:18: error: 'Entity' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 27 |
 28 |     /// The RK entity where the sound will originate
 29 |     let entity = Entity()
    |                  `- error: 'Entity' is only available in macOS 10.15 or newer
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardButtonStyle.swift:121:33: error: argument passed to call that takes no arguments
119 |         .frame(width: width + 4, height: height + 4)
120 |         .hoverEffect()
121 |         .frame(depth: isPressed ? 0 : 12)
    |                                 `- error: argument passed to call that takes no arguments
122 |         .gesture(spatialGesture(configuration: configuration))
123 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:31:36: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 29 |     let entity = Entity()
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
    |                                    `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 32 |     private var pressDeletePlayer: AudioPlaybackController?
 33 |     private var pressModifierPlayer: AudioPlaybackController?
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:32:36: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 30 |
 31 |     private var pressNormalPlayer: AudioPlaybackController?
 32 |     private var pressDeletePlayer: AudioPlaybackController?
    |                                    `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:33:38: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 31 |     private var pressNormalPlayer: AudioPlaybackController?
 32 |     private var pressDeletePlayer: AudioPlaybackController?
 33 |     private var pressModifierPlayer: AudioPlaybackController?
    |                                      `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:35:53: error: 'AudioFileResource' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
    |                  |                                  `- error: 'AudioFileResource' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
 36 |         let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
 37 |         return try? .load(contentsOf: url, configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:61:24: error: 'appending(components:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 59 |         let fm = FileManager.default
 60 |         let library = fm.urls(for: .libraryDirectory, in: .systemDomainMask)[0]
 61 |         return library.appending(components: "Audio", "UISounds")
    |                        |- error: 'appending(components:directoryHint:)' is only available in macOS 13.0 or newer
    |                        `- note: add 'if #available' version check
 62 |     }()
 63 |     #endif
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:107:33: error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  |              `- error: 'AudioPlaybackController' is only available in macOS 10.15 or newer
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:36:29: error: 'AudioFileResource' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
    |                  `- note: add @available attribute to enclosing instance method
 36 |         let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
    |                             |- error: 'AudioFileResource' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
 37 |         return try? .load(contentsOf: url, configuration: configuration)
 38 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:37:22: error: 'load(contentsOf:withName:configuration:)' is only available in macOS 15.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 33 |     private var pressModifierPlayer: AudioPlaybackController?
 34 |
 35 |     private func loadAudioResource(for url: URL) -> AudioFileResource? {
    |                  `- note: add @available attribute to enclosing instance method
 36 |         let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
 37 |         return try? .load(contentsOf: url, configuration: configuration)
    |                      |- error: 'load(contentsOf:withName:configuration:)' is only available in macOS 15.0 or newer
    |                      `- note: add 'if #available' version check
 38 |     }
 39 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:77:42: error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
 75 |             return
 76 |         }
 77 |         let pressNormalUrl = uiSoundsUrl.appending(component: "key_press_click.caf")
    |                                          |- error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
    |                                          `- note: add 'if #available' version check
 78 |         let pressDeleteUrl = uiSoundsUrl.appending(component: "key_press_delete.caf")
 79 |         let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:78:42: error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 76 |         }
 77 |         let pressNormalUrl = uiSoundsUrl.appending(component: "key_press_click.caf")
 78 |         let pressDeleteUrl = uiSoundsUrl.appending(component: "key_press_delete.caf")
    |                                          |- error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
    |                                          `- note: add 'if #available' version check
 79 |         let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
 80 |         if let resource = loadAudioResource(for: pressNormalUrl) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:79:44: error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 77 |         let pressNormalUrl = uiSoundsUrl.appending(component: "key_press_click.caf")
 78 |         let pressDeleteUrl = uiSoundsUrl.appending(component: "key_press_delete.caf")
 79 |         let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
    |                                            |- error: 'appending(component:directoryHint:)' is only available in macOS 13.0 or newer
    |                                            `- note: add 'if #available' version check
 80 |         if let resource = loadAudioResource(for: pressNormalUrl) {
 81 |             pressNormalPlayer = entity.prepareAudio(resource)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:81:40: error: 'prepareAudio' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 79 |         let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
 80 |         if let resource = loadAudioResource(for: pressNormalUrl) {
 81 |             pressNormalPlayer = entity.prepareAudio(resource)
    |                                        |- error: 'prepareAudio' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 82 |         }
 83 |         if let resource = loadAudioResource(for: pressDeleteUrl) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:84:40: error: 'prepareAudio' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 82 |         }
 83 |         if let resource = loadAudioResource(for: pressDeleteUrl) {
 84 |             pressDeletePlayer = entity.prepareAudio(resource)
    |                                        |- error: 'prepareAudio' is only available in macOS 10.15 or newer
    |                                        `- note: add 'if #available' version check
 85 |         }
 86 |         if let resource = loadAudioResource(for: pressModifierUrl) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:87:42: error: 'prepareAudio' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
 70 |     }()
 71 |
 72 |     init() {
    |     `- note: add @available attribute to enclosing initializer
 73 |         // if we disabled system sounds then do not create the players
 74 |         guard isEnabled else {
    :
 85 |         }
 86 |         if let resource = loadAudioResource(for: pressModifierUrl) {
 87 |             pressModifierPlayer = entity.prepareAudio(resource)
    |                                          |- error: 'prepareAudio' is only available in macOS 10.15 or newer
    |                                          `- note: add 'if #available' version check
 88 |         }
 89 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:92:23: error: 'AVAudioSession' is unavailable in macOS
 90 |
 91 |     private func withAmbientSession(_ callback: () -> Void) {
 92 |         let session = AVAudioSession.sharedInstance()
    |                       `- error: 'AVAudioSession' is unavailable in macOS
 93 |         let oldCategory = session.category
 94 |         let oldMode = session.mode
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:30:12: note: 'AVAudioSession' has been explicitly marked unavailable here
 28 | NS_SWIFT_SENDABLE
 29 | API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos)
 30 | @interface AVAudioSession : NSObject {
    |            `- note: 'AVAudioSession' has been explicitly marked unavailable here
 31 | @private
 32 | //	Reenable once rdar://135815013 is unblocked
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:92:38: error: 'sharedInstance()' is unavailable in macOS
 90 |
 91 |     private func withAmbientSession(_ callback: () -> Void) {
 92 |         let session = AVAudioSession.sharedInstance()
    |                                      `- error: 'sharedInstance()' is unavailable in macOS
 93 |         let oldCategory = session.category
 94 |         let oldMode = session.mode
AVFAudio.AVAudioSession.sharedInstance:3:19: note: 'sharedInstance()' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open class func sharedInstance() -> AVAudioSession}
  |                   `- note: 'sharedInstance()' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:93:35: error: 'category' is unavailable in macOS
 91 |     private func withAmbientSession(_ callback: () -> Void) {
 92 |         let session = AVAudioSession.sharedInstance()
 93 |         let oldCategory = session.category
    |                                   `- error: 'category' is unavailable in macOS
 94 |         let oldMode = session.mode
 95 |         let oldPolicy = session.routeSharingPolicy
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:81:45: note: 'category' has been explicitly marked unavailable here
 79 | /// Get session category.
 80 | /// Examples: AVAudioSessionCategoryRecord, AVAudioSessionCategoryPlayAndRecord, etc.
 81 | @property (readonly) AVAudioSessionCategory category API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                             `- note: 'category' has been explicitly marked unavailable here
 82 |
 83 | /// Get the current set of AVAudioSessionCategoryOptions.
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:94:31: error: 'mode' is unavailable in macOS
 92 |         let session = AVAudioSession.sharedInstance()
 93 |         let oldCategory = session.category
 94 |         let oldMode = session.mode
    |                               `- error: 'mode' is unavailable in macOS
 95 |         let oldPolicy = session.routeSharingPolicy
 96 |         let oldOptions = session.categoryOptions
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:112:21: note: 'mode' has been explicitly marked unavailable here
110 | /// Get the session's mode.
111 | @property (readonly)
112 | 	AVAudioSessionMode mode API_AVAILABLE(ios(5.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                     `- note: 'mode' has been explicitly marked unavailable here
113 |
114 | /// Set allowHapticsAndSystemSoundsDuringRecording to YES in order to allow system sounds and haptics to play while the session is actively using audio input.
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:95:33: error: 'routeSharingPolicy' is unavailable in macOS
 93 |         let oldCategory = session.category
 94 |         let oldMode = session.mode
 95 |         let oldPolicy = session.routeSharingPolicy
    |                                 `- error: 'routeSharingPolicy' is unavailable in macOS
 96 |         let oldOptions = session.categoryOptions
 97 |         do {
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:92:55: note: 'routeSharingPolicy' has been explicitly marked unavailable here
 90 | 	See setCategory:mode:routeSharingPolicy:options:error: for additional discussion.
 91 | */
 92 | @property (readonly) AVAudioSessionRouteSharingPolicy routeSharingPolicy API_AVAILABLE(ios(11.0), tvos(11.0), watchos(5.0)) API_UNAVAILABLE(macos);
    |                                                       `- note: 'routeSharingPolicy' has been explicitly marked unavailable here
 93 |
 94 | /// Get the list of modes available on the device.  Certain modes may be unavailable on particular
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:96:34: error: 'categoryOptions' is unavailable in macOS
 94 |         let oldMode = session.mode
 95 |         let oldPolicy = session.routeSharingPolicy
 96 |         let oldOptions = session.categoryOptions
    |                                  `- error: 'categoryOptions' is unavailable in macOS
 97 |         do {
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:84:52: note: 'categoryOptions' has been explicitly marked unavailable here
 82 |
 83 | /// Get the current set of AVAudioSessionCategoryOptions.
 84 | @property (readonly) AVAudioSessionCategoryOptions categoryOptions API_AVAILABLE(ios(6.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                                    `- note: 'categoryOptions' has been explicitly marked unavailable here
 85 |
 86 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:98:25: error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 96 |         let oldOptions = session.categoryOptions
 97 |         do {
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
    |                         `- error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 99 |             callback()
100 |             try session.setCategory(oldCategory, mode: oldMode, policy: oldPolicy, options: oldOptions)
AVFAudio.AVAudioSession.setCategory:3:13: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws}
  |             `- note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:98:38: error: 'ambient' is unavailable in macOS
 96 |         let oldOptions = session.categoryOptions
 97 |         do {
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
    |                                      `- error: 'ambient' is unavailable in macOS
 99 |             callback()
100 |             try session.setCategory(oldCategory, mode: oldMode, policy: oldPolicy, options: oldOptions)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:94:40: note: 'ambient' has been explicitly marked unavailable here
 92 | /*! Use this category for background sounds such as rain, car engine noise, etc.
 93 |  Mixes with other music. */
 94 | OS_EXPORT AVAudioSessionCategory const AVAudioSessionCategoryAmbient			API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                        `- note: 'ambient' has been explicitly marked unavailable here
 95 |
 96 | /*! Use this category for background sounds.  Other music will stop playing. */
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:98:54: error: 'default' is unavailable in macOS
 96 |         let oldOptions = session.categoryOptions
 97 |         do {
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
    |                                                      `- error: 'default' is unavailable in macOS
 99 |             callback()
100 |             try session.setCategory(oldCategory, mode: oldMode, policy: oldPolicy, options: oldOptions)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:136:36: note: 'default' has been explicitly marked unavailable here
134 |
135 | /*! The default mode */
136 | OS_EXPORT AVAudioSessionMode const AVAudioSessionModeDefault API_AVAILABLE(ios(5.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                    `- note: 'default' has been explicitly marked unavailable here
137 |
138 | /*! Only valid with AVAudioSessionCategoryPlayAndRecord.  Appropriate for Voice over IP
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:100:25: error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 98 |             try session.setCategory(.ambient, mode: .default, policy: .default, options: .mixWithOthers)
 99 |             callback()
100 |             try session.setCategory(oldCategory, mode: oldMode, policy: oldPolicy, options: oldOptions)
    |                         `- error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
101 |         } catch {
102 |             print(error)
AVFAudio.AVAudioSession.setCategory:3:13: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws}
  |             `- note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:112:23: error: 'isPlaying' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
110 |         }
111 |         withAmbientSession {
112 |             if player.isPlaying {
    |                       |- error: 'isPlaying' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
113 |                 player.seek(to: .zero)
114 |             }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:113:24: error: 'seek(to:)' is only available in macOS 15.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
    :
111 |         withAmbientSession {
112 |             if player.isPlaying {
113 |                 player.seek(to: .zero)
    |                        |- error: 'seek(to:)' is only available in macOS 15.0 or newer
    |                        `- note: add 'if #available' version check
114 |             }
115 |             player.play()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:113:34: error: 'zero' is only available in macOS 13.0 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
    :
111 |         withAmbientSession {
112 |             if player.isPlaying {
113 |                 player.seek(to: .zero)
    |                                  |- error: 'zero' is only available in macOS 13.0 or newer
    |                                  `- note: add 'if #available' version check
114 |             }
115 |             player.play()
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:115:20: error: 'play()' is only available in macOS 10.15 or newer
 19 |
 20 | /// Plays the system keyboard click sound
 21 | class KeyboardClickSound {
    |       `- note: add @available attribute to enclosing class
 22 |     enum File {
 23 |         case normal
    :
105 |
106 |     @MainActor
107 |     private func play(_ player: AudioPlaybackController?) {
    |                  `- note: add @available attribute to enclosing instance method
108 |         guard let player = player else {
109 |             return
    :
113 |                 player.seek(to: .zero)
114 |             }
115 |             player.play()
    |                    |- error: 'play()' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
116 |         }
117 |     }
[15/16] Compiling VisionKeyboardKit KeyboardEvent.swift
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:38:65: error: 'AnyPublisher' is only available in macOS 10.15 or newer
 19 |
 20 | /// Events posted by the keyboard
 21 | public enum KeyboardEvent {
    |             `- note: add @available attribute to enclosing enum
 22 |     /// Sent from the keyboard view's `onAppear()`
 23 |     case keyboardDidAppear
    :
 36 |     /// - Parameter id: A `KeyboardIdentifier` that uniquely identifies this keyboard instance.
 37 |     /// - Returns: A `Publisher` that emits events from the keyboard.
 38 |     public static func publisher(for id: KeyboardIdentifier) -> AnyPublisher<KeyboardEvent, Never> {
    |                        |                                        `- error: 'AnyPublisher' is only available in macOS 10.15 or newer
    |                        `- note: add @available attribute to enclosing static method
 39 |         KeyboardEventSubject.for(id).eraseToAnyPublisher()
 40 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:45:61: error: 'AnyPublisher' is only available in macOS 10.15 or newer
 19 |
 20 | /// Events posted by the keyboard
 21 | public enum KeyboardEvent {
    |             `- note: add @available attribute to enclosing enum
 22 |     /// Sent from the keyboard view's `onAppear()`
 23 |     case keyboardDidAppear
    :
 43 |     /// - Parameter id: Unique identifier for the keyboard to handle events from.
 44 |     /// - Returns: A `Publisher` that emits events from the keyboard.
 45 |     public static func publisher<H: Hashable>(for id: H) -> AnyPublisher<KeyboardEvent, Never> {
    |                        |                                    `- error: 'AnyPublisher' is only available in macOS 10.15 or newer
    |                        `- note: add @available attribute to enclosing static method
 46 |         publisher(for: KeyboardIdentifier(for: id))
 47 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:220:39: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
219 |
220 |     private static var subjectsLock = OSAllocatedUnfairLock()
    |                        |              `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
    |                        `- note: add @available attribute to enclosing static property
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:220:39: error: 'init()' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
219 |
220 |     private static var subjectsLock = OSAllocatedUnfairLock()
    |                        |              `- error: 'init()' is only available in macOS 13.0 or newer
    |                        `- note: add @available attribute to enclosing static property
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:223:37: error: 'PassthroughSubject' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
223 |     private let underlyingSubject = PassthroughSubject<Output, Failure>()
    |                                     `- error: 'PassthroughSubject' is only available in macOS 10.15 or newer
224 |
225 |     private init(for id: KeyboardIdentifier) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:247:29: error: 'Subscription' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
245 |     }
246 |
247 |     func send(subscription: Subscription) {
    |          |                  `- error: 'Subscription' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
248 |         underlyingSubject.send(subscription: subscription)
249 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:251:92: error: 'Subscriber' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
249 |     }
250 |
251 |     func receive<S>(subscriber: S) where KeyboardEvent == S.Input, Never == S.Failure, S : Subscriber {
    |          |                                                                                 `- error: 'Subscriber' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
252 |         underlyingSubject.receive(subscriber: subscriber)
253 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:259:27: error: 'Subscribers' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
257 |     }
258 |
259 |     func send(completion: Subscribers.Completion<Never>) {
    |          |                `- error: 'Subscribers' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
260 |         underlyingSubject.send(completion: completion)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:39:38: error: 'eraseToAnyPublisher()' is only available in macOS 10.15 or newer
 19 |
 20 | /// Events posted by the keyboard
 21 | public enum KeyboardEvent {
    |             `- note: add @available attribute to enclosing enum
 22 |     /// Sent from the keyboard view's `onAppear()`
 23 |     case keyboardDidAppear
    :
 36 |     /// - Parameter id: A `KeyboardIdentifier` that uniquely identifies this keyboard instance.
 37 |     /// - Returns: A `Publisher` that emits events from the keyboard.
 38 |     public static func publisher(for id: KeyboardIdentifier) -> AnyPublisher<KeyboardEvent, Never> {
    |                        `- note: add @available attribute to enclosing static method
 39 |         KeyboardEventSubject.for(id).eraseToAnyPublisher()
    |                                      |- error: 'eraseToAnyPublisher()' is only available in macOS 10.15 or newer
    |                                      `- note: add 'if #available' version check
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:230:22: error: 'withLock' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
227 |     }
228 |
229 |     static func `for`(_ id: KeyboardIdentifier) -> KeyboardEventSubject {
    |                 `- note: add @available attribute to enclosing static method
230 |         subjectsLock.withLock {
    |                      |- error: 'withLock' is only available in macOS 13.0 or newer
    |                      `- note: add 'if #available' version check
231 |             if let w = allSubjects[id], let s = w.ref {
232 |                 return s
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:242:27: error: 'withLock' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
240 |
241 |     deinit {
242 |         Self.subjectsLock.withLock {
    |                           |- error: 'withLock' is only available in macOS 13.0 or newer
    |                           `- note: add 'if #available' version check
243 |             _ = Self.allSubjects.removeValue(forKey: id)
244 |         }
[16/16] Compiling VisionKeyboardKit KeyboardEventPS2.swift
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:38:65: error: 'AnyPublisher' is only available in macOS 10.15 or newer
 19 |
 20 | /// Events posted by the keyboard
 21 | public enum KeyboardEvent {
    |             `- note: add @available attribute to enclosing enum
 22 |     /// Sent from the keyboard view's `onAppear()`
 23 |     case keyboardDidAppear
    :
 36 |     /// - Parameter id: A `KeyboardIdentifier` that uniquely identifies this keyboard instance.
 37 |     /// - Returns: A `Publisher` that emits events from the keyboard.
 38 |     public static func publisher(for id: KeyboardIdentifier) -> AnyPublisher<KeyboardEvent, Never> {
    |                        |                                        `- error: 'AnyPublisher' is only available in macOS 10.15 or newer
    |                        `- note: add @available attribute to enclosing static method
 39 |         KeyboardEventSubject.for(id).eraseToAnyPublisher()
 40 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:45:61: error: 'AnyPublisher' is only available in macOS 10.15 or newer
 19 |
 20 | /// Events posted by the keyboard
 21 | public enum KeyboardEvent {
    |             `- note: add @available attribute to enclosing enum
 22 |     /// Sent from the keyboard view's `onAppear()`
 23 |     case keyboardDidAppear
    :
 43 |     /// - Parameter id: Unique identifier for the keyboard to handle events from.
 44 |     /// - Returns: A `Publisher` that emits events from the keyboard.
 45 |     public static func publisher<H: Hashable>(for id: H) -> AnyPublisher<KeyboardEvent, Never> {
    |                        |                                    `- error: 'AnyPublisher' is only available in macOS 10.15 or newer
    |                        `- note: add @available attribute to enclosing static method
 46 |         publisher(for: KeyboardIdentifier(for: id))
 47 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:220:39: error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
219 |
220 |     private static var subjectsLock = OSAllocatedUnfairLock()
    |                        |              `- error: 'OSAllocatedUnfairLock' is only available in macOS 13.0 or newer
    |                        `- note: add @available attribute to enclosing static property
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:220:39: error: 'init()' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
219 |
220 |     private static var subjectsLock = OSAllocatedUnfairLock()
    |                        |              `- error: 'init()' is only available in macOS 13.0 or newer
    |                        `- note: add @available attribute to enclosing static property
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:223:37: error: 'PassthroughSubject' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
221 |     private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 |     private let id: KeyboardIdentifier
223 |     private let underlyingSubject = PassthroughSubject<Output, Failure>()
    |                                     `- error: 'PassthroughSubject' is only available in macOS 10.15 or newer
224 |
225 |     private init(for id: KeyboardIdentifier) {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:247:29: error: 'Subscription' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
245 |     }
246 |
247 |     func send(subscription: Subscription) {
    |          |                  `- error: 'Subscription' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
248 |         underlyingSubject.send(subscription: subscription)
249 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:251:92: error: 'Subscriber' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
249 |     }
250 |
251 |     func receive<S>(subscriber: S) where KeyboardEvent == S.Input, Never == S.Failure, S : Subscriber {
    |          |                                                                                 `- error: 'Subscriber' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
252 |         underlyingSubject.receive(subscriber: subscriber)
253 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:259:27: error: 'Subscribers' is only available in macOS 10.15 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
257 |     }
258 |
259 |     func send(completion: Subscribers.Completion<Never>) {
    |          |                `- error: 'Subscribers' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
260 |         underlyingSubject.send(completion: completion)
261 |     }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:39:38: error: 'eraseToAnyPublisher()' is only available in macOS 10.15 or newer
 19 |
 20 | /// Events posted by the keyboard
 21 | public enum KeyboardEvent {
    |             `- note: add @available attribute to enclosing enum
 22 |     /// Sent from the keyboard view's `onAppear()`
 23 |     case keyboardDidAppear
    :
 36 |     /// - Parameter id: A `KeyboardIdentifier` that uniquely identifies this keyboard instance.
 37 |     /// - Returns: A `Publisher` that emits events from the keyboard.
 38 |     public static func publisher(for id: KeyboardIdentifier) -> AnyPublisher<KeyboardEvent, Never> {
    |                        `- note: add @available attribute to enclosing static method
 39 |         KeyboardEventSubject.for(id).eraseToAnyPublisher()
    |                                      |- error: 'eraseToAnyPublisher()' is only available in macOS 10.15 or newer
    |                                      `- note: add 'if #available' version check
 40 |     }
 41 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:230:22: error: 'withLock' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
227 |     }
228 |
229 |     static func `for`(_ id: KeyboardIdentifier) -> KeyboardEventSubject {
    |                 `- note: add @available attribute to enclosing static method
230 |         subjectsLock.withLock {
    |                      |- error: 'withLock' is only available in macOS 13.0 or newer
    |                      `- note: add 'if #available' version check
231 |             if let w = allSubjects[id], let s = w.ref {
232 |                 return s
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:242:27: error: 'withLock' is only available in macOS 13.0 or newer
214 | /// their reference and so it is safe to clean up the map entry (which should be holding a box with a nil reference).
215 | /// We make sure all this is done in a thread safe manner by the use of `subjectsLock`.
216 | final class KeyboardEventSubject: Subject {
    |             `- note: add @available attribute to enclosing class
217 |     typealias Output = KeyboardEvent
218 |     typealias Failure = Never
    :
240 |
241 |     deinit {
242 |         Self.subjectsLock.withLock {
    |                           |- error: 'withLock' is only available in macOS 13.0 or newer
    |                           `- note: add 'if #available' version check
243 |             _ = Self.allSubjects.removeValue(forKey: id)
244 |         }
BUILD FAILURE 6.2 macosSpm