Build Information
Failed to build ViewOnTouch, reference main (4e6dec), with Swift 6.3 for macOS (SPM) on 15 Apr 2026 04:51:01 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Jnis/ViewOnTouch.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Jnis/ViewOnTouch
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 4e6dec1 updated examples
Cloned https://github.com/Jnis/ViewOnTouch.git
Revision (git rev-parse @):
4e6dec1b12ed6b5676f21afaf9d2fb2101ddc1fe
SUCCESS checkout https://github.com/Jnis/ViewOnTouch.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",
"traits": [
"default"
],
"dependencies": [
{
"identity": "viewontouch",
"name": "ViewOnTouch",
"url": "https://github.com/Jnis/ViewOnTouch.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ViewOnTouch",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/Jnis/ViewOnTouch.git
[1/76] Fetching viewontouch
Fetched https://github.com/Jnis/ViewOnTouch.git from cache (0.62s)
Creating working copy for https://github.com/Jnis/ViewOnTouch.git
Working copy of https://github.com/Jnis/ViewOnTouch.git resolved at main (4e6dec1)
warning: '.resolve-product-dependencies': dependency 'viewontouch' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/Jnis/ViewOnTouch.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--6988338F2F200930.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module ViewOnTouch
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:34:132: error: 'View' is only available in macOS 10.15 or newer
31 |
32 | // A new method on View that makes it easier to apply our touch locater view.
33 | extension View {
| `- note: add '@available' attribute to enclosing extension
34 | public func onTouch(type: OnTouchType, limitToBounds: Bool = false, perform: @escaping (CGPoint, OnTouchType) -> Void) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
35 | self.modifier(TouchLocaterModifier(type: type, limitToBounds: limitToBounds, perform: perform))
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:33:11: error: 'View' is only available in macOS 10.15 or newer
31 |
32 | // A new method on View that makes it easier to apply our touch locater view.
33 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing extension
34 | public func onTouch(type: OnTouchType, limitToBounds: Bool = false, perform: @escaping (CGPoint, OnTouchType) -> Void) -> some View {
35 | self.modifier(TouchLocaterModifier(type: type, limitToBounds: limitToBounds, perform: perform))
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:45:41: error: 'View' is only available in macOS 10.15 or newer
38 |
39 | // A custom SwiftUI view modifier that overlays a view with our UIView subclass.
40 | struct TouchLocaterModifier: ViewModifier {
| `- note: add '@available' attribute to enclosing struct
41 | var type: OnTouchType = .all
42 | var limitToBounds = true
43 | let perform: (CGPoint, OnTouchType) -> Void
44 |
45 | 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
46 | content
47 | .overlay(
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:63:30: error: cannot find type 'Context' in scope
61 | var limitToBounds = true
62 |
63 | func makeUIView(context: Context) -> TouchLocatingUIView {
| `- error: cannot find type 'Context' in scope
64 | // Create the underlying UIView, passing in our configuration
65 | let view = TouchLocatingUIView()
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:72:63: error: cannot find type 'Context' in scope
70 | }
71 |
72 | func updateUIView(_ uiView: TouchLocatingUIView, context: Context) {
| `- error: cannot find type 'Context' in scope
73 | }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:79:32: error: cannot find type 'UITouch' in scope
77 | var shouldStart: Bool = false
78 |
79 | init(start: @escaping (UITouch) -> Void) {
| `- error: cannot find type 'UITouch' in scope
80 | self.start = start
81 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:75:59: error: cannot find type 'UIGestureRecognizerDelegate' in scope
73 | }
74 |
75 | private class TouchLocatingGestureDelegate: NSObject, UIGestureRecognizerDelegate {
| `- error: cannot find type 'UIGestureRecognizerDelegate' in scope
76 | let start: (UITouch) -> Void
77 | var shouldStart: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:76:21: error: cannot find type 'UITouch' in scope
74 |
75 | private class TouchLocatingGestureDelegate: NSObject, UIGestureRecognizerDelegate {
76 | let start: (UITouch) -> Void
| `- error: cannot find type 'UITouch' in scope
77 | var shouldStart: Bool = false
78 |
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:83:53: error: cannot find type 'UIGestureRecognizer' in scope
81 | }
82 |
83 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
| `- error: cannot find type 'UIGestureRecognizer' in scope
84 | start(touch)
85 | return shouldStart
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:83:95: error: cannot find type 'UITouch' in scope
81 | }
82 |
83 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
| `- error: cannot find type 'UITouch' in scope
84 | start(touch)
85 | return shouldStart
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:88:53: error: cannot find type 'UIGestureRecognizer' in scope
86 | }
87 |
88 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive event: UIEvent) -> Bool {
| `- error: cannot find type 'UIGestureRecognizer' in scope
89 | return true
90 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:88:95: error: cannot find type 'UIEvent' in scope
86 | }
87 |
88 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive event: UIEvent) -> Bool {
| `- error: cannot find type 'UIEvent' in scope
89 | return true
90 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:118:21: error: cannot find 'UITapGestureRecognizer' in scope
116 |
117 | private lazy var tapGesture = {
118 | let g = UITapGestureRecognizer(target: self, action: #selector(tapGestureAction(gesture:)))
| `- error: cannot find 'UITapGestureRecognizer' in scope
119 | g.delegate = tapGestureDelegate
120 | g.cancelsTouchesInView = false
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:136:54: error: cannot find type 'UIGestureRecognizer' in scope
134 | }
135 |
136 | @objc private func tapGestureAction(gesture: UIGestureRecognizer) {
| `- error: cannot find type 'UIGestureRecognizer' in scope
137 | let location = gesture.location(in: self)
138 | send(location, forEvent: .tapGesture)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:123:45: error: cannot find 'UILongPressGestureRecognizer' in scope
121 | return g
122 | }()
123 | private lazy var longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(longPressGestureAction(gesture:)))
| `- error: cannot find 'UILongPressGestureRecognizer' in scope
124 | private lazy var tapGestureDelegate = TouchLocatingGestureDelegate(start: {[weak self] touch in
125 | guard let self else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:141:60: error: cannot find type 'UILongPressGestureRecognizer' in scope
139 | }
140 |
141 | @objc private func longPressGestureAction(gesture: UILongPressGestureRecognizer) {
| `- error: cannot find type 'UILongPressGestureRecognizer' in scope
142 | let location = gesture.location(in: self)
143 | if gesture.state == .began {
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:124:96: error: cannot infer type of closure parameter 'touch' without a type annotation
122 | }()
123 | private lazy var longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(longPressGestureAction(gesture:)))
124 | private lazy var tapGestureDelegate = TouchLocatingGestureDelegate(start: {[weak self] touch in
| `- error: cannot infer type of closure parameter 'touch' without a type annotation
125 | guard let self else { return }
126 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:94:32: error: cannot find type 'UIView' in scope
92 |
93 | // The internal UIView responsible for catching taps
94 | class TouchLocatingUIView: UIView {
| `- error: cannot find type 'UIView' in scope
95 | // Internal copies of our settings
96 | var onUpdate: ((CGPoint, OnTouchType) -> Void)?
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:106:18: error: initializer does not override a designated initializer from its superclass
104 |
105 | // Our main initializer, making sure interaction is enabled.
106 | override init(frame: CGRect) {
| `- error: initializer does not override a designated initializer from its superclass
107 | super.init(frame: frame)
108 | customInit()
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:153:51: error: cannot find type 'UITouch' in scope
151 |
152 | // Triggered when a touch starts.
153 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UITouch' in scope
154 | super.touchesBegan(touches, with: event)
155 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:153:73: error: cannot find type 'UIEvent' in scope
151 |
152 | // Triggered when a touch starts.
153 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UIEvent' in scope
154 | super.touchesBegan(touches, with: event)
155 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:161:51: error: cannot find type 'UITouch' in scope
159 |
160 | // Triggered when an existing touch moves.
161 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UITouch' in scope
162 | super.touchesMoved(touches, with: event)
163 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:161:73: error: cannot find type 'UIEvent' in scope
159 |
160 | // Triggered when an existing touch moves.
161 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UIEvent' in scope
162 | super.touchesMoved(touches, with: event)
163 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:169:51: error: cannot find type 'UITouch' in scope
167 |
168 | // Triggered when the user lifts a finger.
169 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UITouch' in scope
170 | super.touchesEnded(touches, with: event)
171 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:169:73: error: cannot find type 'UIEvent' in scope
167 |
168 | // Triggered when the user lifts a finger.
169 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UIEvent' in scope
170 | super.touchesEnded(touches, with: event)
171 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:177:55: error: cannot find type 'UITouch' in scope
175 |
176 | // Triggered when the user's touch is interrupted, e.g. by a low battery alert.
177 | override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UITouch' in scope
178 | guard let touch = touches.first else { return }
179 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:177:77: error: cannot find type 'UIEvent' in scope
175 |
176 | // Triggered when the user's touch is interrupted, e.g. by a low battery alert.
177 | override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UIEvent' in scope
178 | guard let touch = touches.first else { return }
179 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:53:27: error: cannot find type 'UIViewRepresentable' in scope
51 | }
52 |
53 | struct TouchLocatingView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
54 | // A closure to call when touch data has arrived
55 | var onUpdate: (CGPoint, OnTouchType) -> Void
[4/4] Compiling ViewOnTouch View+OnTouch.swift
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:34:132: error: 'View' is only available in macOS 10.15 or newer
31 |
32 | // A new method on View that makes it easier to apply our touch locater view.
33 | extension View {
| `- note: add '@available' attribute to enclosing extension
34 | public func onTouch(type: OnTouchType, limitToBounds: Bool = false, perform: @escaping (CGPoint, OnTouchType) -> Void) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
35 | self.modifier(TouchLocaterModifier(type: type, limitToBounds: limitToBounds, perform: perform))
36 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:33:11: error: 'View' is only available in macOS 10.15 or newer
31 |
32 | // A new method on View that makes it easier to apply our touch locater view.
33 | extension View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing extension
34 | public func onTouch(type: OnTouchType, limitToBounds: Bool = false, perform: @escaping (CGPoint, OnTouchType) -> Void) -> some View {
35 | self.modifier(TouchLocaterModifier(type: type, limitToBounds: limitToBounds, perform: perform))
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:45:41: error: 'View' is only available in macOS 10.15 or newer
38 |
39 | // A custom SwiftUI view modifier that overlays a view with our UIView subclass.
40 | struct TouchLocaterModifier: ViewModifier {
| `- note: add '@available' attribute to enclosing struct
41 | var type: OnTouchType = .all
42 | var limitToBounds = true
43 | let perform: (CGPoint, OnTouchType) -> Void
44 |
45 | 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
46 | content
47 | .overlay(
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:63:30: error: cannot find type 'Context' in scope
61 | var limitToBounds = true
62 |
63 | func makeUIView(context: Context) -> TouchLocatingUIView {
| `- error: cannot find type 'Context' in scope
64 | // Create the underlying UIView, passing in our configuration
65 | let view = TouchLocatingUIView()
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:72:63: error: cannot find type 'Context' in scope
70 | }
71 |
72 | func updateUIView(_ uiView: TouchLocatingUIView, context: Context) {
| `- error: cannot find type 'Context' in scope
73 | }
74 |
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:79:32: error: cannot find type 'UITouch' in scope
77 | var shouldStart: Bool = false
78 |
79 | init(start: @escaping (UITouch) -> Void) {
| `- error: cannot find type 'UITouch' in scope
80 | self.start = start
81 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:75:59: error: cannot find type 'UIGestureRecognizerDelegate' in scope
73 | }
74 |
75 | private class TouchLocatingGestureDelegate: NSObject, UIGestureRecognizerDelegate {
| `- error: cannot find type 'UIGestureRecognizerDelegate' in scope
76 | let start: (UITouch) -> Void
77 | var shouldStart: Bool = false
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:76:21: error: cannot find type 'UITouch' in scope
74 |
75 | private class TouchLocatingGestureDelegate: NSObject, UIGestureRecognizerDelegate {
76 | let start: (UITouch) -> Void
| `- error: cannot find type 'UITouch' in scope
77 | var shouldStart: Bool = false
78 |
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:83:53: error: cannot find type 'UIGestureRecognizer' in scope
81 | }
82 |
83 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
| `- error: cannot find type 'UIGestureRecognizer' in scope
84 | start(touch)
85 | return shouldStart
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:83:95: error: cannot find type 'UITouch' in scope
81 | }
82 |
83 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
| `- error: cannot find type 'UITouch' in scope
84 | start(touch)
85 | return shouldStart
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:88:53: error: cannot find type 'UIGestureRecognizer' in scope
86 | }
87 |
88 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive event: UIEvent) -> Bool {
| `- error: cannot find type 'UIGestureRecognizer' in scope
89 | return true
90 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:88:95: error: cannot find type 'UIEvent' in scope
86 | }
87 |
88 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive event: UIEvent) -> Bool {
| `- error: cannot find type 'UIEvent' in scope
89 | return true
90 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:118:21: error: cannot find 'UITapGestureRecognizer' in scope
116 |
117 | private lazy var tapGesture = {
118 | let g = UITapGestureRecognizer(target: self, action: #selector(tapGestureAction(gesture:)))
| `- error: cannot find 'UITapGestureRecognizer' in scope
119 | g.delegate = tapGestureDelegate
120 | g.cancelsTouchesInView = false
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:136:54: error: cannot find type 'UIGestureRecognizer' in scope
134 | }
135 |
136 | @objc private func tapGestureAction(gesture: UIGestureRecognizer) {
| `- error: cannot find type 'UIGestureRecognizer' in scope
137 | let location = gesture.location(in: self)
138 | send(location, forEvent: .tapGesture)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:123:45: error: cannot find 'UILongPressGestureRecognizer' in scope
121 | return g
122 | }()
123 | private lazy var longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(longPressGestureAction(gesture:)))
| `- error: cannot find 'UILongPressGestureRecognizer' in scope
124 | private lazy var tapGestureDelegate = TouchLocatingGestureDelegate(start: {[weak self] touch in
125 | guard let self else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:141:60: error: cannot find type 'UILongPressGestureRecognizer' in scope
139 | }
140 |
141 | @objc private func longPressGestureAction(gesture: UILongPressGestureRecognizer) {
| `- error: cannot find type 'UILongPressGestureRecognizer' in scope
142 | let location = gesture.location(in: self)
143 | if gesture.state == .began {
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:124:96: error: cannot infer type of closure parameter 'touch' without a type annotation
122 | }()
123 | private lazy var longPressGesture = UILongPressGestureRecognizer(target: self, action: #selector(longPressGestureAction(gesture:)))
124 | private lazy var tapGestureDelegate = TouchLocatingGestureDelegate(start: {[weak self] touch in
| `- error: cannot infer type of closure parameter 'touch' without a type annotation
125 | guard let self else { return }
126 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:94:32: error: cannot find type 'UIView' in scope
92 |
93 | // The internal UIView responsible for catching taps
94 | class TouchLocatingUIView: UIView {
| `- error: cannot find type 'UIView' in scope
95 | // Internal copies of our settings
96 | var onUpdate: ((CGPoint, OnTouchType) -> Void)?
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:106:18: error: initializer does not override a designated initializer from its superclass
104 |
105 | // Our main initializer, making sure interaction is enabled.
106 | override init(frame: CGRect) {
| `- error: initializer does not override a designated initializer from its superclass
107 | super.init(frame: frame)
108 | customInit()
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:153:51: error: cannot find type 'UITouch' in scope
151 |
152 | // Triggered when a touch starts.
153 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UITouch' in scope
154 | super.touchesBegan(touches, with: event)
155 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:153:73: error: cannot find type 'UIEvent' in scope
151 |
152 | // Triggered when a touch starts.
153 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UIEvent' in scope
154 | super.touchesBegan(touches, with: event)
155 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:161:51: error: cannot find type 'UITouch' in scope
159 |
160 | // Triggered when an existing touch moves.
161 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UITouch' in scope
162 | super.touchesMoved(touches, with: event)
163 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:161:73: error: cannot find type 'UIEvent' in scope
159 |
160 | // Triggered when an existing touch moves.
161 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UIEvent' in scope
162 | super.touchesMoved(touches, with: event)
163 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:169:51: error: cannot find type 'UITouch' in scope
167 |
168 | // Triggered when the user lifts a finger.
169 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UITouch' in scope
170 | super.touchesEnded(touches, with: event)
171 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:169:73: error: cannot find type 'UIEvent' in scope
167 |
168 | // Triggered when the user lifts a finger.
169 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UIEvent' in scope
170 | super.touchesEnded(touches, with: event)
171 | guard let touch = touches.first else { return }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:177:55: error: cannot find type 'UITouch' in scope
175 |
176 | // Triggered when the user's touch is interrupted, e.g. by a low battery alert.
177 | override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UITouch' in scope
178 | guard let touch = touches.first else { return }
179 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:177:77: error: cannot find type 'UIEvent' in scope
175 |
176 | // Triggered when the user's touch is interrupted, e.g. by a low battery alert.
177 | override func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?) {
| `- error: cannot find type 'UIEvent' in scope
178 | guard let touch = touches.first else { return }
179 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:53:27: error: cannot find type 'UIViewRepresentable' in scope
51 | }
52 |
53 | struct TouchLocatingView: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
54 | // A closure to call when touch data has arrived
55 | var onUpdate: (CGPoint, OnTouchType) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:35:14: warning: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
31 |
32 | // A new method on View that makes it easier to apply our touch locater view.
33 | extension View {
| `- note: add '@available' attribute to enclosing extension
34 | public func onTouch(type: OnTouchType, limitToBounds: Bool = false, perform: @escaping (CGPoint, OnTouchType) -> Void) -> some View {
| `- note: add '@available' attribute to enclosing instance method
35 | self.modifier(TouchLocaterModifier(type: type, limitToBounds: limitToBounds, perform: perform))
| |- warning: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer; this is an error in the Swift 6 language mode
| `- note: add 'if #available' version check
36 | }
37 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:35:14: error: 'modifier' is only available in macOS 10.15 or newer
31 |
32 | // A new method on View that makes it easier to apply our touch locater view.
33 | extension View {
| `- note: add '@available' attribute to enclosing extension
34 | public func onTouch(type: OnTouchType, limitToBounds: Bool = false, perform: @escaping (CGPoint, OnTouchType) -> Void) -> some View {
| `- note: add '@available' attribute to enclosing instance method
35 | self.modifier(TouchLocaterModifier(type: type, limitToBounds: limitToBounds, perform: perform))
| |- error: 'modifier' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
36 | }
37 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:47:14: error: instance method 'overlay(_:ignoresSafeAreaEdges:)' requires that 'TouchLocatingView' conform to 'ShapeStyle'
45 | func body(content: Content) -> some View {
46 | content
47 | .overlay(
| `- error: instance method 'overlay(_:ignoresSafeAreaEdges:)' requires that 'TouchLocatingView' conform to 'ShapeStyle'
48 | TouchLocatingView(onUpdate: perform, types: type, limitToBounds: limitToBounds)
49 | )
SwiftUI.View.overlay:2:36: note: where 'S' = 'TouchLocatingView'
1 | protocol View {
2 | @inlinable nonisolated public func overlay<S>(_ style: S, ignoresSafeAreaEdges edges: Edge.Set = .all) -> some View where S : ShapeStyle
| `- note: where 'S' = 'TouchLocatingView'
3 | }
4 |
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:65:40: error: missing argument for parameter 'frame' in call
63 | func makeUIView(context: Context) -> TouchLocatingUIView {
64 | // Create the underlying UIView, passing in our configuration
65 | let view = TouchLocatingUIView()
| `- error: missing argument for parameter 'frame' in call
66 | view.onUpdate = onUpdate
67 | view.touchTypes = types
:
104 |
105 | // Our main initializer, making sure interaction is enabled.
106 | override init(frame: CGRect) {
| `- note: 'init(frame:)' declared here
107 | super.init(frame: frame)
108 | customInit()
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:107:13: error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
105 | // Our main initializer, making sure interaction is enabled.
106 | override init(frame: CGRect) {
107 | super.init(frame: frame)
| `- error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
108 | customInit()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:113:13: error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
111 | // Just in case you're using storyboards!
112 | required init?(coder: NSCoder) {
113 | super.init(coder: coder)
| `- error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
114 | customInit()
115 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:131:13: error: cannot find 'isUserInteractionEnabled' in scope
129 |
130 | private func customInit() {
131 | isUserInteractionEnabled = true
| `- error: cannot find 'isUserInteractionEnabled' in scope
132 | self.addGestureRecognizer(tapGesture)
133 | self.addGestureRecognizer(longPressGesture)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:132:18: error: value of type 'TouchLocatingView.TouchLocatingUIView' has no member 'addGestureRecognizer'
130 | private func customInit() {
131 | isUserInteractionEnabled = true
132 | self.addGestureRecognizer(tapGesture)
| `- error: value of type 'TouchLocatingView.TouchLocatingUIView' has no member 'addGestureRecognizer'
133 | self.addGestureRecognizer(longPressGesture)
134 | }
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:133:18: error: value of type 'TouchLocatingView.TouchLocatingUIView' has no member 'addGestureRecognizer'
131 | isUserInteractionEnabled = true
132 | self.addGestureRecognizer(tapGesture)
133 | self.addGestureRecognizer(longPressGesture)
| `- error: value of type 'TouchLocatingView.TouchLocatingUIView' has no member 'addGestureRecognizer'
134 | }
135 |
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:145:41: error: cannot infer contextual base in reference to member 'changed'
143 | if gesture.state == .began {
144 | send(location, forEvent: .longGestureStarted)
145 | } else if gesture.state == .changed {
| `- error: cannot infer contextual base in reference to member 'changed'
146 | send(location, forEvent: .longGestureMoved)
147 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:154:13: error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
152 | // Triggered when a touch starts.
153 | override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
154 | super.touchesBegan(touches, with: event)
| `- error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
155 | guard let touch = touches.first else { return }
156 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:162:13: error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
160 | // Triggered when an existing touch moves.
161 | override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
162 | super.touchesMoved(touches, with: event)
| `- error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
163 | guard let touch = touches.first else { return }
164 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:170:13: error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
168 | // Triggered when the user lifts a finger.
169 | override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
170 | super.touchesEnded(touches, with: event)
| `- error: 'super' cannot be used in class 'TouchLocatingUIView' because it has no superclass
171 | guard let touch = touches.first else { return }
172 | let location = touch.location(in: self)
/Users/admin/builder/spi-builder-workspace/Sources/View+OnTouch.swift:189:42: error: cannot find 'bounds' in scope
187 | }
188 |
189 | if limitToBounds == false || bounds.contains(location) {
| `- error: cannot find 'bounds' in scope
190 | onUpdate?(CGPoint(x: round(location.x), y: round(location.y)), event)
191 | }
BUILD FAILURE 6.3 macosSpm