Build Information
Failed to build ZoomableScrollView, reference 1.0.4 (887167
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 08:30:27 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/insub4067/ZoomableScrollView.git
Reference: 1.0.4
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/insub4067/ZoomableScrollView
* tag 1.0.4 -> FETCH_HEAD
HEAD is now at 887167d Disable Scroll Debounce
Cloned https://github.com/insub4067/ZoomableScrollView.git
Revision (git rev-parse @):
887167dde654a9abab7f69643a08facf8e56ec9c
SUCCESS checkout https://github.com/insub4067/ZoomableScrollView.git at 1.0.4
========================================
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": "zoomablescrollview",
"name": "ZoomableScrollView",
"url": "https://github.com/insub4067/ZoomableScrollView.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ZoomableScrollView",
"dependencies": [
]
}
]
}
Fetching https://github.com/insub4067/ZoomableScrollView.git
[1/42] Fetching zoomablescrollview
Fetched https://github.com/insub4067/ZoomableScrollView.git from cache (0.58s)
Creating working copy for https://github.com/insub4067/ZoomableScrollView.git
Working copy of https://github.com/insub4067/ZoomableScrollView.git resolved at 1.0.4 (887167d)
warning: '.resolve-product-dependencies': dependency 'zoomablescrollview' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/insub4067/ZoomableScrollView.git
https://github.com/insub4067/ZoomableScrollView.git
{
"dependencies" : [
],
"manifest_display_name" : "ZoomableScrollView",
"name" : "ZoomableScrollView",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
}
],
"products" : [
{
"name" : "ZoomableScrollView",
"targets" : [
"ZoomableScrollView"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ZoomableScrollView",
"module_type" : "SwiftTarget",
"name" : "ZoomableScrollView",
"path" : "Sources/ZoomableScrollView",
"product_memberships" : [
"ZoomableScrollView"
],
"sources" : [
"ZoomableScrollView.swift"
],
"type" : "library"
}
],
"tools_version" : "5.4"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module ZoomableScrollView
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:10:6: error: 'State' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
9 | private var content: Content
10 | @State private var currentScale: CGFloat = 1.0
| `- error: 'State' is only available in macOS 10.15 or newer
11 | @State private var tapLocation: CGPoint = .zero
12 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:11:6: error: 'State' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
9 | private var content: Content
10 | @State private var currentScale: CGFloat = 1.0
11 | @State private var tapLocation: CGPoint = .zero
| `- error: 'State' is only available in macOS 10.15 or newer
12 |
13 | public init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:15:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
:
11 | @State private var tapLocation: CGPoint = .zero
12 |
13 | public init(
| `- note: add @available attribute to enclosing initializer
14 | maxAllowedScale: CGFloat = 4.0,
15 | @ViewBuilder content: () -> Content
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 | ) {
17 | self.maxAllowedScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:21:49: error: cannot find type 'UIScrollView' in scope
19 | }
20 |
21 | public func makeUIView(context: Context) -> UIScrollView {
| `- error: cannot find type 'UIScrollView' in scope
22 | let scrollView = setupScrollView(context: context)
23 | addHostedView(to: scrollView, context: context)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:21:37: error: cannot find type 'Context' in scope
19 | }
20 |
21 | public func makeUIView(context: Context) -> UIScrollView {
| `- error: cannot find type 'Context' in scope
22 | let scrollView = setupScrollView(context: context)
23 | addHostedView(to: scrollView, context: context)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:28:55: error: cannot find type 'UIScrollView' in scope
26 | }
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
| `- error: cannot find type 'UIScrollView' in scope
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:28:43: error: cannot find type 'Context' in scope
26 | }
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
| `- error: cannot find type 'Context' in scope
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:42:47: error: cannot find type 'UIScrollView' in scope
40 | }
41 |
42 | private func addHostedView(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:42:70: error: cannot find type 'Context' in scope
40 | }
41 |
42 | private func addHostedView(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:51:54: error: cannot find type 'UIScrollView' in scope
49 | }
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
52 | let gestureRecognizer = UITapGestureRecognizer(
53 | target: context.coordinator,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:51:77: error: cannot find type 'Context' in scope
49 | }
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
52 | let gestureRecognizer = UITapGestureRecognizer(
53 | target: context.coordinator,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:69:40: error: cannot find type 'UIScrollView' in scope
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
70 | context.coordinator.hostingController.rootView = content
71 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:69:63: error: cannot find type 'Context' in scope
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
70 | context.coordinator.hostingController.rootView = content
71 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:87:46: error: cannot find type 'UIScrollView' in scope
85 | }
86 |
87 | @MainActor func zoomRect(for scrollView: UIScrollView, scale: CGFloat, center: CGPoint) -> CGRect {
| `- error: cannot find type 'UIScrollView' in scope
88 | let scrollViewSize = scrollView.bounds.size
89 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:6:50: error: cannot find type 'UIViewRepresentable' in scope
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
7 |
8 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:6:43: error: 'View' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:111:32: error: cannot find type 'UIHostingController' in scope
109 | init(
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
| `- error: cannot find type 'UIHostingController' in scope
112 | scale: Binding<CGFloat>,
113 | location: Binding<CGPoint>
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:104:32: error: cannot find type 'UIHostingController' in scope
102 |
103 | private let maxAllowedScale: CGFloat
104 | var hostingController: UIHostingController<Content>
| `- error: cannot find type 'UIHostingController' in scope
105 |
106 | @Binding private var currentScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:106:10: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| |- note: add @available attribute to enclosing class
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
104 | var hostingController: UIHostingController<Content>
105 |
106 | @Binding private var currentScale: CGFloat
| `- error: 'Binding' is only available in macOS 10.15 or newer
107 | @Binding private var tapLocation: CGPoint
108 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:107:10: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| |- note: add @available attribute to enclosing class
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
105 |
106 | @Binding private var currentScale: CGFloat
107 | @Binding private var tapLocation: CGPoint
| `- error: 'Binding' is only available in macOS 10.15 or newer
108 |
109 | init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:112:20: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
107 | @Binding private var tapLocation: CGPoint
108 |
109 | init(
| `- note: add @available attribute to enclosing initializer
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
112 | scale: Binding<CGFloat>,
| `- error: 'Binding' is only available in macOS 10.15 or newer
113 | location: Binding<CGPoint>
114 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:113:23: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
107 | @Binding private var tapLocation: CGPoint
108 |
109 | init(
| `- note: add @available attribute to enclosing initializer
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
112 | scale: Binding<CGFloat>,
113 | location: Binding<CGPoint>
| `- error: 'Binding' is only available in macOS 10.15 or newer
114 | ) {
115 | self.maxAllowedScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:121:59: error: cannot find type 'UIView' in scope
119 | }
120 |
121 | public func viewForZooming(in _: UIScrollView) -> UIView? {
| `- error: cannot find type 'UIView' in scope
122 | hostingController.view
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:121:42: error: cannot find type 'UIScrollView' in scope
119 | }
120 |
121 | public func viewForZooming(in _: UIScrollView) -> UIView? {
| `- error: cannot find type 'UIScrollView' in scope
122 | hostingController.view
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:125:48: error: cannot find type 'UIScrollView' in scope
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- error: cannot find type 'UIScrollView' in scope
126 | DispatchQueue.main.async { self.currentScale = scale }
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:125:70: error: cannot find type 'UIView' in scope
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- error: cannot find type 'UIView' in scope
126 | DispatchQueue.main.async { self.currentScale = scale }
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:129:44: error: cannot find type 'UITapGestureRecognizer' in scope
127 | }
128 |
129 | @objc func handleDoubleTap(sender: UITapGestureRecognizer) {
| `- error: cannot find type 'UITapGestureRecognizer' in scope
130 | let location = sender.location(in: hostingController.view)
131 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:101:41: error: cannot find type 'UIScrollViewDelegate' in scope
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- error: cannot find type 'UIScrollViewDelegate' in scope
102 |
103 | private let maxAllowedScale: CGFloat
[4/4] Compiling ZoomableScrollView ZoomableScrollView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:10:6: error: 'State' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
9 | private var content: Content
10 | @State private var currentScale: CGFloat = 1.0
| `- error: 'State' is only available in macOS 10.15 or newer
11 | @State private var tapLocation: CGPoint = .zero
12 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:11:6: error: 'State' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
9 | private var content: Content
10 | @State private var currentScale: CGFloat = 1.0
11 | @State private var tapLocation: CGPoint = .zero
| `- error: 'State' is only available in macOS 10.15 or newer
12 |
13 | public init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:15:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
:
11 | @State private var tapLocation: CGPoint = .zero
12 |
13 | public init(
| `- note: add @available attribute to enclosing initializer
14 | maxAllowedScale: CGFloat = 4.0,
15 | @ViewBuilder content: () -> Content
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 | ) {
17 | self.maxAllowedScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:21:49: error: cannot find type 'UIScrollView' in scope
19 | }
20 |
21 | public func makeUIView(context: Context) -> UIScrollView {
| `- error: cannot find type 'UIScrollView' in scope
22 | let scrollView = setupScrollView(context: context)
23 | addHostedView(to: scrollView, context: context)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:21:37: error: cannot find type 'Context' in scope
19 | }
20 |
21 | public func makeUIView(context: Context) -> UIScrollView {
| `- error: cannot find type 'Context' in scope
22 | let scrollView = setupScrollView(context: context)
23 | addHostedView(to: scrollView, context: context)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:28:55: error: cannot find type 'UIScrollView' in scope
26 | }
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
| `- error: cannot find type 'UIScrollView' in scope
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:28:43: error: cannot find type 'Context' in scope
26 | }
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
| `- error: cannot find type 'Context' in scope
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:42:47: error: cannot find type 'UIScrollView' in scope
40 | }
41 |
42 | private func addHostedView(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:42:70: error: cannot find type 'Context' in scope
40 | }
41 |
42 | private func addHostedView(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:51:54: error: cannot find type 'UIScrollView' in scope
49 | }
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
52 | let gestureRecognizer = UITapGestureRecognizer(
53 | target: context.coordinator,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:51:77: error: cannot find type 'Context' in scope
49 | }
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
52 | let gestureRecognizer = UITapGestureRecognizer(
53 | target: context.coordinator,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:69:40: error: cannot find type 'UIScrollView' in scope
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
70 | context.coordinator.hostingController.rootView = content
71 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:69:63: error: cannot find type 'Context' in scope
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
70 | context.coordinator.hostingController.rootView = content
71 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:87:46: error: cannot find type 'UIScrollView' in scope
85 | }
86 |
87 | @MainActor func zoomRect(for scrollView: UIScrollView, scale: CGFloat, center: CGPoint) -> CGRect {
| `- error: cannot find type 'UIScrollView' in scope
88 | let scrollViewSize = scrollView.bounds.size
89 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:6:50: error: cannot find type 'UIViewRepresentable' in scope
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
7 |
8 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:6:43: error: 'View' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:111:32: error: cannot find type 'UIHostingController' in scope
109 | init(
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
| `- error: cannot find type 'UIHostingController' in scope
112 | scale: Binding<CGFloat>,
113 | location: Binding<CGPoint>
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:104:32: error: cannot find type 'UIHostingController' in scope
102 |
103 | private let maxAllowedScale: CGFloat
104 | var hostingController: UIHostingController<Content>
| `- error: cannot find type 'UIHostingController' in scope
105 |
106 | @Binding private var currentScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:106:10: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| |- note: add @available attribute to enclosing class
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
104 | var hostingController: UIHostingController<Content>
105 |
106 | @Binding private var currentScale: CGFloat
| `- error: 'Binding' is only available in macOS 10.15 or newer
107 | @Binding private var tapLocation: CGPoint
108 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:107:10: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| |- note: add @available attribute to enclosing class
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
105 |
106 | @Binding private var currentScale: CGFloat
107 | @Binding private var tapLocation: CGPoint
| `- error: 'Binding' is only available in macOS 10.15 or newer
108 |
109 | init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:112:20: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
107 | @Binding private var tapLocation: CGPoint
108 |
109 | init(
| `- note: add @available attribute to enclosing initializer
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
112 | scale: Binding<CGFloat>,
| `- error: 'Binding' is only available in macOS 10.15 or newer
113 | location: Binding<CGPoint>
114 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:113:23: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
107 | @Binding private var tapLocation: CGPoint
108 |
109 | init(
| `- note: add @available attribute to enclosing initializer
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
112 | scale: Binding<CGFloat>,
113 | location: Binding<CGPoint>
| `- error: 'Binding' is only available in macOS 10.15 or newer
114 | ) {
115 | self.maxAllowedScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:121:59: error: cannot find type 'UIView' in scope
119 | }
120 |
121 | public func viewForZooming(in _: UIScrollView) -> UIView? {
| `- error: cannot find type 'UIView' in scope
122 | hostingController.view
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:121:42: error: cannot find type 'UIScrollView' in scope
119 | }
120 |
121 | public func viewForZooming(in _: UIScrollView) -> UIView? {
| `- error: cannot find type 'UIScrollView' in scope
122 | hostingController.view
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:125:48: error: cannot find type 'UIScrollView' in scope
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- error: cannot find type 'UIScrollView' in scope
126 | DispatchQueue.main.async { self.currentScale = scale }
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:125:70: error: cannot find type 'UIView' in scope
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- error: cannot find type 'UIView' in scope
126 | DispatchQueue.main.async { self.currentScale = scale }
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:129:44: error: cannot find type 'UITapGestureRecognizer' in scope
127 | }
128 |
129 | @objc func handleDoubleTap(sender: UITapGestureRecognizer) {
| `- error: cannot find type 'UITapGestureRecognizer' in scope
130 | let location = sender.location(in: hostingController.view)
131 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:101:41: error: cannot find type 'UIScrollViewDelegate' in scope
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- error: cannot find type 'UIScrollViewDelegate' in scope
102 |
103 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:29:26: error: cannot find 'UIScrollView' in scope
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
29 | let scrollView = UIScrollView()
| `- error: cannot find 'UIScrollView' in scope
30 | scrollView.backgroundColor = .clear
31 | scrollView.delegate = context.coordinator
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:30:39: error: cannot infer contextual base in reference to member 'clear'
28 | private func setupScrollView(context: Context) -> UIScrollView {
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
31 | scrollView.delegate = context.coordinator
32 | scrollView.maximumZoomScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:45:41: error: reference to member 'flexibleWidth' cannot be resolved without a contextual type
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
45 | hostedView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
| `- error: reference to member 'flexibleWidth' cannot be resolved without a contextual type
46 | hostedView.frame = scrollView.bounds
47 | hostedView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:45:57: error: reference to member 'flexibleHeight' cannot be resolved without a contextual type
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
45 | hostedView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
| `- error: reference to member 'flexibleHeight' cannot be resolved without a contextual type
46 | hostedView.frame = scrollView.bounds
47 | hostedView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:47:39: error: cannot infer contextual base in reference to member 'clear'
45 | hostedView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
46 | hostedView.frame = scrollView.bounds
47 | hostedView.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
48 | scrollView.addSubview(hostedView)
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:52:33: error: cannot find 'UITapGestureRecognizer' in scope
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
52 | let gestureRecognizer = UITapGestureRecognizer(
| `- error: cannot find 'UITapGestureRecognizer' in scope
53 | target: context.coordinator,
54 | action: #selector(context.coordinator.handleDoubleTap(sender:))
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:63:33: error: cannot infer contextual base in reference to member 'init'
61 | .init(
62 | maxAllowedScale: self.maxAllowedScale,
63 | hostingController: .init(rootView: content),
| `- error: cannot infer contextual base in reference to member 'init'
64 | scale: $currentScale,
65 | location: $tapLocation
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:83:40: error: setter for 'tapLocation' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
:
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- note: add @available attribute to enclosing instance method
70 | context.coordinator.hostingController.rootView = content
71 |
:
81 | )
82 | uiView.zoom(to: destination, animated: true)
83 | DispatchQueue.main.async { tapLocation = .zero }
| |- error: setter for 'tapLocation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | }
85 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:126:40: error: setter for 'currentScale' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- note: add @available attribute to enclosing instance method
126 | DispatchQueue.main.async { self.currentScale = scale }
| |- error: setter for 'currentScale' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
127 | }
128 |
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/3] Emitting module ZoomableScrollView
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:10:6: error: 'State' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
9 | private var content: Content
10 | @State private var currentScale: CGFloat = 1.0
| `- error: 'State' is only available in macOS 10.15 or newer
11 | @State private var tapLocation: CGPoint = .zero
12 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:11:6: error: 'State' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
9 | private var content: Content
10 | @State private var currentScale: CGFloat = 1.0
11 | @State private var tapLocation: CGPoint = .zero
| `- error: 'State' is only available in macOS 10.15 or newer
12 |
13 | public init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:15:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
:
11 | @State private var tapLocation: CGPoint = .zero
12 |
13 | public init(
| `- note: add @available attribute to enclosing initializer
14 | maxAllowedScale: CGFloat = 4.0,
15 | @ViewBuilder content: () -> Content
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 | ) {
17 | self.maxAllowedScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:21:49: error: cannot find type 'UIScrollView' in scope
19 | }
20 |
21 | public func makeUIView(context: Context) -> UIScrollView {
| `- error: cannot find type 'UIScrollView' in scope
22 | let scrollView = setupScrollView(context: context)
23 | addHostedView(to: scrollView, context: context)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:21:37: error: cannot find type 'Context' in scope
19 | }
20 |
21 | public func makeUIView(context: Context) -> UIScrollView {
| `- error: cannot find type 'Context' in scope
22 | let scrollView = setupScrollView(context: context)
23 | addHostedView(to: scrollView, context: context)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:28:55: error: cannot find type 'UIScrollView' in scope
26 | }
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
| `- error: cannot find type 'UIScrollView' in scope
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:28:43: error: cannot find type 'Context' in scope
26 | }
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
| `- error: cannot find type 'Context' in scope
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:42:47: error: cannot find type 'UIScrollView' in scope
40 | }
41 |
42 | private func addHostedView(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:42:70: error: cannot find type 'Context' in scope
40 | }
41 |
42 | private func addHostedView(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:51:54: error: cannot find type 'UIScrollView' in scope
49 | }
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
52 | let gestureRecognizer = UITapGestureRecognizer(
53 | target: context.coordinator,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:51:77: error: cannot find type 'Context' in scope
49 | }
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
52 | let gestureRecognizer = UITapGestureRecognizer(
53 | target: context.coordinator,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:69:40: error: cannot find type 'UIScrollView' in scope
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
70 | context.coordinator.hostingController.rootView = content
71 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:69:63: error: cannot find type 'Context' in scope
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
70 | context.coordinator.hostingController.rootView = content
71 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:87:46: error: cannot find type 'UIScrollView' in scope
85 | }
86 |
87 | @MainActor func zoomRect(for scrollView: UIScrollView, scale: CGFloat, center: CGPoint) -> CGRect {
| `- error: cannot find type 'UIScrollView' in scope
88 | let scrollViewSize = scrollView.bounds.size
89 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:6:50: error: cannot find type 'UIViewRepresentable' in scope
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
7 |
8 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:6:43: error: 'View' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:111:32: error: cannot find type 'UIHostingController' in scope
109 | init(
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
| `- error: cannot find type 'UIHostingController' in scope
112 | scale: Binding<CGFloat>,
113 | location: Binding<CGPoint>
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:104:32: error: cannot find type 'UIHostingController' in scope
102 |
103 | private let maxAllowedScale: CGFloat
104 | var hostingController: UIHostingController<Content>
| `- error: cannot find type 'UIHostingController' in scope
105 |
106 | @Binding private var currentScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:106:10: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| |- note: add @available attribute to enclosing class
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
104 | var hostingController: UIHostingController<Content>
105 |
106 | @Binding private var currentScale: CGFloat
| `- error: 'Binding' is only available in macOS 10.15 or newer
107 | @Binding private var tapLocation: CGPoint
108 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:107:10: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| |- note: add @available attribute to enclosing class
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
105 |
106 | @Binding private var currentScale: CGFloat
107 | @Binding private var tapLocation: CGPoint
| `- error: 'Binding' is only available in macOS 10.15 or newer
108 |
109 | init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:112:20: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
107 | @Binding private var tapLocation: CGPoint
108 |
109 | init(
| `- note: add @available attribute to enclosing initializer
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
112 | scale: Binding<CGFloat>,
| `- error: 'Binding' is only available in macOS 10.15 or newer
113 | location: Binding<CGPoint>
114 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:113:23: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
107 | @Binding private var tapLocation: CGPoint
108 |
109 | init(
| `- note: add @available attribute to enclosing initializer
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
112 | scale: Binding<CGFloat>,
113 | location: Binding<CGPoint>
| `- error: 'Binding' is only available in macOS 10.15 or newer
114 | ) {
115 | self.maxAllowedScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:121:59: error: cannot find type 'UIView' in scope
119 | }
120 |
121 | public func viewForZooming(in _: UIScrollView) -> UIView? {
| `- error: cannot find type 'UIView' in scope
122 | hostingController.view
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:121:42: error: cannot find type 'UIScrollView' in scope
119 | }
120 |
121 | public func viewForZooming(in _: UIScrollView) -> UIView? {
| `- error: cannot find type 'UIScrollView' in scope
122 | hostingController.view
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:125:48: error: cannot find type 'UIScrollView' in scope
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- error: cannot find type 'UIScrollView' in scope
126 | DispatchQueue.main.async { self.currentScale = scale }
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:125:70: error: cannot find type 'UIView' in scope
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- error: cannot find type 'UIView' in scope
126 | DispatchQueue.main.async { self.currentScale = scale }
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:129:44: error: cannot find type 'UITapGestureRecognizer' in scope
127 | }
128 |
129 | @objc func handleDoubleTap(sender: UITapGestureRecognizer) {
| `- error: cannot find type 'UITapGestureRecognizer' in scope
130 | let location = sender.location(in: hostingController.view)
131 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:101:41: error: cannot find type 'UIScrollViewDelegate' in scope
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- error: cannot find type 'UIScrollViewDelegate' in scope
102 |
103 | private let maxAllowedScale: CGFloat
[3/3] Compiling ZoomableScrollView ZoomableScrollView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:10:6: error: 'State' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
9 | private var content: Content
10 | @State private var currentScale: CGFloat = 1.0
| `- error: 'State' is only available in macOS 10.15 or newer
11 | @State private var tapLocation: CGPoint = .zero
12 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:11:6: error: 'State' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
9 | private var content: Content
10 | @State private var currentScale: CGFloat = 1.0
11 | @State private var tapLocation: CGPoint = .zero
| `- error: 'State' is only available in macOS 10.15 or newer
12 |
13 | public init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:15:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
:
11 | @State private var tapLocation: CGPoint = .zero
12 |
13 | public init(
| `- note: add @available attribute to enclosing initializer
14 | maxAllowedScale: CGFloat = 4.0,
15 | @ViewBuilder content: () -> Content
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
16 | ) {
17 | self.maxAllowedScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:21:49: error: cannot find type 'UIScrollView' in scope
19 | }
20 |
21 | public func makeUIView(context: Context) -> UIScrollView {
| `- error: cannot find type 'UIScrollView' in scope
22 | let scrollView = setupScrollView(context: context)
23 | addHostedView(to: scrollView, context: context)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:21:37: error: cannot find type 'Context' in scope
19 | }
20 |
21 | public func makeUIView(context: Context) -> UIScrollView {
| `- error: cannot find type 'Context' in scope
22 | let scrollView = setupScrollView(context: context)
23 | addHostedView(to: scrollView, context: context)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:28:55: error: cannot find type 'UIScrollView' in scope
26 | }
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
| `- error: cannot find type 'UIScrollView' in scope
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:28:43: error: cannot find type 'Context' in scope
26 | }
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
| `- error: cannot find type 'Context' in scope
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:42:47: error: cannot find type 'UIScrollView' in scope
40 | }
41 |
42 | private func addHostedView(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:42:70: error: cannot find type 'Context' in scope
40 | }
41 |
42 | private func addHostedView(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:51:54: error: cannot find type 'UIScrollView' in scope
49 | }
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
52 | let gestureRecognizer = UITapGestureRecognizer(
53 | target: context.coordinator,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:51:77: error: cannot find type 'Context' in scope
49 | }
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
52 | let gestureRecognizer = UITapGestureRecognizer(
53 | target: context.coordinator,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:69:40: error: cannot find type 'UIScrollView' in scope
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- error: cannot find type 'UIScrollView' in scope
70 | context.coordinator.hostingController.rootView = content
71 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:69:63: error: cannot find type 'Context' in scope
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- error: cannot find type 'Context' in scope
70 | context.coordinator.hostingController.rootView = content
71 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:87:46: error: cannot find type 'UIScrollView' in scope
85 | }
86 |
87 | @MainActor func zoomRect(for scrollView: UIScrollView, scale: CGFloat, center: CGPoint) -> CGRect {
| `- error: cannot find type 'UIScrollView' in scope
88 | let scrollViewSize = scrollView.bounds.size
89 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:6:50: error: cannot find type 'UIViewRepresentable' in scope
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- error: cannot find type 'UIViewRepresentable' in scope
7 |
8 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:6:43: error: 'View' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:111:32: error: cannot find type 'UIHostingController' in scope
109 | init(
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
| `- error: cannot find type 'UIHostingController' in scope
112 | scale: Binding<CGFloat>,
113 | location: Binding<CGPoint>
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:104:32: error: cannot find type 'UIHostingController' in scope
102 |
103 | private let maxAllowedScale: CGFloat
104 | var hostingController: UIHostingController<Content>
| `- error: cannot find type 'UIHostingController' in scope
105 |
106 | @Binding private var currentScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:106:10: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| |- note: add @available attribute to enclosing class
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
104 | var hostingController: UIHostingController<Content>
105 |
106 | @Binding private var currentScale: CGFloat
| `- error: 'Binding' is only available in macOS 10.15 or newer
107 | @Binding private var tapLocation: CGPoint
108 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:107:10: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| |- note: add @available attribute to enclosing class
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
105 |
106 | @Binding private var currentScale: CGFloat
107 | @Binding private var tapLocation: CGPoint
| `- error: 'Binding' is only available in macOS 10.15 or newer
108 |
109 | init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:112:20: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
107 | @Binding private var tapLocation: CGPoint
108 |
109 | init(
| `- note: add @available attribute to enclosing initializer
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
112 | scale: Binding<CGFloat>,
| `- error: 'Binding' is only available in macOS 10.15 or newer
113 | location: Binding<CGPoint>
114 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:113:23: error: 'Binding' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
107 | @Binding private var tapLocation: CGPoint
108 |
109 | init(
| `- note: add @available attribute to enclosing initializer
110 | maxAllowedScale: CGFloat,
111 | hostingController: UIHostingController<Content>,
112 | scale: Binding<CGFloat>,
113 | location: Binding<CGPoint>
| `- error: 'Binding' is only available in macOS 10.15 or newer
114 | ) {
115 | self.maxAllowedScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:121:59: error: cannot find type 'UIView' in scope
119 | }
120 |
121 | public func viewForZooming(in _: UIScrollView) -> UIView? {
| `- error: cannot find type 'UIView' in scope
122 | hostingController.view
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:121:42: error: cannot find type 'UIScrollView' in scope
119 | }
120 |
121 | public func viewForZooming(in _: UIScrollView) -> UIView? {
| `- error: cannot find type 'UIScrollView' in scope
122 | hostingController.view
123 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:125:48: error: cannot find type 'UIScrollView' in scope
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- error: cannot find type 'UIScrollView' in scope
126 | DispatchQueue.main.async { self.currentScale = scale }
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:125:70: error: cannot find type 'UIView' in scope
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- error: cannot find type 'UIView' in scope
126 | DispatchQueue.main.async { self.currentScale = scale }
127 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:129:44: error: cannot find type 'UITapGestureRecognizer' in scope
127 | }
128 |
129 | @objc func handleDoubleTap(sender: UITapGestureRecognizer) {
| `- error: cannot find type 'UITapGestureRecognizer' in scope
130 | let location = sender.location(in: hostingController.view)
131 | DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:101:41: error: cannot find type 'UIScrollViewDelegate' in scope
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- error: cannot find type 'UIScrollViewDelegate' in scope
102 |
103 | private let maxAllowedScale: CGFloat
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:29:26: error: cannot find 'UIScrollView' in scope
27 |
28 | private func setupScrollView(context: Context) -> UIScrollView {
29 | let scrollView = UIScrollView()
| `- error: cannot find 'UIScrollView' in scope
30 | scrollView.backgroundColor = .clear
31 | scrollView.delegate = context.coordinator
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:30:39: error: cannot infer contextual base in reference to member 'clear'
28 | private func setupScrollView(context: Context) -> UIScrollView {
29 | let scrollView = UIScrollView()
30 | scrollView.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
31 | scrollView.delegate = context.coordinator
32 | scrollView.maximumZoomScale = maxAllowedScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:45:41: error: reference to member 'flexibleWidth' cannot be resolved without a contextual type
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
45 | hostedView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
| `- error: reference to member 'flexibleWidth' cannot be resolved without a contextual type
46 | hostedView.frame = scrollView.bounds
47 | hostedView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:45:57: error: reference to member 'flexibleHeight' cannot be resolved without a contextual type
43 | let hostedView = context.coordinator.hostingController.view!
44 | hostedView.translatesAutoresizingMaskIntoConstraints = true
45 | hostedView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
| `- error: reference to member 'flexibleHeight' cannot be resolved without a contextual type
46 | hostedView.frame = scrollView.bounds
47 | hostedView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:47:39: error: cannot infer contextual base in reference to member 'clear'
45 | hostedView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
46 | hostedView.frame = scrollView.bounds
47 | hostedView.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
48 | scrollView.addSubview(hostedView)
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:52:33: error: cannot find 'UITapGestureRecognizer' in scope
50 |
51 | private func addGestureRecognizer(to scrollView: UIScrollView, context: Context) {
52 | let gestureRecognizer = UITapGestureRecognizer(
| `- error: cannot find 'UITapGestureRecognizer' in scope
53 | target: context.coordinator,
54 | action: #selector(context.coordinator.handleDoubleTap(sender:))
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:63:33: error: cannot infer contextual base in reference to member 'init'
61 | .init(
62 | maxAllowedScale: self.maxAllowedScale,
63 | hostingController: .init(rootView: content),
| `- error: cannot infer contextual base in reference to member 'init'
64 | scale: $currentScale,
65 | location: $tapLocation
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:83:40: error: setter for 'tapLocation' is only available in macOS 10.15 or newer
4 | import SwiftUI
5 |
6 | public struct ZoomableScrollView<Content: View>: UIViewRepresentable {
| `- note: add @available attribute to enclosing generic struct
7 |
8 | private let maxAllowedScale: CGFloat
:
67 | }
68 |
69 | public func updateUIView(_ uiView: UIScrollView, context: Context) {
| `- note: add @available attribute to enclosing instance method
70 | context.coordinator.hostingController.rootView = content
71 |
:
81 | )
82 | uiView.zoom(to: destination, animated: true)
83 | DispatchQueue.main.async { tapLocation = .zero }
| |- error: setter for 'tapLocation' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | }
85 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableScrollView/ZoomableScrollView.swift:126:40: error: setter for 'currentScale' is only available in macOS 10.15 or newer
99 | extension ZoomableScrollView {
100 |
101 | public class Coordinator: NSObject, UIScrollViewDelegate {
| `- note: add @available attribute to enclosing class
102 |
103 | private let maxAllowedScale: CGFloat
:
123 | }
124 |
125 | public func scrollViewDidEndZooming(_: UIScrollView, with _: UIView?, atScale scale: CGFloat) {
| `- note: add @available attribute to enclosing instance method
126 | DispatchQueue.main.async { self.currentScale = scale }
| |- error: setter for 'currentScale' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
127 | }
128 |
BUILD FAILURE 6.1 macosSpm