The Swift Package Index logo.Swift Package Index

Build Information

Failed to build ZoomableModifier, reference main (6454d4), with Swift 6.1 for macOS (SPM) on 10 Jun 2025 22:24:10 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Hydralo/ZoomableModifier.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Hydralo/ZoomableModifier
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 6454d4b Update README.md
Cloned https://github.com/Hydralo/ZoomableModifier.git
Revision (git rev-parse @):
6454d4bf4b55939ab14c3b286d10200bf7128960
SUCCESS checkout https://github.com/Hydralo/ZoomableModifier.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "zoomablemodifier",
      "name": "ZoomableModifier",
      "url": "https://github.com/Hydralo/ZoomableModifier.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ZoomableModifier",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/Hydralo/ZoomableModifier.git
[1/58] Fetching zoomablemodifier
Fetched https://github.com/Hydralo/ZoomableModifier.git from cache (0.92s)
Creating working copy for https://github.com/Hydralo/ZoomableModifier.git
Working copy of https://github.com/Hydralo/ZoomableModifier.git resolved at main (6454d4b)
warning: '.resolve-product-dependencies': dependency 'zoomablemodifier' 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/Hydralo/ZoomableModifier.git
https://github.com/Hydralo/ZoomableModifier.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ZoomableModifier",
  "name" : "ZoomableModifier",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    }
  ],
  "products" : [
    {
      "name" : "ZoomableModifier",
      "targets" : [
        "ZoomableModifier"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ZoomableModifier",
      "module_type" : "SwiftTarget",
      "name" : "ZoomableModifier",
      "path" : "Sources/ZoomableModifier",
      "product_memberships" : [
        "ZoomableModifier"
      ],
      "sources" : [
        "ZoomableModifier.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.1"
}
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 ZoomableModifier
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:7:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
  6 |
  7 |     @State private var lastTransform: CGAffineTransform = .identity
    |      `- error: 'State' is only available in macOS 10.15 or newer
  8 |     @State private var transform: CGAffineTransform = .identity
  9 |     @State private var contentSize: CGSize = .zero
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:8:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
  6 |
  7 |     @State private var lastTransform: CGAffineTransform = .identity
  8 |     @State private var transform: CGAffineTransform = .identity
    |      `- error: 'State' is only available in macOS 10.15 or newer
  9 |     @State private var contentSize: CGSize = .zero
 10 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:9:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  7 |     @State private var lastTransform: CGAffineTransform = .identity
  8 |     @State private var transform: CGAffineTransform = .identity
  9 |     @State private var contentSize: CGSize = .zero
    |      `- error: 'State' is only available in macOS 10.15 or newer
 10 |
 11 |     public func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:11:48: error: 'View' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public 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
 12 |         content
 13 |             .background(alignment: .topLeading) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:36:47: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 |                             `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:49:44: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 |                          `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:65:40: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 |                      `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:82:35: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 |                 `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:143:15: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
    |               `- error: 'View' is only available in macOS 10.15 or newer
144 |         modifier(ZoomableModifier(
145 |             minZoomScale: minZoomScale,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:139:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:154:27: error: 'Color' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
    |                           `- error: 'Color' is only available in macOS 10.15 or newer
155 |     ) -> some View {
156 |         GeometryReader { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:155:15: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
155 |     ) -> some View {
    |               `- error: 'View' is only available in macOS 10.15 or newer
156 |         GeometryReader { _ in
157 |             ZStack {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:150:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
148 |     }
149 |
150 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:154:36: error: 'clear' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
    |                                    `- error: 'clear' is only available in macOS 10.15 or newer
155 |     ) -> some View {
156 |         GeometryReader { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:138:18: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        |         `- error: 'View' is only available in macOS 10.15 or newer
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:172:76: error: 'View' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          |                                                                 `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:171:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:170:19: error: 'View' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         |         `- error: 'View' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:184:19: error: 'UnitPoint' is only available in macOS 10.15 or newer
182 | // MARK: - Private UnitPoint extension
183 |
184 | private extension UnitPoint {
    |         |         `- error: 'UnitPoint' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing extension
185 |     func scaledBy(_ size: CGSize) -> CGPoint {
186 |         .init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:59: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:23: error: 'ViewBuilder' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |            `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:59: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:73: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                              `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:219:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:218:18: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        |         `- error: 'View' is only available in macOS 10.15 or newer
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
[4/4] Compiling ZoomableModifier ZoomableModifier.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:7:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
  6 |
  7 |     @State private var lastTransform: CGAffineTransform = .identity
    |      `- error: 'State' is only available in macOS 10.15 or newer
  8 |     @State private var transform: CGAffineTransform = .identity
  9 |     @State private var contentSize: CGSize = .zero
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:8:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
  6 |
  7 |     @State private var lastTransform: CGAffineTransform = .identity
  8 |     @State private var transform: CGAffineTransform = .identity
    |      `- error: 'State' is only available in macOS 10.15 or newer
  9 |     @State private var contentSize: CGSize = .zero
 10 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:9:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  7 |     @State private var lastTransform: CGAffineTransform = .identity
  8 |     @State private var transform: CGAffineTransform = .identity
  9 |     @State private var contentSize: CGSize = .zero
    |      `- error: 'State' is only available in macOS 10.15 or newer
 10 |
 11 |     public func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:11:48: error: 'View' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public 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
 12 |         content
 13 |             .background(alignment: .topLeading) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:36:47: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 |                             `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:49:44: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 |                          `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:65:40: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 |                      `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:82:35: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 |                 `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:143:15: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
    |               `- error: 'View' is only available in macOS 10.15 or newer
144 |         modifier(ZoomableModifier(
145 |             minZoomScale: minZoomScale,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:139:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:154:27: error: 'Color' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
    |                           `- error: 'Color' is only available in macOS 10.15 or newer
155 |     ) -> some View {
156 |         GeometryReader { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:155:15: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
155 |     ) -> some View {
    |               `- error: 'View' is only available in macOS 10.15 or newer
156 |         GeometryReader { _ in
157 |             ZStack {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:150:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
148 |     }
149 |
150 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:154:36: error: 'clear' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
    |                                    `- error: 'clear' is only available in macOS 10.15 or newer
155 |     ) -> some View {
156 |         GeometryReader { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:138:18: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        |         `- error: 'View' is only available in macOS 10.15 or newer
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:172:76: error: 'View' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          |                                                                 `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:171:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:170:19: error: 'View' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         |         `- error: 'View' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:184:19: error: 'UnitPoint' is only available in macOS 10.15 or newer
182 | // MARK: - Private UnitPoint extension
183 |
184 | private extension UnitPoint {
    |         |         `- error: 'UnitPoint' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing extension
185 |     func scaledBy(_ size: CGSize) -> CGPoint {
186 |         .init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:59: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:23: error: 'ViewBuilder' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |            `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:59: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:73: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                              `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:219:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:218:18: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        |         `- error: 'View' is only available in macOS 10.15 or newer
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:26:20: warning: result builder 'ViewBuilder' does not implement 'buildLimitedAvailability'; this code may crash on earlier versions of the OS
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
 26 |                 if #available(iOS 17.0, *) {
    |                    `- warning: result builder 'ViewBuilder' does not implement 'buildLimitedAvailability'; this code may crash on earlier versions of the OS
 27 |                     view.gesture(magnificationGesture)
 28 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:13:14: error: 'background(alignment:content:)' is only available in macOS 12.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    |              |- error: 'background(alignment:content:)' is only available in macOS 12.0 or newer
    |              `- note: add 'if #available' version check
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:13:37: error: 'topLeading' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    |                                     |- error: 'topLeading' is only available in macOS 10.15 or newer
    |                                     `- note: add 'if #available' version check
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:14:17: error: 'GeometryReader' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
 14 |                 GeometryReader { proxy in
    |                 |- error: 'GeometryReader' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 15 |                     Color.clear
 16 |                         .onAppear {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:15:21: error: 'Color' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
    |                     |- error: 'Color' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 16 |                         .onAppear {
 17 |                             contentSize = proxy.size
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:15:27: error: 'clear' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
    |                           |- error: 'clear' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
 16 |                         .onAppear {
 17 |                             contentSize = proxy.size
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:16:26: error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
 16 |                         .onAppear {
    |                          |- error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 17 |                             contentSize = proxy.size
 18 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:17:29: error: setter for 'contentSize' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 15 |                     Color.clear
 16 |                         .onAppear {
 17 |                             contentSize = proxy.size
    |                             |- error: setter for 'contentSize' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
 18 |                         }
 19 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:22:14: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 20 |             }
 21 |             .animatableTransformEffect(transform)
 22 |             .gesture(dragGesture, including: transform == .identity ? .none : .all)
    |              |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 23 |             .modifyBlock { view in
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:23:14: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 21 |             .animatableTransformEffect(transform)
 22 |             .gesture(dragGesture, including: transform == .identity ? .none : .all)
 23 |             .modifyBlock { view in
    |              |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:27:26: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
 26 |                 if #available(iOS 17.0, *) {
 27 |                     view.gesture(magnificationGesture)
    |                          |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 28 |                 } else {
 29 |                     view.gesture(oldMagnificationGesture)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:26:44: error: 'buildLimitedAvailability' is only available in macOS 11.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
 26 |                 if #available(iOS 17.0, *) {
    |                                            |- error: 'buildLimitedAvailability' is only available in macOS 11.0 or newer
    |                                            `- note: add 'if #available' version check
 27 |                     view.gesture(magnificationGesture)
 28 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:26:44: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
 26 |                 if #available(iOS 17.0, *) {
    |                                            |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |                                            `- note: add 'if #available' version check
 27 |                     view.gesture(magnificationGesture)
 28 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:28:24: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 26 |                 if #available(iOS 17.0, *) {
 27 |                     view.gesture(magnificationGesture)
 28 |                 } else {
    |                        |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
 29 |                     view.gesture(oldMagnificationGesture)
 30 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:23:26: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 21 |             .animatableTransformEffect(transform)
 22 |             .gesture(dragGesture, including: transform == .identity ? .none : .all)
 23 |             .modifyBlock { view in
    |                          |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:32:14: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 30 |                 }
 31 |             }
 32 |             .gesture(doubleTapGesture)
    |              |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 33 |     }
 34 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:43:14: error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
    :
 41 |                 transform = lastTransform.scaledBy(x: scale, y: scale)
 42 |             }
 43 |             .onEnded { _ in
    |              |- error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 44 |                 onEndGesture()
 45 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:37:9: error: 'MagnificationGesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
    |         |- error: 'MagnificationGesture' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 38 |             .onChanged { value in
 39 |                 let zoomFactor = 0.5
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:38:14: error: 'onChanged' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 39 |                 let zoomFactor = 0.5
 40 |                 let scale = value * zoomFactor
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:41:17: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
 39 |                 let zoomFactor = 0.5
 40 |                 let scale = value * zoomFactor
 41 |                 transform = lastTransform.scaledBy(x: scale, y: scale)
    |                 |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 42 |             }
 43 |             .onEnded { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:43:14: error: 'onEnded' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
    :
 41 |                 transform = lastTransform.scaledBy(x: scale, y: scale)
 42 |             }
 43 |             .onEnded { _ in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 44 |                 onEndGesture()
 45 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:58:14: error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 56 |                 transform = lastTransform.concatenating(newTransform)
 57 |             }
 58 |             .onEnded { _ in
    |              |- error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 59 |                 withAnimation(.interactiveSpring()) {
 60 |                     onEndGesture()
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:50:9: error: 'MagnifyGesture' is only available in macOS 14.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
    |         |- error: 'MagnifyGesture' is only available in macOS 14.0 or newer
    |         `- note: add 'if #available' version check
 51 |             .onChanged { value in
 52 |                 let newTransform = CGAffineTransform.anchoredScale(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:51:14: error: 'onChanged' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 52 |                 let newTransform = CGAffineTransform.anchoredScale(
 53 |                     scale: value.magnification,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:56:17: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 54 |                     anchor: value.startAnchor.scaledBy(contentSize)
 55 |                 )
 56 |                 transform = lastTransform.concatenating(newTransform)
    |                 |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 57 |             }
 58 |             .onEnded { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:58:14: error: 'onEnded' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 56 |                 transform = lastTransform.concatenating(newTransform)
 57 |             }
 58 |             .onEnded { _ in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 59 |                 withAnimation(.interactiveSpring()) {
 60 |                     onEndGesture()
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:59:17: error: 'withAnimation' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 57 |             }
 58 |             .onEnded { _ in
 59 |                 withAnimation(.interactiveSpring()) {
    |                 |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 60 |                     onEndGesture()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:59:32: error: 'interactiveSpring(duration:extraBounce:blendDuration:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 57 |             }
 58 |             .onEnded { _ in
 59 |                 withAnimation(.interactiveSpring()) {
    |                                |- error: 'interactiveSpring(duration:extraBounce:blendDuration:)' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
 60 |                     onEndGesture()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:67:14: error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    |              |- error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 68 |                 let newTransform: CGAffineTransform =
 69 |                     if transform.isIdentity {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:66:9: error: 'SpatialTapGesture' is only available in macOS 13.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
    |         |- error: 'SpatialTapGesture' is only available in macOS 13.0 or newer
    |         `- note: add 'if #available' version check
 67 |             .onEnded { value in
 68 |                 let newTransform: CGAffineTransform =
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:66:9: error: 'init(count:coordinateSpace:)' is only available in macOS 14.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
    |         |- error: 'init(count:coordinateSpace:)' is only available in macOS 14.0 or newer
    |         `- note: add 'if #available' version check
 67 |             .onEnded { value in
 68 |                 let newTransform: CGAffineTransform =
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:67:14: error: 'onEnded' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 68 |                 let newTransform: CGAffineTransform =
 69 |                     if transform.isIdentity {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:75:17: error: 'withAnimation' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    :
 73 |                 }
 74 |
 75 |                 withAnimation(.linear(duration: 0.15)) {
    |                 |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 76 |                     transform = newTransform
 77 |                     lastTransform = newTransform
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:75:32: error: 'linear(duration:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    :
 73 |                 }
 74 |
 75 |                 withAnimation(.linear(duration: 0.15)) {
    |                                |- error: 'linear(duration:)' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
 76 |                     transform = newTransform
 77 |                     lastTransform = newTransform
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:76:21: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    :
 74 |
 75 |                 withAnimation(.linear(duration: 0.15)) {
 76 |                     transform = newTransform
    |                     |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 77 |                     lastTransform = newTransform
 78 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:77:21: error: setter for 'lastTransform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    :
 75 |                 withAnimation(.linear(duration: 0.15)) {
 76 |                     transform = newTransform
 77 |                     lastTransform = newTransform
    |                     |- error: setter for 'lastTransform' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 78 |                 }
 79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:92:14: error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
    :
 90 |                 }
 91 |             }
 92 |             .onEnded { _ in
    |              |- error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 93 |                 onEndGesture()
 94 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:83:9: error: 'DragGesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
    |         |- error: 'DragGesture' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:83:9: error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
    |         |- error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
    |         `- note: add 'if #available' version check
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:84:14: error: 'onChanged' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 85 |                 withAnimation(.interactiveSpring) {
 86 |                     transform = lastTransform.translatedBy(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:85:17: error: 'withAnimation' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
    |                 |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 86 |                     transform = lastTransform.translatedBy(
 87 |                         x: value.translation.width / transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:85:32: error: 'interactiveSpring' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
    |                                |- error: 'interactiveSpring' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
 86 |                     transform = lastTransform.translatedBy(
 87 |                         x: value.translation.width / transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:86:21: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
 86 |                     transform = lastTransform.translatedBy(
    |                     |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 87 |                         x: value.translation.width / transform.scaleX,
 88 |                         y: value.translation.height / transform.scaleY
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:92:14: error: 'onEnded' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
    :
 90 |                 }
 91 |             }
 92 |             .onEnded { _ in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 93 |                 onEndGesture()
 94 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:100:9: error: 'withAnimation' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 95 |     }
 96 |
 97 |     private func onEndGesture() {
    |                  `- note: add @available attribute to enclosing instance method
 98 |         let newTransform = limitTransform(transform)
 99 |
100 |         withAnimation(.snappy(duration: 0.1)) {
    |         |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
101 |             transform = newTransform
102 |             lastTransform = newTransform
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:100:24: error: 'snappy(duration:extraBounce:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 95 |     }
 96 |
 97 |     private func onEndGesture() {
    |                  `- note: add @available attribute to enclosing instance method
 98 |         let newTransform = limitTransform(transform)
 99 |
100 |         withAnimation(.snappy(duration: 0.1)) {
    |                        |- error: 'snappy(duration:extraBounce:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
101 |             transform = newTransform
102 |             lastTransform = newTransform
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:101:13: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 95 |     }
 96 |
 97 |     private func onEndGesture() {
    |                  `- note: add @available attribute to enclosing instance method
 98 |         let newTransform = limitTransform(transform)
 99 |
100 |         withAnimation(.snappy(duration: 0.1)) {
101 |             transform = newTransform
    |             |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
102 |             lastTransform = newTransform
103 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:102:13: error: setter for 'lastTransform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 95 |     }
 96 |
 97 |     private func onEndGesture() {
    |                  `- note: add @available attribute to enclosing instance method
 98 |         let newTransform = limitTransform(transform)
 99 |
100 |         withAnimation(.snappy(duration: 0.1)) {
101 |             transform = newTransform
102 |             lastTransform = newTransform
    |             |- error: setter for 'lastTransform' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
103 |         }
104 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:144:9: error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
144 |         modifier(ZoomableModifier(
    |         |- error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
145 |             minZoomScale: minZoomScale,
146 |             maxZoomScale: maxZoomScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:144:9: error: 'modifier' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
144 |         modifier(ZoomableModifier(
    |         |- error: 'modifier' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
145 |             minZoomScale: minZoomScale,
146 |             maxZoomScale: maxZoomScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:143:20: error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
    |                    |- error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
144 |         modifier(ZoomableModifier(
145 |             minZoomScale: minZoomScale,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:156:9: error: 'GeometryReader' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
155 |     ) -> some View {
156 |         GeometryReader { _ in
    |         |- error: 'GeometryReader' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
157 |             ZStack {
158 |                 outOfBoundsColor
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:157:13: error: 'ZStack' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
    :
155 |     ) -> some View {
156 |         GeometryReader { _ in
157 |             ZStack {
    |             |- error: 'ZStack' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
158 |                 outOfBoundsColor
159 |                 self.zoomable(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:158:17: error: conformance of 'Color' to 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
    :
156 |         GeometryReader { _ in
157 |             ZStack {
158 |                 outOfBoundsColor
    |                 |- error: conformance of 'Color' to 'View' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
159 |                 self.zoomable(
160 |                     minZoomScale: minZoomScale,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:157:20: error: conformance of 'Color' to 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
    :
155 |     ) -> some View {
156 |         GeometryReader { _ in
157 |             ZStack {
    |                    |- error: conformance of 'Color' to 'View' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
158 |                 outOfBoundsColor
159 |                 self.zoomable(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:173:9: error: 'scaleEffect(x:y:anchor:)' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
    |         |- error: 'scaleEffect(x:y:anchor:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
174 |             x: transform.scaleX,
175 |             y: transform.scaleY,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:178:10: error: 'offset(x:y:)' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
    :
176 |             anchor: .zero
177 |         )
178 |         .offset(x: transform.tx, y: transform.ty)
    |          |- error: 'offset(x:y:)' is only available in macOS 10.15 or newer
    |          `- note: add 'if #available' version check
179 |     }
180 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:213:9: warning: use of 'min' as reference to global function in module 'Swift' will change in future versions of Swift to reference instance method in generic struct 'ClosedRange' which comes via a conditional conformance
211 | private extension ClosedRange<CGFloat> {
212 |     func clamp(_ value: CGFloat) -> CGFloat {
213 |         min(max(value, lowerBound), upperBound)
    |         |- warning: use of 'min' as reference to global function in module 'Swift' will change in future versions of Swift to reference instance method in generic struct 'ClosedRange' which comes via a conditional conformance
    |         `- note: use 'Swift.' to continue to reference the global function
214 |     }
215 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:213:13: warning: use of 'max' as reference to global function in module 'Swift' will change in future versions of Swift to reference instance method in generic struct 'ClosedRange' which comes via a conditional conformance
211 | private extension ClosedRange<CGFloat> {
212 |     func clamp(_ value: CGFloat) -> CGFloat {
213 |         min(max(value, lowerBound), upperBound)
    |             |- warning: use of 'max' as reference to global function in module 'Swift' will change in future versions of Swift to reference instance method in generic struct 'ClosedRange' which comes via a conditional conformance
    |             `- note: use 'Swift.' to continue to reference the global function
214 |     }
215 | }
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 ZoomableModifier
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:7:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
  6 |
  7 |     @State private var lastTransform: CGAffineTransform = .identity
    |      `- error: 'State' is only available in macOS 10.15 or newer
  8 |     @State private var transform: CGAffineTransform = .identity
  9 |     @State private var contentSize: CGSize = .zero
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:8:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
  6 |
  7 |     @State private var lastTransform: CGAffineTransform = .identity
  8 |     @State private var transform: CGAffineTransform = .identity
    |      `- error: 'State' is only available in macOS 10.15 or newer
  9 |     @State private var contentSize: CGSize = .zero
 10 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:9:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  7 |     @State private var lastTransform: CGAffineTransform = .identity
  8 |     @State private var transform: CGAffineTransform = .identity
  9 |     @State private var contentSize: CGSize = .zero
    |      `- error: 'State' is only available in macOS 10.15 or newer
 10 |
 11 |     public func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:11:48: error: 'View' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public 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
 12 |         content
 13 |             .background(alignment: .topLeading) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:36:47: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 |                             `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:49:44: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 |                          `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:65:40: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 |                      `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:82:35: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 |                 `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:143:15: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
    |               `- error: 'View' is only available in macOS 10.15 or newer
144 |         modifier(ZoomableModifier(
145 |             minZoomScale: minZoomScale,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:139:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:154:27: error: 'Color' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
    |                           `- error: 'Color' is only available in macOS 10.15 or newer
155 |     ) -> some View {
156 |         GeometryReader { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:155:15: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
155 |     ) -> some View {
    |               `- error: 'View' is only available in macOS 10.15 or newer
156 |         GeometryReader { _ in
157 |             ZStack {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:150:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
148 |     }
149 |
150 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:154:36: error: 'clear' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
    |                                    `- error: 'clear' is only available in macOS 10.15 or newer
155 |     ) -> some View {
156 |         GeometryReader { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:138:18: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        |         `- error: 'View' is only available in macOS 10.15 or newer
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:172:76: error: 'View' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          |                                                                 `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:171:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:170:19: error: 'View' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         |         `- error: 'View' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:184:19: error: 'UnitPoint' is only available in macOS 10.15 or newer
182 | // MARK: - Private UnitPoint extension
183 |
184 | private extension UnitPoint {
    |         |         `- error: 'UnitPoint' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing extension
185 |     func scaledBy(_ size: CGSize) -> CGPoint {
186 |         .init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:59: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:23: error: 'ViewBuilder' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |            `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:59: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:73: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                              `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:219:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:218:18: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        |         `- error: 'View' is only available in macOS 10.15 or newer
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
[3/3] Compiling ZoomableModifier ZoomableModifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:7:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
  6 |
  7 |     @State private var lastTransform: CGAffineTransform = .identity
    |      `- error: 'State' is only available in macOS 10.15 or newer
  8 |     @State private var transform: CGAffineTransform = .identity
  9 |     @State private var contentSize: CGSize = .zero
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:8:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
  6 |
  7 |     @State private var lastTransform: CGAffineTransform = .identity
  8 |     @State private var transform: CGAffineTransform = .identity
    |      `- error: 'State' is only available in macOS 10.15 or newer
  9 |     @State private var contentSize: CGSize = .zero
 10 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:9:6: error: 'State' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  7 |     @State private var lastTransform: CGAffineTransform = .identity
  8 |     @State private var transform: CGAffineTransform = .identity
  9 |     @State private var contentSize: CGSize = .zero
    |      `- error: 'State' is only available in macOS 10.15 or newer
 10 |
 11 |     public func body(content: Content) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:11:48: error: 'View' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public 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
 12 |         content
 13 |             .background(alignment: .topLeading) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:36:47: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 |                             `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:49:44: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 |                          `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:65:40: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 |                      `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:82:35: error: 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 |                 `- error: 'Gesture' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:143:15: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
    |               `- error: 'View' is only available in macOS 10.15 or newer
144 |         modifier(ZoomableModifier(
145 |             minZoomScale: minZoomScale,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:139:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:154:27: error: 'Color' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
    |                           `- error: 'Color' is only available in macOS 10.15 or newer
155 |     ) -> some View {
156 |         GeometryReader { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:155:15: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
155 |     ) -> some View {
    |               `- error: 'View' is only available in macOS 10.15 or newer
156 |         GeometryReader { _ in
157 |             ZStack {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:150:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
148 |     }
149 |
150 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:154:36: error: 'clear' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
    |                                    `- error: 'clear' is only available in macOS 10.15 or newer
155 |     ) -> some View {
156 |         GeometryReader { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:138:18: error: 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        |         `- error: 'View' is only available in macOS 10.15 or newer
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:172:76: error: 'View' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          |                                                                 `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:171:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:170:19: error: 'View' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         |         `- error: 'View' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:184:19: error: 'UnitPoint' is only available in macOS 10.15 or newer
182 | // MARK: - Private UnitPoint extension
183 |
184 | private extension UnitPoint {
    |         |         `- error: 'UnitPoint' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing extension
185 |     func scaledBy(_ size: CGSize) -> CGPoint {
186 |         .init(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:59: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:23: error: 'ViewBuilder' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |            `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:59: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:220:73: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          |                                                              `- error: 'View' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:219:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
    |      `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
    |          `- note: add @available attribute to enclosing instance method
221 |         block(self)
222 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:218:18: error: 'View' is only available in macOS 10.15 or newer
216 |
217 | // Block based wrapper to allow conditional modification
218 | public extension View {
    |        |         `- error: 'View' is only available in macOS 10.15 or newer
    |        `- note: add @available attribute to enclosing extension
219 |     @ViewBuilder
220 |     func modifyBlock(@ViewBuilder _ block: (Self) -> some View) -> some View {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:26:20: warning: result builder 'ViewBuilder' does not implement 'buildLimitedAvailability'; this code may crash on earlier versions of the OS
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
 26 |                 if #available(iOS 17.0, *) {
    |                    `- warning: result builder 'ViewBuilder' does not implement 'buildLimitedAvailability'; this code may crash on earlier versions of the OS
 27 |                     view.gesture(magnificationGesture)
 28 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:13:14: error: 'background(alignment:content:)' is only available in macOS 12.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    |              |- error: 'background(alignment:content:)' is only available in macOS 12.0 or newer
    |              `- note: add 'if #available' version check
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:13:37: error: 'topLeading' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    |                                     |- error: 'topLeading' is only available in macOS 10.15 or newer
    |                                     `- note: add 'if #available' version check
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:14:17: error: 'GeometryReader' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
 14 |                 GeometryReader { proxy in
    |                 |- error: 'GeometryReader' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 15 |                     Color.clear
 16 |                         .onAppear {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:15:21: error: 'Color' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
    |                     |- error: 'Color' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 16 |                         .onAppear {
 17 |                             contentSize = proxy.size
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:15:27: error: 'clear' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
    |                           |- error: 'clear' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
 16 |                         .onAppear {
 17 |                             contentSize = proxy.size
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:16:26: error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
 14 |                 GeometryReader { proxy in
 15 |                     Color.clear
 16 |                         .onAppear {
    |                          |- error: 'onAppear(perform:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 17 |                             contentSize = proxy.size
 18 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:17:29: error: setter for 'contentSize' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 15 |                     Color.clear
 16 |                         .onAppear {
 17 |                             contentSize = proxy.size
    |                             |- error: setter for 'contentSize' is only available in macOS 10.15 or newer
    |                             `- note: add 'if #available' version check
 18 |                         }
 19 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:22:14: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 20 |             }
 21 |             .animatableTransformEffect(transform)
 22 |             .gesture(dragGesture, including: transform == .identity ? .none : .all)
    |              |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 23 |             .modifyBlock { view in
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:23:14: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 21 |             .animatableTransformEffect(transform)
 22 |             .gesture(dragGesture, including: transform == .identity ? .none : .all)
 23 |             .modifyBlock { view in
    |              |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:27:26: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
 26 |                 if #available(iOS 17.0, *) {
 27 |                     view.gesture(magnificationGesture)
    |                          |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 28 |                 } else {
 29 |                     view.gesture(oldMagnificationGesture)
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:26:44: error: 'buildLimitedAvailability' is only available in macOS 11.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
 26 |                 if #available(iOS 17.0, *) {
    |                                            |- error: 'buildLimitedAvailability' is only available in macOS 11.0 or newer
    |                                            `- note: add 'if #available' version check
 27 |                     view.gesture(magnificationGesture)
 28 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:26:44: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
 26 |                 if #available(iOS 17.0, *) {
    |                                            |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
    |                                            `- note: add 'if #available' version check
 27 |                     view.gesture(magnificationGesture)
 28 |                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:28:24: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 26 |                 if #available(iOS 17.0, *) {
 27 |                     view.gesture(magnificationGesture)
 28 |                 } else {
    |                        |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
 29 |                     view.gesture(oldMagnificationGesture)
 30 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:23:26: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 21 |             .animatableTransformEffect(transform)
 22 |             .gesture(dragGesture, including: transform == .identity ? .none : .all)
 23 |             .modifyBlock { view in
    |                          |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
    |                          `- note: add 'if #available' version check
 24 |                 // iOS 16: Due to limitations with MagnificationGesture, during pinch-in actions, the zoom location is fixed to the top-left corner.
 25 |                 // iOS 17 and later: This issue has been addressed and improved with the introduction of MagnifyGesture.
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:32:14: error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
  9 |     @State private var contentSize: CGSize = .zero
 10 |
 11 |     public func body(content: Content) -> some View {
    |                 `- note: add @available attribute to enclosing instance method
 12 |         content
 13 |             .background(alignment: .topLeading) {
    :
 30 |                 }
 31 |             }
 32 |             .gesture(doubleTapGesture)
    |              |- error: 'gesture(_:including:)' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 33 |     }
 34 |
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:43:14: error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
    :
 41 |                 transform = lastTransform.scaledBy(x: scale, y: scale)
 42 |             }
 43 |             .onEnded { _ in
    |              |- error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 44 |                 onEndGesture()
 45 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:37:9: error: 'MagnificationGesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
    |         |- error: 'MagnificationGesture' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 38 |             .onChanged { value in
 39 |                 let zoomFactor = 0.5
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:38:14: error: 'onChanged' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 39 |                 let zoomFactor = 0.5
 40 |                 let scale = value * zoomFactor
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:41:17: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
 39 |                 let zoomFactor = 0.5
 40 |                 let scale = value * zoomFactor
 41 |                 transform = lastTransform.scaledBy(x: scale, y: scale)
    |                 |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 42 |             }
 43 |             .onEnded { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:43:14: error: 'onEnded' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 34 |
 35 |     @available(iOS, introduced: 16.0, deprecated: 17.0)
 36 |     private var oldMagnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 37 |         MagnificationGesture()
 38 |             .onChanged { value in
    :
 41 |                 transform = lastTransform.scaledBy(x: scale, y: scale)
 42 |             }
 43 |             .onEnded { _ in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 44 |                 onEndGesture()
 45 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:58:14: error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 56 |                 transform = lastTransform.concatenating(newTransform)
 57 |             }
 58 |             .onEnded { _ in
    |              |- error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 59 |                 withAnimation(.interactiveSpring()) {
 60 |                     onEndGesture()
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:50:9: error: 'MagnifyGesture' is only available in macOS 14.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
    |         |- error: 'MagnifyGesture' is only available in macOS 14.0 or newer
    |         `- note: add 'if #available' version check
 51 |             .onChanged { value in
 52 |                 let newTransform = CGAffineTransform.anchoredScale(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:51:14: error: 'onChanged' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 52 |                 let newTransform = CGAffineTransform.anchoredScale(
 53 |                     scale: value.magnification,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:56:17: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 54 |                     anchor: value.startAnchor.scaledBy(contentSize)
 55 |                 )
 56 |                 transform = lastTransform.concatenating(newTransform)
    |                 |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 57 |             }
 58 |             .onEnded { _ in
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:58:14: error: 'onEnded' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 56 |                 transform = lastTransform.concatenating(newTransform)
 57 |             }
 58 |             .onEnded { _ in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 59 |                 withAnimation(.interactiveSpring()) {
 60 |                     onEndGesture()
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:59:17: error: 'withAnimation' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 57 |             }
 58 |             .onEnded { _ in
 59 |                 withAnimation(.interactiveSpring()) {
    |                 |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 60 |                     onEndGesture()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:59:32: error: 'interactiveSpring(duration:extraBounce:blendDuration:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 47 |
 48 |     @available(iOS 17.0, *)
 49 |     private var magnificationGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 50 |         MagnifyGesture(minimumScaleDelta: 0)
 51 |             .onChanged { value in
    :
 57 |             }
 58 |             .onEnded { _ in
 59 |                 withAnimation(.interactiveSpring()) {
    |                                |- error: 'interactiveSpring(duration:extraBounce:blendDuration:)' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
 60 |                     onEndGesture()
 61 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:67:14: error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    |              |- error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 68 |                 let newTransform: CGAffineTransform =
 69 |                     if transform.isIdentity {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:66:9: error: 'SpatialTapGesture' is only available in macOS 13.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
    |         |- error: 'SpatialTapGesture' is only available in macOS 13.0 or newer
    |         `- note: add 'if #available' version check
 67 |             .onEnded { value in
 68 |                 let newTransform: CGAffineTransform =
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:66:9: error: 'init(count:coordinateSpace:)' is only available in macOS 14.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
    |         |- error: 'init(count:coordinateSpace:)' is only available in macOS 14.0 or newer
    |         `- note: add 'if #available' version check
 67 |             .onEnded { value in
 68 |                 let newTransform: CGAffineTransform =
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:67:14: error: 'onEnded' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 68 |                 let newTransform: CGAffineTransform =
 69 |                     if transform.isIdentity {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:75:17: error: 'withAnimation' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    :
 73 |                 }
 74 |
 75 |                 withAnimation(.linear(duration: 0.15)) {
    |                 |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 76 |                     transform = newTransform
 77 |                     lastTransform = newTransform
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:75:32: error: 'linear(duration:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    :
 73 |                 }
 74 |
 75 |                 withAnimation(.linear(duration: 0.15)) {
    |                                |- error: 'linear(duration:)' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
 76 |                     transform = newTransform
 77 |                     lastTransform = newTransform
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:76:21: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    :
 74 |
 75 |                 withAnimation(.linear(duration: 0.15)) {
 76 |                     transform = newTransform
    |                     |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 77 |                     lastTransform = newTransform
 78 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:77:21: error: setter for 'lastTransform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 63 |     }
 64 |
 65 |     private var doubleTapGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 66 |         SpatialTapGesture(count: 2)
 67 |             .onEnded { value in
    :
 75 |                 withAnimation(.linear(duration: 0.15)) {
 76 |                     transform = newTransform
 77 |                     lastTransform = newTransform
    |                     |- error: setter for 'lastTransform' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 78 |                 }
 79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:92:14: error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
    :
 90 |                 }
 91 |             }
 92 |             .onEnded { _ in
    |              |- error: conformance of '_EndedGesture<Content>' to 'Gesture' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 93 |                 onEndGesture()
 94 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:83:9: error: 'DragGesture' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
    |         |- error: 'DragGesture' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:83:9: error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
    |         |- error: 'init(minimumDistance:coordinateSpace:)' is only available in macOS 14.0 or newer
    |         `- note: add 'if #available' version check
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:84:14: error: 'onChanged' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
    |              |- error: 'onChanged' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 85 |                 withAnimation(.interactiveSpring) {
 86 |                     transform = lastTransform.translatedBy(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:85:17: error: 'withAnimation' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
    |                 |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 86 |                     transform = lastTransform.translatedBy(
 87 |                         x: value.translation.width / transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:85:32: error: 'interactiveSpring' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
    |                                |- error: 'interactiveSpring' is only available in macOS 10.15 or newer
    |                                `- note: add 'if #available' version check
 86 |                     transform = lastTransform.translatedBy(
 87 |                         x: value.translation.width / transform.scaleX,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:86:21: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
 85 |                 withAnimation(.interactiveSpring) {
 86 |                     transform = lastTransform.translatedBy(
    |                     |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
 87 |                         x: value.translation.width / transform.scaleX,
 88 |                         y: value.translation.height / transform.scaleY
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:92:14: error: 'onEnded' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 80 |     }
 81 |
 82 |     private var dragGesture: some Gesture {
    |                 `- note: add @available attribute to enclosing property
 83 |         DragGesture()
 84 |             .onChanged { value in
    :
 90 |                 }
 91 |             }
 92 |             .onEnded { _ in
    |              |- error: 'onEnded' is only available in macOS 10.15 or newer
    |              `- note: add 'if #available' version check
 93 |                 onEndGesture()
 94 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:100:9: error: 'withAnimation' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 95 |     }
 96 |
 97 |     private func onEndGesture() {
    |                  `- note: add @available attribute to enclosing instance method
 98 |         let newTransform = limitTransform(transform)
 99 |
100 |         withAnimation(.snappy(duration: 0.1)) {
    |         |- error: 'withAnimation' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
101 |             transform = newTransform
102 |             lastTransform = newTransform
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:100:24: error: 'snappy(duration:extraBounce:)' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 95 |     }
 96 |
 97 |     private func onEndGesture() {
    |                  `- note: add @available attribute to enclosing instance method
 98 |         let newTransform = limitTransform(transform)
 99 |
100 |         withAnimation(.snappy(duration: 0.1)) {
    |                        |- error: 'snappy(duration:extraBounce:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
101 |             transform = newTransform
102 |             lastTransform = newTransform
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:101:13: error: setter for 'transform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 95 |     }
 96 |
 97 |     private func onEndGesture() {
    |                  `- note: add @available attribute to enclosing instance method
 98 |         let newTransform = limitTransform(transform)
 99 |
100 |         withAnimation(.snappy(duration: 0.1)) {
101 |             transform = newTransform
    |             |- error: setter for 'transform' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
102 |             lastTransform = newTransform
103 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:102:13: error: setter for 'lastTransform' is only available in macOS 10.15 or newer
  1 | import SwiftUI
  2 |
  3 | public struct ZoomableModifier: ViewModifier {
    |               `- note: add @available attribute to enclosing struct
  4 |     let minZoomScale: CGFloat
  5 |     let maxZoomScale: CGFloat
    :
 95 |     }
 96 |
 97 |     private func onEndGesture() {
    |                  `- note: add @available attribute to enclosing instance method
 98 |         let newTransform = limitTransform(transform)
 99 |
100 |         withAnimation(.snappy(duration: 0.1)) {
101 |             transform = newTransform
102 |             lastTransform = newTransform
    |             |- error: setter for 'lastTransform' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
103 |         }
104 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:144:9: error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
144 |         modifier(ZoomableModifier(
    |         |- error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
145 |             minZoomScale: minZoomScale,
146 |             maxZoomScale: maxZoomScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:144:9: error: 'modifier' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
144 |         modifier(ZoomableModifier(
    |         |- error: 'modifier' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
145 |             minZoomScale: minZoomScale,
146 |             maxZoomScale: maxZoomScale
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:143:20: error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
141 |         minZoomScale: CGFloat = 1,
142 |         maxZoomScale: CGFloat = 3
143 |     ) -> some View {
    |                    |- error: conformance of 'ModifiedContent<Content, Modifier>' to 'View' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
144 |         modifier(ZoomableModifier(
145 |             minZoomScale: minZoomScale,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:156:9: error: 'GeometryReader' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
154 |         outOfBoundsColor: Color = .clear
155 |     ) -> some View {
156 |         GeometryReader { _ in
    |         |- error: 'GeometryReader' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
157 |             ZStack {
158 |                 outOfBoundsColor
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:157:13: error: 'ZStack' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
    :
155 |     ) -> some View {
156 |         GeometryReader { _ in
157 |             ZStack {
    |             |- error: 'ZStack' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
158 |                 outOfBoundsColor
159 |                 self.zoomable(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:158:17: error: conformance of 'Color' to 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
    :
156 |         GeometryReader { _ in
157 |             ZStack {
158 |                 outOfBoundsColor
    |                 |- error: conformance of 'Color' to 'View' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
159 |                 self.zoomable(
160 |                     minZoomScale: minZoomScale,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:157:20: error: conformance of 'Color' to 'View' is only available in macOS 10.15 or newer
136 | // MARK: - Public View extension
137 |
138 | public extension View {
    |        `- note: add @available attribute to enclosing extension
139 |     @ViewBuilder
140 |     func zoomable(
    :
149 |
150 |     @ViewBuilder
151 |     func zoomable(
    |          `- note: add @available attribute to enclosing instance method
152 |         minZoomScale: CGFloat = 1,
153 |         maxZoomScale: CGFloat = 3,
    :
155 |     ) -> some View {
156 |         GeometryReader { _ in
157 |             ZStack {
    |                    |- error: conformance of 'Color' to 'View' is only available in macOS 10.15 or newer
    |                    `- note: add 'if #available' version check
158 |                 outOfBoundsColor
159 |                 self.zoomable(
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:173:9: error: 'scaleEffect(x:y:anchor:)' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
    |         |- error: 'scaleEffect(x:y:anchor:)' is only available in macOS 10.15 or newer
    |         `- note: add 'if #available' version check
174 |             x: transform.scaleX,
175 |             y: transform.scaleY,
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:178:10: error: 'offset(x:y:)' is only available in macOS 10.15 or newer
168 | // MARK: - Private View extension
169 |
170 | private extension View {
    |         `- note: add @available attribute to enclosing extension
171 |     @ViewBuilder
172 |     func animatableTransformEffect(_ transform: CGAffineTransform) -> some View {
    |          `- note: add @available attribute to enclosing instance method
173 |         scaleEffect(
174 |             x: transform.scaleX,
    :
176 |             anchor: .zero
177 |         )
178 |         .offset(x: transform.tx, y: transform.ty)
    |          |- error: 'offset(x:y:)' is only available in macOS 10.15 or newer
    |          `- note: add 'if #available' version check
179 |     }
180 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:213:9: warning: use of 'min' as reference to global function in module 'Swift' will change in future versions of Swift to reference instance method in generic struct 'ClosedRange' which comes via a conditional conformance
211 | private extension ClosedRange<CGFloat> {
212 |     func clamp(_ value: CGFloat) -> CGFloat {
213 |         min(max(value, lowerBound), upperBound)
    |         |- warning: use of 'min' as reference to global function in module 'Swift' will change in future versions of Swift to reference instance method in generic struct 'ClosedRange' which comes via a conditional conformance
    |         `- note: use 'Swift.' to continue to reference the global function
214 |     }
215 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZoomableModifier/ZoomableModifier.swift:213:13: warning: use of 'max' as reference to global function in module 'Swift' will change in future versions of Swift to reference instance method in generic struct 'ClosedRange' which comes via a conditional conformance
211 | private extension ClosedRange<CGFloat> {
212 |     func clamp(_ value: CGFloat) -> CGFloat {
213 |         min(max(value, lowerBound), upperBound)
    |             |- warning: use of 'max' as reference to global function in module 'Swift' will change in future versions of Swift to reference instance method in generic struct 'ClosedRange' which comes via a conditional conformance
    |             `- note: use 'Swift.' to continue to reference the global function
214 |     }
215 | }
BUILD FAILURE 6.1 macosSpm