Build Information
Failed to build VisionKeyboardKit, reference main (0804e4
), with Swift 6.0 for macOS (SPM) on 14 Sep 2024 22:04:41 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
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
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 @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
18 |
19 | @Observable
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<Member>(
+--------------------------------------------------------------------
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
18 |
19 | @Observable
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<Member>(
+--------------------------------------------------------------------
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:29:9: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
27 |
28 | /// The RK entity where the sound will originate
29 | let entity = Entity()
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
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/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:37:22: warning: call to main actor-isolated static method 'load(contentsOf:withName:configuration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
33 | private var pressModifierPlayer: AudioPlaybackController?
34 |
35 | private func loadAudioResource(for url: URL) -> AudioFileResource? {
| `- note: add '@MainActor' to make instance method 'loadAudioResource(for:)' part of global actor 'MainActor'
36 | let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
37 | return try? .load(contentsOf: url, configuration: configuration)
| `- warning: call to main actor-isolated static method 'load(contentsOf:withName:configuration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
38 | }
39 |
RealityFoundation.AudioFileResource:3:51: note: calls to static method 'load(contentsOf:withName:configuration:)' from outside of its actor context are implicitly asynchronous
1 | @available(visionOS 1.0, macOS 15.0, iOS 18.0, *)
2 | extension AudioFileResource {
3 | @MainActor @preconcurrency public static func load(contentsOf url: URL, withName name: String? = nil, configuration: AudioFileResource.Configuration = .init()) throws -> AudioFileResource
| `- note: calls to static method 'load(contentsOf:withName:configuration:)' from outside of its actor context are implicitly asynchronous
4 | @MainActor @preconcurrency public static func load(named name: String, in bundle: Bundle? = nil, configuration: AudioFileResource.Configuration = .init()) throws -> AudioFileResource
5 | @MainActor @preconcurrency public static func load(named name: String, from scene: String, in bundle: Bundle? = nil) throws -> AudioFileResource
/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:81:40: warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
79 | let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
80 | if let resource = loadAudioResource(for: pressNormalUrl) {
81 | pressNormalPlayer = entity.prepareAudio(resource)
| `- warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
82 | }
83 | if let resource = loadAudioResource(for: pressDeleteUrl) {
RealityFoundation.Entity:5:44: note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
3 | @discardableResult
4 | @MainActor @preconcurrency public func playAudio(_ resource: AudioResource) -> AudioPlaybackController
5 | @MainActor @preconcurrency public func prepareAudio(_ resource: AudioResource) -> AudioPlaybackController
| `- note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
6 | @MainActor @preconcurrency public func stopAllAudio()
7 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:84:40: warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
82 | }
83 | if let resource = loadAudioResource(for: pressDeleteUrl) {
84 | pressDeletePlayer = entity.prepareAudio(resource)
| `- warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | if let resource = loadAudioResource(for: pressModifierUrl) {
RealityFoundation.Entity:5:44: note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
3 | @discardableResult
4 | @MainActor @preconcurrency public func playAudio(_ resource: AudioResource) -> AudioPlaybackController
5 | @MainActor @preconcurrency public func prepareAudio(_ resource: AudioResource) -> AudioPlaybackController
| `- note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
6 | @MainActor @preconcurrency public func stopAllAudio()
7 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:87:42: warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | if let resource = loadAudioResource(for: pressModifierUrl) {
87 | pressModifierPlayer = entity.prepareAudio(resource)
| `- warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
88 | }
89 | }
RealityFoundation.Entity:5:44: note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
3 | @discardableResult
4 | @MainActor @preconcurrency public func playAudio(_ resource: AudioResource) -> AudioPlaybackController
5 | @MainActor @preconcurrency public func prepareAudio(_ resource: AudioResource) -> AudioPlaybackController
| `- note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
6 | @MainActor @preconcurrency public func stopAllAudio()
7 | }
/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
AVFAudio.AVAudioSession:2:12: note: 'AVAudioSession' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class AVAudioSession : NSObject, @unchecked Sendable {
| `- note: 'AVAudioSession' has been explicitly marked unavailable here
3 | @available(macOS, unavailable)
4 | open class func sharedInstance() -> AVAudioSession
/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:4:21: note: 'sharedInstance()' has been explicitly marked unavailable here
2 | open class AVAudioSession : NSObject, @unchecked Sendable {
3 | @available(macOS, unavailable)
4 | open class func sharedInstance() -> AVAudioSession
| `- note: 'sharedInstance()' has been explicitly marked unavailable here
5 | @available(macOS, unavailable)
6 | open var availableCategories: [AVAudioSession.Category] { get }
/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
AVFAudio.AVAudioSession:25:14: note: 'category' has been explicitly marked unavailable here
23 | open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, routeSharingPolicy policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws
24 | @available(macOS, unavailable)
25 | open var category: AVAudioSession.Category { get }
| `- note: 'category' has been explicitly marked unavailable here
26 | @available(macOS, unavailable)
27 | open var categoryOptions: AVAudioSession.CategoryOptions { get }
/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
AVFAudio.AVAudioSession:35:14: note: 'mode' has been explicitly marked unavailable here
33 | open func setMode(_ mode: AVAudioSession.Mode) throws
34 | @available(macOS, unavailable)
35 | open var mode: AVAudioSession.Mode { get }
| `- note: 'mode' has been explicitly marked unavailable here
36 | @available(macOS, unavailable)
37 | open func setAllowHapticsAndSystemSoundsDuringRecording(_ inValue: Bool) throws
/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 {
AVFAudio.AVAudioSession:29:14: note: 'routeSharingPolicy' has been explicitly marked unavailable here
27 | open var categoryOptions: AVAudioSession.CategoryOptions { get }
28 | @available(macOS, unavailable)
29 | open var routeSharingPolicy: AVAudioSession.RouteSharingPolicy { get }
| `- note: 'routeSharingPolicy' has been explicitly marked unavailable here
30 | @available(macOS, unavailable)
31 | open var availableModes: [AVAudioSession.Mode] { get }
/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)
AVFAudio.AVAudioSession:27:14: note: 'categoryOptions' has been explicitly marked unavailable here
25 | open var category: AVAudioSession.Category { get }
26 | @available(macOS, unavailable)
27 | open var categoryOptions: AVAudioSession.CategoryOptions { get }
| `- note: 'categoryOptions' has been explicitly marked unavailable here
28 | @available(macOS, unavailable)
29 | open var routeSharingPolicy: AVAudioSession.RouteSharingPolicy { get }
/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:20:15: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
18 | open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions = []) throws
19 | @available(macOS, unavailable)
20 | 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
21 | @available(swift, obsoleted: 4.2, renamed: "setCategory(_:mode:policy:options:)")
22 | @available(macOS, unavailable)
/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)
AVFAudio.AVAudioSession.Category:3:23: note: 'ambient' has been explicitly marked unavailable here
1 | extension AVAudioSession.Category {
2 | @available(macOS, unavailable)
3 | public static let ambient: AVAudioSession.Category
| `- note: 'ambient' has been explicitly marked unavailable here
4 | @available(macOS, unavailable)
5 | public static let soloAmbient: AVAudioSession.Category
/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)
AVFAudio.AVAudioSession.Mode:3:23: note: 'default' has been explicitly marked unavailable here
1 | extension AVAudioSession.Mode {
2 | @available(macOS, unavailable)
3 | public static let `default`: AVAudioSession.Mode
| `- note: 'default' has been explicitly marked unavailable here
4 | @available(macOS, unavailable)
5 | public static let voiceChat: AVAudioSession.Mode
/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:20:15: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
18 | open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions = []) throws
19 | @available(macOS, unavailable)
20 | 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
21 | @available(swift, obsoleted: 4.2, renamed: "setCategory(_:mode:policy:options:)")
22 | @available(macOS, unavailable)
/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:29:9: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
27 |
28 | /// The RK entity where the sound will originate
29 | let entity = Entity()
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
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/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:37:22: warning: call to main actor-isolated static method 'load(contentsOf:withName:configuration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
33 | private var pressModifierPlayer: AudioPlaybackController?
34 |
35 | private func loadAudioResource(for url: URL) -> AudioFileResource? {
| `- note: add '@MainActor' to make instance method 'loadAudioResource(for:)' part of global actor 'MainActor'
36 | let configuration = AudioFileResource.Configuration(calibration: .absolute(dBSPL: 58.0))
37 | return try? .load(contentsOf: url, configuration: configuration)
| `- warning: call to main actor-isolated static method 'load(contentsOf:withName:configuration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
38 | }
39 |
RealityFoundation.AudioFileResource:3:51: note: calls to static method 'load(contentsOf:withName:configuration:)' from outside of its actor context are implicitly asynchronous
1 | @available(visionOS 1.0, macOS 15.0, iOS 18.0, *)
2 | extension AudioFileResource {
3 | @MainActor @preconcurrency public static func load(contentsOf url: URL, withName name: String? = nil, configuration: AudioFileResource.Configuration = .init()) throws -> AudioFileResource
| `- note: calls to static method 'load(contentsOf:withName:configuration:)' from outside of its actor context are implicitly asynchronous
4 | @MainActor @preconcurrency public static func load(named name: String, in bundle: Bundle? = nil, configuration: AudioFileResource.Configuration = .init()) throws -> AudioFileResource
5 | @MainActor @preconcurrency public static func load(named name: String, from scene: String, in bundle: Bundle? = nil) throws -> AudioFileResource
/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:81:40: warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
79 | let pressModifierUrl = uiSoundsUrl.appending(component: "key_press_modifier.caf")
80 | if let resource = loadAudioResource(for: pressNormalUrl) {
81 | pressNormalPlayer = entity.prepareAudio(resource)
| `- warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
82 | }
83 | if let resource = loadAudioResource(for: pressDeleteUrl) {
RealityFoundation.Entity:5:44: note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
3 | @discardableResult
4 | @MainActor @preconcurrency public func playAudio(_ resource: AudioResource) -> AudioPlaybackController
5 | @MainActor @preconcurrency public func prepareAudio(_ resource: AudioResource) -> AudioPlaybackController
| `- note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
6 | @MainActor @preconcurrency public func stopAllAudio()
7 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:84:40: warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
82 | }
83 | if let resource = loadAudioResource(for: pressDeleteUrl) {
84 | pressDeletePlayer = entity.prepareAudio(resource)
| `- warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | if let resource = loadAudioResource(for: pressModifierUrl) {
RealityFoundation.Entity:5:44: note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
3 | @discardableResult
4 | @MainActor @preconcurrency public func playAudio(_ resource: AudioResource) -> AudioPlaybackController
5 | @MainActor @preconcurrency public func prepareAudio(_ resource: AudioResource) -> AudioPlaybackController
| `- note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
6 | @MainActor @preconcurrency public func stopAllAudio()
7 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardClickSound.swift:87:42: warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
85 | }
86 | if let resource = loadAudioResource(for: pressModifierUrl) {
87 | pressModifierPlayer = entity.prepareAudio(resource)
| `- warning: call to main actor-isolated instance method 'prepareAudio' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
88 | }
89 | }
RealityFoundation.Entity:5:44: note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
3 | @discardableResult
4 | @MainActor @preconcurrency public func playAudio(_ resource: AudioResource) -> AudioPlaybackController
5 | @MainActor @preconcurrency public func prepareAudio(_ resource: AudioResource) -> AudioPlaybackController
| `- note: calls to instance method 'prepareAudio' from outside of its actor context are implicitly asynchronous
6 | @MainActor @preconcurrency public func stopAllAudio()
7 | }
/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
AVFAudio.AVAudioSession:2:12: note: 'AVAudioSession' has been explicitly marked unavailable here
1 | @available(macOS, unavailable)
2 | open class AVAudioSession : NSObject, @unchecked Sendable {
| `- note: 'AVAudioSession' has been explicitly marked unavailable here
3 | @available(macOS, unavailable)
4 | open class func sharedInstance() -> AVAudioSession
/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:4:21: note: 'sharedInstance()' has been explicitly marked unavailable here
2 | open class AVAudioSession : NSObject, @unchecked Sendable {
3 | @available(macOS, unavailable)
4 | open class func sharedInstance() -> AVAudioSession
| `- note: 'sharedInstance()' has been explicitly marked unavailable here
5 | @available(macOS, unavailable)
6 | open var availableCategories: [AVAudioSession.Category] { get }
/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
AVFAudio.AVAudioSession:25:14: note: 'category' has been explicitly marked unavailable here
23 | open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, routeSharingPolicy policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws
24 | @available(macOS, unavailable)
25 | open var category: AVAudioSession.Category { get }
| `- note: 'category' has been explicitly marked unavailable here
26 | @available(macOS, unavailable)
27 | open var categoryOptions: AVAudioSession.CategoryOptions { get }
/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
AVFAudio.AVAudioSession:35:14: note: 'mode' has been explicitly marked unavailable here
33 | open func setMode(_ mode: AVAudioSession.Mode) throws
34 | @available(macOS, unavailable)
35 | open var mode: AVAudioSession.Mode { get }
| `- note: 'mode' has been explicitly marked unavailable here
36 | @available(macOS, unavailable)
37 | open func setAllowHapticsAndSystemSoundsDuringRecording(_ inValue: Bool) throws
/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 {
AVFAudio.AVAudioSession:29:14: note: 'routeSharingPolicy' has been explicitly marked unavailable here
27 | open var categoryOptions: AVAudioSession.CategoryOptions { get }
28 | @available(macOS, unavailable)
29 | open var routeSharingPolicy: AVAudioSession.RouteSharingPolicy { get }
| `- note: 'routeSharingPolicy' has been explicitly marked unavailable here
30 | @available(macOS, unavailable)
31 | open var availableModes: [AVAudioSession.Mode] { get }
/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)
AVFAudio.AVAudioSession:27:14: note: 'categoryOptions' has been explicitly marked unavailable here
25 | open var category: AVAudioSession.Category { get }
26 | @available(macOS, unavailable)
27 | open var categoryOptions: AVAudioSession.CategoryOptions { get }
| `- note: 'categoryOptions' has been explicitly marked unavailable here
28 | @available(macOS, unavailable)
29 | open var routeSharingPolicy: AVAudioSession.RouteSharingPolicy { get }
/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:20:15: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
18 | open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions = []) throws
19 | @available(macOS, unavailable)
20 | 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
21 | @available(swift, obsoleted: 4.2, renamed: "setCategory(_:mode:policy:options:)")
22 | @available(macOS, unavailable)
/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)
AVFAudio.AVAudioSession.Category:3:23: note: 'ambient' has been explicitly marked unavailable here
1 | extension AVAudioSession.Category {
2 | @available(macOS, unavailable)
3 | public static let ambient: AVAudioSession.Category
| `- note: 'ambient' has been explicitly marked unavailable here
4 | @available(macOS, unavailable)
5 | public static let soloAmbient: AVAudioSession.Category
/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)
AVFAudio.AVAudioSession.Mode:3:23: note: 'default' has been explicitly marked unavailable here
1 | extension AVAudioSession.Mode {
2 | @available(macOS, unavailable)
3 | public static let `default`: AVAudioSession.Mode
| `- note: 'default' has been explicitly marked unavailable here
4 | @available(macOS, unavailable)
5 | public static let voiceChat: AVAudioSession.Mode
/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:20:15: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
18 | open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions = []) throws
19 | @available(macOS, unavailable)
20 | 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
21 | @available(swift, obsoleted: 4.2, renamed: "setCategory(_:mode:policy:options:)")
22 | @available(macOS, unavailable)
/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:54:23: warning: static property 'none' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 | public let rawValue: Int
53 |
54 | public static var none = KeyboardModifier(rawValue: 0)
| |- warning: static property 'none' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'none' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'none' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 | public static var leftShift = KeyboardModifier(rawValue: 1 << 0)
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:55:23: warning: static property 'leftShift' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | public static var none = KeyboardModifier(rawValue: 0)
55 | public static var leftShift = KeyboardModifier(rawValue: 1 << 0)
| |- warning: static property 'leftShift' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'leftShift' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'leftShift' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:56:23: warning: static property 'rightShift' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | public static var none = KeyboardModifier(rawValue: 0)
55 | public static var leftShift = KeyboardModifier(rawValue: 1 << 0)
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
| |- warning: static property 'rightShift' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'rightShift' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'rightShift' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:57:23: warning: static property 'leftControl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
55 | public static var leftShift = KeyboardModifier(rawValue: 1 << 0)
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
| |- warning: static property 'leftControl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'leftControl' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'leftControl' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:58:23: warning: static property 'rightControl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
| |- warning: static property 'rightControl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'rightControl' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'rightControl' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:59:23: warning: static property 'leftOption' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
| |- warning: static property 'leftOption' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'leftOption' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'leftOption' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:60:23: warning: static property 'rightOption' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
| |- warning: static property 'rightOption' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'rightOption' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'rightOption' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:61:23: warning: static property 'leftCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
| |- warning: static property 'leftCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'leftCommand' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'leftCommand' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:62:23: warning: static property 'rightCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
| |- warning: static property 'rightCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'rightCommand' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'rightCommand' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
64 | public static var scrollLock = KeyboardModifier(rawValue: 1 << 9)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:63:23: warning: static property 'capsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
| |- warning: static property 'capsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'capsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'capsLock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | public static var scrollLock = KeyboardModifier(rawValue: 1 << 9)
65 | public static var numLock = KeyboardModifier(rawValue: 1 << 10)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:64:23: warning: static property 'scrollLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
64 | public static var scrollLock = KeyboardModifier(rawValue: 1 << 9)
| |- warning: static property 'scrollLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'scrollLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'scrollLock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 | public static var numLock = KeyboardModifier(rawValue: 1 << 10)
66 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:65:23: warning: static property 'numLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
64 | public static var scrollLock = KeyboardModifier(rawValue: 1 << 9)
65 | public static var numLock = KeyboardModifier(rawValue: 1 << 10)
| |- warning: static property 'numLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'numLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'numLock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
66 |
67 | public init(rawValue: Int) {
/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:220:24: warning: static property 'subjectsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
218 | typealias Failure = Never
219 |
220 | private static var subjectsLock = OSAllocatedUnfairLock()
| |- warning: static property 'subjectsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subjectsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'subjectsLock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
221 | private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 | private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:221:24: warning: static property 'allSubjects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
219 |
220 | private static var subjectsLock = OSAllocatedUnfairLock()
221 | private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
| |- warning: static property 'allSubjects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'allSubjects' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'allSubjects' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
222 | private let id: KeyboardIdentifier
223 | private let underlyingSubject = PassthroughSubject<Output, Failure>()
/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:231:36: warning: capture of 'id' with non-sendable type 'KeyboardIdentifier' in a `@Sendable` closure; this is an error in the Swift 6 language mode
229 | static func `for`(_ id: KeyboardIdentifier) -> KeyboardEventSubject {
230 | subjectsLock.withLock {
231 | if let w = allSubjects[id], let s = w.ref {
| `- warning: capture of 'id' with non-sendable type 'KeyboardIdentifier' in a `@Sendable` closure; this is an error in the Swift 6 language mode
232 | return s
233 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardIdentifier.swift:20:15: note: consider making struct 'KeyboardIdentifier' conform to the 'Sendable' protocol
18 |
19 | /// Represents a unique instance of the keyboard.
20 | public struct KeyboardIdentifier: Codable, Hashable {
| `- note: consider making struct 'KeyboardIdentifier' conform to the 'Sendable' protocol
21 | private let id: Int
22 |
/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:243:54: warning: capture of 'self' with non-sendable type 'KeyboardEventSubject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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: class 'KeyboardEventSubject' does not conform to the 'Sendable' protocol
217 | typealias Output = KeyboardEvent
218 | typealias Failure = Never
:
241 | deinit {
242 | Self.subjectsLock.withLock {
243 | _ = Self.allSubjects.removeValue(forKey: id)
| `- warning: capture of 'self' with non-sendable type 'KeyboardEventSubject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
244 | }
245 | }
[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:54:23: warning: static property 'none' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
52 | public let rawValue: Int
53 |
54 | public static var none = KeyboardModifier(rawValue: 0)
| |- warning: static property 'none' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'none' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'none' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
55 | public static var leftShift = KeyboardModifier(rawValue: 1 << 0)
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:55:23: warning: static property 'leftShift' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | public static var none = KeyboardModifier(rawValue: 0)
55 | public static var leftShift = KeyboardModifier(rawValue: 1 << 0)
| |- warning: static property 'leftShift' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'leftShift' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'leftShift' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:56:23: warning: static property 'rightShift' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | public static var none = KeyboardModifier(rawValue: 0)
55 | public static var leftShift = KeyboardModifier(rawValue: 1 << 0)
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
| |- warning: static property 'rightShift' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'rightShift' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'rightShift' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:57:23: warning: static property 'leftControl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
55 | public static var leftShift = KeyboardModifier(rawValue: 1 << 0)
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
| |- warning: static property 'leftControl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'leftControl' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'leftControl' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:58:23: warning: static property 'rightControl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
56 | public static var rightShift = KeyboardModifier(rawValue: 1 << 1)
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
| |- warning: static property 'rightControl' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'rightControl' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'rightControl' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:59:23: warning: static property 'leftOption' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 | public static var leftControl = KeyboardModifier(rawValue: 1 << 2)
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
| |- warning: static property 'leftOption' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'leftOption' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'leftOption' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:60:23: warning: static property 'rightOption' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
58 | public static var rightControl = KeyboardModifier(rawValue: 1 << 3)
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
| |- warning: static property 'rightOption' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'rightOption' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'rightOption' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:61:23: warning: static property 'leftCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
59 | public static var leftOption = KeyboardModifier(rawValue: 1 << 4)
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
| |- warning: static property 'leftCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'leftCommand' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'leftCommand' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:62:23: warning: static property 'rightCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
60 | public static var rightOption = KeyboardModifier(rawValue: 1 << 5)
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
| |- warning: static property 'rightCommand' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'rightCommand' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'rightCommand' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
64 | public static var scrollLock = KeyboardModifier(rawValue: 1 << 9)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:63:23: warning: static property 'capsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
61 | public static var leftCommand = KeyboardModifier(rawValue: 1 << 6)
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
| |- warning: static property 'capsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'capsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'capsLock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | public static var scrollLock = KeyboardModifier(rawValue: 1 << 9)
65 | public static var numLock = KeyboardModifier(rawValue: 1 << 10)
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:64:23: warning: static property 'scrollLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
62 | public static var rightCommand = KeyboardModifier(rawValue: 1 << 7)
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
64 | public static var scrollLock = KeyboardModifier(rawValue: 1 << 9)
| |- warning: static property 'scrollLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'scrollLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'scrollLock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 | public static var numLock = KeyboardModifier(rawValue: 1 << 10)
66 |
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:65:23: warning: static property 'numLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
63 | public static var capsLock = KeyboardModifier(rawValue: 1 << 8)
64 | public static var scrollLock = KeyboardModifier(rawValue: 1 << 9)
65 | public static var numLock = KeyboardModifier(rawValue: 1 << 10)
| |- warning: static property 'numLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'numLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'numLock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
66 |
67 | public init(rawValue: Int) {
/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:220:24: warning: static property 'subjectsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
218 | typealias Failure = Never
219 |
220 | private static var subjectsLock = OSAllocatedUnfairLock()
| |- warning: static property 'subjectsLock' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subjectsLock' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'subjectsLock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
221 | private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
222 | private let id: KeyboardIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:221:24: warning: static property 'allSubjects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
219 |
220 | private static var subjectsLock = OSAllocatedUnfairLock()
221 | private static var allSubjects: [KeyboardIdentifier: Weak<KeyboardEventSubject>] = [:]
| |- warning: static property 'allSubjects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'allSubjects' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'allSubjects' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
222 | private let id: KeyboardIdentifier
223 | private let underlyingSubject = PassthroughSubject<Output, Failure>()
/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:231:36: warning: capture of 'id' with non-sendable type 'KeyboardIdentifier' in a `@Sendable` closure; this is an error in the Swift 6 language mode
229 | static func `for`(_ id: KeyboardIdentifier) -> KeyboardEventSubject {
230 | subjectsLock.withLock {
231 | if let w = allSubjects[id], let s = w.ref {
| `- warning: capture of 'id' with non-sendable type 'KeyboardIdentifier' in a `@Sendable` closure; this is an error in the Swift 6 language mode
232 | return s
233 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardIdentifier.swift:20:15: note: consider making struct 'KeyboardIdentifier' conform to the 'Sendable' protocol
18 |
19 | /// Represents a unique instance of the keyboard.
20 | public struct KeyboardIdentifier: Codable, Hashable {
| `- note: consider making struct 'KeyboardIdentifier' conform to the 'Sendable' protocol
21 | private let id: Int
22 |
/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 | }
/Users/admin/builder/spi-builder-workspace/Sources/VisionKeyboardKit/KeyboardEvent.swift:243:54: warning: capture of 'self' with non-sendable type 'KeyboardEventSubject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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: class 'KeyboardEventSubject' does not conform to the 'Sendable' protocol
217 | typealias Output = KeyboardEvent
218 | typealias Failure = Never
:
241 | deinit {
242 | Self.subjectsLock.withLock {
243 | _ = Self.allSubjects.removeValue(forKey: id)
| `- warning: capture of 'self' with non-sendable type 'KeyboardEventSubject' in a `@Sendable` closure; this is an error in the Swift 6 language mode
244 | }
245 | }
BUILD FAILURE 6.0 macosSpm