Build Information
Failed to build SwiftUI-DetectGestureUtil, reference main (472f03), with Swift 6.2 for macOS (SPM) on 18 Feb 2026 09:07:50 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Saw-000/SwiftUI-DetectGestureUtil
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 472f034 Rename args. (#35)
Cloned https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git
Revision (git rev-parse @):
472f034dd971803c1a8446b41fc5761ed0c4be3c
SUCCESS checkout https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "swiftui-detectgestureutil",
"name": "SwiftUI-DetectGestureUtil",
"url": "https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftUI-DetectGestureUtil",
"dependencies": [
]
}
]
}
Fetching https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git
[1/719] Fetching swiftui-detectgestureutil
Fetched https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git from cache (1.06s)
Creating working copy for https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git
Working copy of https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git resolved at main (472f034)
warning: '.resolve-product-dependencies': dependency 'swiftui-detectgestureutil' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/Saw-000/SwiftUI-DetectGestureUtil.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0.app xcrun swift build --arch arm64
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-49B95AFC49DCD68C.txt
[5/7] Compiling MyModuleCore CGSize+Extension.swift
[6/7] Compiling MyModuleCore Sequence+Extension.swift
[7/7] Emitting module MyModuleCore
[8/16] Compiling MyModuleFeatureDetectGesture TouchPeriod.swift
[9/16] Compiling MyModuleFeatureDetectGesture DetectGestureTouchSequence.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureTouchSequence.swift:21:44: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
4 | public struct DetectGestureTouchSequence: Identifiable {
5 | /// Value containing gesture state information (like DragGesture.Value)
6 | public struct Value: Identifiable {
| `- note: add '@available' attribute to enclosing struct
7 | /// Timing of gesture state update
8 | public enum Timing {
:
19 |
20 | /// Spatial event collection from SwiftUI
21 | public let spatialEventCollection: SpatialEventCollection
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
22 | /// Geometry proxy for view bounds
23 | public let geometryProxy: GeometryProxy
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureTouchSequence.swift:23:35: error: 'GeometryProxy' is only available in macOS 10.15 or newer
4 | public struct DetectGestureTouchSequence: Identifiable {
5 | /// Value containing gesture state information (like DragGesture.Value)
6 | public struct Value: Identifiable {
| `- note: add '@available' attribute to enclosing struct
7 | /// Timing of gesture state update
8 | public enum Timing {
:
21 | public let spatialEventCollection: SpatialEventCollection
22 | /// Geometry proxy for view bounds
23 | public let geometryProxy: GeometryProxy
| `- error: 'GeometryProxy' is only available in macOS 10.15 or newer
24 | /// Timing of this state update
25 | public var timing: Timing
[10/16] Compiling MyModuleFeatureDetectGesture Convert+Extention.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[11/16] Compiling MyModuleFeatureDetectGesture DefaultDetectGesture.swift
[12/16] Compiling MyModuleFeatureDetectGesture DetectGesturePinchValue.swift
[13/16] Emitting module MyModuleFeatureDetectGesture
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:6:6: error: 'State' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
| `- error: 'State' is only available in macOS 10.15 or newer
7 |
8 | @State private var geometry: GeometryProxy? = nil
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:8:34: error: 'GeometryProxy' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
7 |
8 | @State private var geometry: GeometryProxy? = nil
| `- error: 'GeometryProxy' is only available in macOS 10.15 or newer
9 |
10 | /// Coordinate space for gesture tracking
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:8:6: error: 'State' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
7 |
8 | @State private var geometry: GeometryProxy? = nil
| `- error: 'State' is only available in macOS 10.15 or newer
9 |
10 | /// Coordinate space for gesture tracking
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:11:34: error: 'CoordinateSpaceProtocol' is only available in macOS 14.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
9 |
10 | /// Coordinate space for gesture tracking
11 | private let coordinateSpace: CoordinateSpaceProtocol = .local
| `- error: 'CoordinateSpaceProtocol' is only available in macOS 14.0 or newer
12 |
13 | /// Closure to detect gesture from state
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:11:61: error: 'local' is only available in macOS 14.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
9 |
10 | /// Coordinate space for gesture tracking
11 | private let coordinateSpace: CoordinateSpaceProtocol = .local
| `- error: 'local' is only available in macOS 14.0 or newer
12 |
13 | /// Closure to detect gesture from state
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:23:40: error: 'publish(every:tolerance:on:in:options:)' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
21 |
22 | /// Timer for periodic gesture state updates
23 | private let heartbeatTimer = Timer.publish(every: 0.1, on: .main, in: .common).autoconnect()
| `- error: 'publish(every:tolerance:on:in:options:)' is only available in macOS 10.15 or newer
24 |
25 | init(
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:23:84: error: 'autoconnect()' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
21 |
22 | /// Timer for periodic gesture state updates
23 | private let heartbeatTimer = Timer.publish(every: 0.1, on: .main, in: .common).autoconnect()
| `- error: 'autoconnect()' is only available in macOS 10.15 or newer
24 |
25 | init(
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:35:41: error: 'View' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | 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
36 | content
37 | .background(
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:71:33: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
68 |
69 | /// Update state and perform gesture detection and handling.
70 | private func processGesture(
| `- note: add '@available' attribute to enclosing instance method
71 | spatialEventCollection: SpatialEventCollection,
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
72 | geo: GeometryProxy?,
73 | timing: DetectGestureTouchSequence.Value.Timing
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:72:14: error: 'GeometryProxy' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
68 |
69 | /// Update state and perform gesture detection and handling.
70 | private func processGesture(
| `- note: add '@available' attribute to enclosing instance method
71 | spatialEventCollection: SpatialEventCollection,
72 | geo: GeometryProxy?,
| `- error: 'GeometryProxy' is only available in macOS 10.15 or newer
73 | timing: DetectGestureTouchSequence.Value.Timing
74 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:195:15: error: 'View' is only available in macOS 10.15 or newer
178 | }
179 |
180 | public extension View {
| `- note: add '@available' attribute to enclosing extension
181 | /// Set multiple custom gestures simultaneously and detect only one of them.
182 | ///
:
188 | /// - handleGesture: Closure that processes the detected gesture. This is called after the detectGesture phase completes. It receives the GestureDetection type returned by detectGesture. It returns a HandleGestureReturn enum to indicate whether handling is finished. If it returns .finished, it will not be called again, and all gesture processing is completely finished and reset. As long as it returns .yet, it continues to be called when the gesture state is updated (timing is the same as Gesture.changed()). It can also handle across multiple taps.
189 | /// - gestureEnded: Optional closure called immediately after handleGesture returns .finished, indicating gesture handling has completed. Useful for cleanup or state reset operations.
190 | func detectGesture<GestureDetection: Equatable>(
| `- note: add '@available' attribute to enclosing instance method
191 | _: GestureDetection.Type,
192 | detect: @escaping (DetectGestureState<GestureDetection>) -> GestureDetection?,
193 | handle: @escaping (_ detection: GestureDetection, DetectGestureState<GestureDetection>) -> HandleGestureReturn,
194 | gestureEnded: ((_ detection: GestureDetection, DetectGestureState<GestureDetection>) -> Void)? = nil
195 | ) -> some View {
| `- error: 'View' is only available in macOS 10.15 or newer
196 | modifier(DetectGestureViewModifier<GestureDetection>(detect: detect, handle: handle, gestureEnded: gestureEnded))
197 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:180:18: error: 'View' is only available in macOS 10.15 or newer
178 | }
179 |
180 | public extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing extension
181 | /// Set multiple custom gestures simultaneously and detect only one of them.
182 | ///
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/DetectGestureState.swift:465:23: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
70 | // MARK: - Default Gesture Detection
71 |
72 | public extension DetectGestureState {
| `- note: add '@available' attribute to enclosing extension
73 | /// Whether the specified default gesture has already been detected
74 | func detected(
:
462 |
463 | /// Determine if the pinch gesture has ended
464 | private func isPinchEnded(
| `- note: add '@available' attribute to enclosing instance method
465 | eventIDs: Set<SpatialEventCollection.Event.ID>?,
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
466 | lastGestureValue: DetectGestureTouchSequence.Value?
467 | ) -> Bool {
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureFingerSequence.swift:12:53: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
8 | public struct Finger {
9 | /// DetectGestureTouchSequence.Value formatted to focus on a single finger event
10 | public struct Event {
| `- note: add '@available' attribute to enclosing struct
11 | /// event of one finger.
12 | public let spatialEventCollectionEvent: SpatialEventCollection.Event
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
13 | /// attachment information (DetectGestureTouchSequence.Value)
14 | public let relatedGestureValue: DetectGestureTouchSequence.Value
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureFingerSequence.swift:18:51: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
6 | public struct DetectGestureFingerSequence {
7 | /// Collection of events for a single finger
8 | public struct Finger {
| `- note: add '@available' attribute to enclosing struct
9 | /// DetectGestureTouchSequence.Value formatted to focus on a single finger event
10 | public struct Event {
:
16 |
17 | /// Unique identifier for the finger event
18 | public let spatialEventCollectionEventID: SpatialEventCollection.Event.ID
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
19 | /// Array of values for this finger's touch
20 | public let events: [Event]
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureFingerSequence.swift:22:30: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
6 | public struct DetectGestureFingerSequence {
7 | /// Collection of events for a single finger
8 | public struct Finger {
| `- note: add '@available' attribute to enclosing struct
9 | /// DetectGestureTouchSequence.Value formatted to focus on a single finger event
10 | public struct Event {
:
20 | public let events: [Event]
21 |
22 | public init(eventID: SpatialEventCollection.Event.ID, values: [Event]) {
| | `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
| `- note: add '@available' attribute to enclosing initializer
23 | spatialEventCollectionEventID = eventID
24 | events = values.sortedByTimestamp
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureTouchSequence.swift:21:44: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
4 | public struct DetectGestureTouchSequence: Identifiable {
5 | /// Value containing gesture state information (like DragGesture.Value)
6 | public struct Value: Identifiable {
| `- note: add '@available' attribute to enclosing struct
7 | /// Timing of gesture state update
8 | public enum Timing {
:
19 |
20 | /// Spatial event collection from SwiftUI
21 | public let spatialEventCollection: SpatialEventCollection
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
22 | /// Geometry proxy for view bounds
23 | public let geometryProxy: GeometryProxy
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureTouchSequence.swift:23:35: error: 'GeometryProxy' is only available in macOS 10.15 or newer
4 | public struct DetectGestureTouchSequence: Identifiable {
5 | /// Value containing gesture state information (like DragGesture.Value)
6 | public struct Value: Identifiable {
| `- note: add '@available' attribute to enclosing struct
7 | /// Timing of gesture state update
8 | public enum Timing {
:
21 | public let spatialEventCollection: SpatialEventCollection
22 | /// Geometry proxy for view bounds
23 | public let geometryProxy: GeometryProxy
| `- error: 'GeometryProxy' is only available in macOS 10.15 or newer
24 | /// Timing of this state update
25 | public var timing: Timing
[14/16] Compiling MyModuleFeatureDetectGesture DetectGestureFingerSequence.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureFingerSequence.swift:12:53: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
8 | public struct Finger {
9 | /// DetectGestureTouchSequence.Value formatted to focus on a single finger event
10 | public struct Event {
| `- note: add '@available' attribute to enclosing struct
11 | /// event of one finger.
12 | public let spatialEventCollectionEvent: SpatialEventCollection.Event
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
13 | /// attachment information (DetectGestureTouchSequence.Value)
14 | public let relatedGestureValue: DetectGestureTouchSequence.Value
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureFingerSequence.swift:18:51: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
6 | public struct DetectGestureFingerSequence {
7 | /// Collection of events for a single finger
8 | public struct Finger {
| `- note: add '@available' attribute to enclosing struct
9 | /// DetectGestureTouchSequence.Value formatted to focus on a single finger event
10 | public struct Event {
:
16 |
17 | /// Unique identifier for the finger event
18 | public let spatialEventCollectionEventID: SpatialEventCollection.Event.ID
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
19 | /// Array of values for this finger's touch
20 | public let events: [Event]
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/GesutureValue/DetectGestureFingerSequence.swift:22:30: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
6 | public struct DetectGestureFingerSequence {
7 | /// Collection of events for a single finger
8 | public struct Finger {
| `- note: add '@available' attribute to enclosing struct
9 | /// DetectGestureTouchSequence.Value formatted to focus on a single finger event
10 | public struct Event {
:
20 | public let events: [Event]
21 |
22 | public init(eventID: SpatialEventCollection.Event.ID, values: [Event]) {
| | `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
| `- note: add '@available' attribute to enclosing initializer
23 | spatialEventCollectionEventID = eventID
24 | events = values.sortedByTimestamp
[15/16] Compiling MyModuleFeatureDetectGesture DetectGestureState.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/DetectGestureState.swift:465:23: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
70 | // MARK: - Default Gesture Detection
71 |
72 | public extension DetectGestureState {
| `- note: add '@available' attribute to enclosing extension
73 | /// Whether the specified default gesture has already been detected
74 | func detected(
:
462 |
463 | /// Determine if the pinch gesture has ended
464 | private func isPinchEnded(
| `- note: add '@available' attribute to enclosing instance method
465 | eventIDs: Set<SpatialEventCollection.Event.ID>?,
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
466 | lastGestureValue: DetectGestureTouchSequence.Value?
467 | ) -> Bool {
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/DetectGestureState.swift:414:34: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
70 | // MARK: - Default Gesture Detection
71 |
72 | public extension DetectGestureState {
| `- note: add '@available' attribute to enclosing extension
73 | /// Whether the specified default gesture has already been detected
74 | func detected(
:
409 |
410 | /// Calculate pinch state from gesture values
411 | private func pinchValues(from gestureValues: [DetectGestureTouchSequence.Value]) -> [DetectGesturePinch] {
| `- note: add '@available' attribute to enclosing instance method
412 | var pinches: [DetectGesturePinch] = []
413 | var currentPinchValues: [DetectGesturePinchValue] = []
414 | var currentEventIDs: Set<SpatialEventCollection.Event.ID>? = nil
| |- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
415 |
416 | for gestureValue in gestureValues {
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/State/DetectGestureState.swift:420:35: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
70 | // MARK: - Default Gesture Detection
71 |
72 | public extension DetectGestureState {
| `- note: add '@available' attribute to enclosing extension
73 | /// Whether the specified default gesture has already been detected
74 | func detected(
:
409 |
410 | /// Calculate pinch state from gesture values
411 | private func pinchValues(from gestureValues: [DetectGestureTouchSequence.Value]) -> [DetectGesturePinch] {
| `- note: add '@available' attribute to enclosing instance method
412 | var pinches: [DetectGesturePinch] = []
413 | var currentPinchValues: [DetectGesturePinchValue] = []
:
418 | if gestureValue.fingerCount == 2 {
419 | let fingerValues = gestureValue.asFingerEvents()
420 | var eventIDs: Set<SpatialEventCollection.Event.ID> {
| |- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
421 | Set(fingerValues.map { $0.spatialEventCollectionEvent.id })
422 | }
[16/16] Compiling MyModuleFeatureDetectGesture DetectGestureViewModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:6:6: error: 'State' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
| `- error: 'State' is only available in macOS 10.15 or newer
7 |
8 | @State private var geometry: GeometryProxy? = nil
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:8:34: error: 'GeometryProxy' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
7 |
8 | @State private var geometry: GeometryProxy? = nil
| `- error: 'GeometryProxy' is only available in macOS 10.15 or newer
9 |
10 | /// Coordinate space for gesture tracking
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:8:6: error: 'State' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
7 |
8 | @State private var geometry: GeometryProxy? = nil
| `- error: 'State' is only available in macOS 10.15 or newer
9 |
10 | /// Coordinate space for gesture tracking
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:11:34: error: 'CoordinateSpaceProtocol' is only available in macOS 14.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
9 |
10 | /// Coordinate space for gesture tracking
11 | private let coordinateSpace: CoordinateSpaceProtocol = .local
| `- error: 'CoordinateSpaceProtocol' is only available in macOS 14.0 or newer
12 |
13 | /// Closure to detect gesture from state
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:11:61: error: 'local' is only available in macOS 14.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
9 |
10 | /// Coordinate space for gesture tracking
11 | private let coordinateSpace: CoordinateSpaceProtocol = .local
| `- error: 'local' is only available in macOS 14.0 or newer
12 |
13 | /// Closure to detect gesture from state
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:23:40: error: 'publish(every:tolerance:on:in:options:)' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
21 |
22 | /// Timer for periodic gesture state updates
23 | private let heartbeatTimer = Timer.publish(every: 0.1, on: .main, in: .common).autoconnect()
| `- error: 'publish(every:tolerance:on:in:options:)' is only available in macOS 10.15 or newer
24 |
25 | init(
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:23:84: error: 'autoconnect()' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
21 |
22 | /// Timer for periodic gesture state updates
23 | private let heartbeatTimer = Timer.publish(every: 0.1, on: .main, in: .common).autoconnect()
| `- error: 'autoconnect()' is only available in macOS 10.15 or newer
24 |
25 | init(
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:35:41: error: 'View' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | 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
36 | content
37 | .background(
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:71:33: error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
68 |
69 | /// Update state and perform gesture detection and handling.
70 | private func processGesture(
| `- note: add '@available' attribute to enclosing instance method
71 | spatialEventCollection: SpatialEventCollection,
| `- error: 'SpatialEventCollection' is only available in macOS 15.0 or newer
72 | geo: GeometryProxy?,
73 | timing: DetectGestureTouchSequence.Value.Timing
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:72:14: error: 'GeometryProxy' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
68 |
69 | /// Update state and perform gesture detection and handling.
70 | private func processGesture(
| `- note: add '@available' attribute to enclosing instance method
71 | spatialEventCollection: SpatialEventCollection,
72 | geo: GeometryProxy?,
| `- error: 'GeometryProxy' is only available in macOS 10.15 or newer
73 | timing: DetectGestureTouchSequence.Value.Timing
74 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:195:15: error: 'View' is only available in macOS 10.15 or newer
178 | }
179 |
180 | public extension View {
| `- note: add '@available' attribute to enclosing extension
181 | /// Set multiple custom gestures simultaneously and detect only one of them.
182 | ///
:
188 | /// - handleGesture: Closure that processes the detected gesture. This is called after the detectGesture phase completes. It receives the GestureDetection type returned by detectGesture. It returns a HandleGestureReturn enum to indicate whether handling is finished. If it returns .finished, it will not be called again, and all gesture processing is completely finished and reset. As long as it returns .yet, it continues to be called when the gesture state is updated (timing is the same as Gesture.changed()). It can also handle across multiple taps.
189 | /// - gestureEnded: Optional closure called immediately after handleGesture returns .finished, indicating gesture handling has completed. Useful for cleanup or state reset operations.
190 | func detectGesture<GestureDetection: Equatable>(
| `- note: add '@available' attribute to enclosing instance method
191 | _: GestureDetection.Type,
192 | detect: @escaping (DetectGestureState<GestureDetection>) -> GestureDetection?,
193 | handle: @escaping (_ detection: GestureDetection, DetectGestureState<GestureDetection>) -> HandleGestureReturn,
194 | gestureEnded: ((_ detection: GestureDetection, DetectGestureState<GestureDetection>) -> Void)? = nil
195 | ) -> some View {
| `- error: 'View' is only available in macOS 10.15 or newer
196 | modifier(DetectGestureViewModifier<GestureDetection>(detect: detect, handle: handle, gestureEnded: gestureEnded))
197 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:180:18: error: 'View' is only available in macOS 10.15 or newer
178 | }
179 |
180 | public extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing extension
181 | /// Set multiple custom gestures simultaneously and detect only one of them.
182 | ///
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:37:14: error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
| |- error: 'background(_:alignment:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
38 | // Place GeometryReader in background
39 | GeometryReader { geo in
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:39:17: error: 'GeometryReader' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
38 | // Place GeometryReader in background
39 | GeometryReader { geo in
| |- error: 'GeometryReader' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
40 | Color.clear
41 | .onAppear {
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:40:21: error: 'Color' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
38 | // Place GeometryReader in background
39 | GeometryReader { geo in
40 | Color.clear
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
41 | .onAppear {
42 | geometry = geo
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:40:27: error: 'clear' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
38 | // Place GeometryReader in background
39 | GeometryReader { geo in
40 | Color.clear
| |- error: 'clear' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
41 | .onAppear {
42 | geometry = geo
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:41:26: error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
39 | GeometryReader { geo in
40 | Color.clear
41 | .onAppear {
| |- error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
42 | geometry = geo
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:42:29: error: setter for 'geometry' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
40 | Color.clear
41 | .onAppear {
42 | geometry = geo
| |- error: setter for 'geometry' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
43 | }
44 | .onChange(of: geo.size) { _ in
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:44:26: error: 'onChange(of:perform:)' is only available in macOS 11.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
42 | geometry = geo
43 | }
44 | .onChange(of: geo.size) { _ in
| |- error: 'onChange(of:perform:)' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
45 | geometry = geo
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:45:29: error: setter for 'geometry' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
43 | }
44 | .onChange(of: geo.size) { _ in
45 | geometry = geo
| |- error: setter for 'geometry' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | }
47 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:49:14: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
47 | }
48 | )
49 | .gesture(
| |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
50 | SpatialEventGesture(coordinateSpace: coordinateSpace)
51 | .onChanged { events in
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:50:17: error: 'SpatialEventGesture' is only available in macOS 15.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
48 | )
49 | .gesture(
50 | SpatialEventGesture(coordinateSpace: coordinateSpace)
| |- error: 'SpatialEventGesture' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
51 | .onChanged { events in
52 | processGesture(spatialEventCollection: events, geo: geometry, timing: .changed)
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:51:22: error: 'onChanged' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
49 | .gesture(
50 | SpatialEventGesture(coordinateSpace: coordinateSpace)
51 | .onChanged { events in
| |- error: 'onChanged' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
52 | processGesture(spatialEventCollection: events, geo: geometry, timing: .changed)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:54:22: error: 'onEnded' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
52 | processGesture(spatialEventCollection: events, geo: geometry, timing: .changed)
53 | }
54 | .onEnded { events in
| |- error: 'onEnded' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
55 | processGesture(spatialEventCollection: events, geo: geometry, timing: .ended)
56 |
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:54:30: error: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
52 | processGesture(spatialEventCollection: events, geo: geometry, timing: .changed)
53 | }
54 | .onEnded { events in
| |- error: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
55 | processGesture(spatialEventCollection: events, geo: geometry, timing: .ended)
56 |
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:54:30: error: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
52 | processGesture(spatialEventCollection: events, geo: geometry, timing: .changed)
53 | }
54 | .onEnded { events in
| |- error: conformance of 'SpatialEventCollection' to 'Equatable' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
55 | processGesture(spatialEventCollection: events, geo: geometry, timing: .ended)
56 |
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:60:29: error: setter for 'state' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
58 | // In other words, gesture detection and handling can span multiple taps.
59 | if state.handleFinished {
60 | state = DetectGestureState<GestureDetection>()
| |- error: setter for 'state' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
61 | }
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:64:14: error: 'onReceive(_:perform:)' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
33 | }
34 |
35 | func body(content: Content) -> some View {
| `- note: add '@available' attribute to enclosing instance method
36 | content
37 | .background(
:
62 | }
63 | )
64 | .onReceive(heartbeatTimer) { _ in
| |- error: 'onReceive(_:perform:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
65 | processGestureWithHeartBeat()
66 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:90:9: error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
68 |
69 | /// Update state and perform gesture detection and handling.
70 | private func processGesture(
| `- note: add '@available' attribute to enclosing instance method
71 | spatialEventCollection: SpatialEventCollection,
72 | geo: GeometryProxy?,
:
88 | time: Date()
89 | )
90 | state.gestureValues.append(value)
| |- error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
91 |
92 | // Detect and handle gesture
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:125:9: error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
95 |
96 | /// Perform gesture detection and handling with heartbeat.
97 | private func processGestureWithHeartBeat() {
| `- note: add '@available' attribute to enclosing instance method
98 | // Exit if processing after gesture detection is finished.
99 | guard !state.handleFinished else {
:
123 | )
124 |
125 | state.gestureValues.append(value)
| |- error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
126 |
127 | // Detect and handle gesture
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:145:17: error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
130 |
131 | /// Gesture detection and handling
132 | private func processGesture() {
| `- note: add '@available' attribute to enclosing instance method
133 | guard !state.handleFinished else {
134 | return
:
143 | // Record
144 | if let detection {
145 | state.detection = detection
| |- error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
146 | }
147 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:157:17: error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
130 |
131 | /// Gesture detection and handling
132 | private func processGesture() {
| `- note: add '@available' attribute to enclosing instance method
133 | guard !state.handleFinished else {
134 | return
:
155 |
156 | case .finished:
157 | state.handleFinished = handleResult == .finished
| |- error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
158 |
159 | case .cancel:
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:160:17: error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
2 |
3 | /// View modifier for detecting custom gestures
4 | struct DetectGestureViewModifier<GestureDetection: Equatable>: ViewModifier {
| `- note: add '@available' attribute to enclosing generic struct
5 | /// Gesture state binding
6 | @State private var state = DetectGestureState<GestureDetection>()
:
130 |
131 | /// Gesture detection and handling
132 | private func processGesture() {
| `- note: add '@available' attribute to enclosing instance method
133 | guard !state.handleFinished else {
134 | return
:
158 |
159 | case .cancel:
160 | state.detection = nil
| |- error: cannot pass as inout because setter for 'state' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
161 | }
162 |
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:196:9: error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
178 | }
179 |
180 | public extension View {
| `- note: add '@available' attribute to enclosing extension
181 | /// Set multiple custom gestures simultaneously and detect only one of them.
182 | ///
:
188 | /// - handleGesture: Closure that processes the detected gesture. This is called after the detectGesture phase completes. It receives the GestureDetection type returned by detectGesture. It returns a HandleGestureReturn enum to indicate whether handling is finished. If it returns .finished, it will not be called again, and all gesture processing is completely finished and reset. As long as it returns .yet, it continues to be called when the gesture state is updated (timing is the same as Gesture.changed()). It can also handle across multiple taps.
189 | /// - gestureEnded: Optional closure called immediately after handleGesture returns .finished, indicating gesture handling has completed. Useful for cleanup or state reset operations.
190 | func detectGesture<GestureDetection: Equatable>(
| `- note: add '@available' attribute to enclosing instance method
191 | _: GestureDetection.Type,
192 | detect: @escaping (DetectGestureState<GestureDetection>) -> GestureDetection?,
:
194 | gestureEnded: ((_ detection: GestureDetection, DetectGestureState<GestureDetection>) -> Void)? = nil
195 | ) -> some View {
196 | modifier(DetectGestureViewModifier<GestureDetection>(detect: detect, handle: handle, gestureEnded: gestureEnded))
| |- error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feature/DetectGesture/DetectGestureViewModifier.swift:196:9: error: 'modifier' is only available in macOS 10.15 or newer
178 | }
179 |
180 | public extension View {
| `- note: add '@available' attribute to enclosing extension
181 | /// Set multiple custom gestures simultaneously and detect only one of them.
182 | ///
:
188 | /// - handleGesture: Closure that processes the detected gesture. This is called after the detectGesture phase completes. It receives the GestureDetection type returned by detectGesture. It returns a HandleGestureReturn enum to indicate whether handling is finished. If it returns .finished, it will not be called again, and all gesture processing is completely finished and reset. As long as it returns .yet, it continues to be called when the gesture state is updated (timing is the same as Gesture.changed()). It can also handle across multiple taps.
189 | /// - gestureEnded: Optional closure called immediately after handleGesture returns .finished, indicating gesture handling has completed. Useful for cleanup or state reset operations.
190 | func detectGesture<GestureDetection: Equatable>(
| `- note: add '@available' attribute to enclosing instance method
191 | _: GestureDetection.Type,
192 | detect: @escaping (DetectGestureState<GestureDetection>) -> GestureDetection?,
:
194 | gestureEnded: ((_ detection: GestureDetection, DetectGestureState<GestureDetection>) -> Void)? = nil
195 | ) -> some View {
196 | modifier(DetectGestureViewModifier<GestureDetection>(detect: detect, handle: handle, gestureEnded: gestureEnded))
| |- error: 'modifier' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
197 | }
198 | }
BUILD FAILURE 6.2 macosSpm