The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build GeoMonitor, reference 0.2.0 (6bd609), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 13:48:35 UTC.

Build Command

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

Build Log

========================================
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": "geomonitor",
      "name": "GeoMonitor",
      "url": "https://github.com/skedgo/GeoMonitor.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/GeoMonitor",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/skedgo/GeoMonitor.git
[1/187] Fetching geomonitor
Fetched https://github.com/skedgo/GeoMonitor.git from cache (0.65s)
Creating working copy for https://github.com/skedgo/GeoMonitor.git
Working copy of https://github.com/skedgo/GeoMonitor.git resolved at 0.2.0 (6bd6092)
warning: '.resolve-product-dependencies': dependency 'geomonitor' 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/skedgo/GeoMonitor.git
https://github.com/skedgo/GeoMonitor.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "GeoMonitor",
  "name" : "GeoMonitor",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "GeoMonitor",
      "targets" : [
        "GeoMonitor"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "GeoMonitorTests",
      "module_type" : "SwiftTarget",
      "name" : "GeoMonitorTests",
      "path" : "Tests/GeoMonitorTests",
      "sources" : [
        "GeoMonitorTests.swift"
      ],
      "target_dependencies" : [
        "GeoMonitor"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GeoMonitor",
      "module_type" : "SwiftTarget",
      "name" : "GeoMonitor",
      "path" : "Sources/GeoMonitor",
      "product_memberships" : [
        "GeoMonitor"
      ],
      "sources" : [
        "GeoMonitor.swift",
        "PrioritizedRegion.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
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
[3/5] Compiling GeoMonitor PrioritizedRegion.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/5] Emitting module GeoMonitor
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:24:16: warning: static property 'currentLocationRegionMaximumRadius' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 22 | public class GeoMonitor: NSObject, ObservableObject {
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    |                |- warning: static property 'currentLocationRegionMaximumRadius' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'currentLocationRegionMaximumRadius' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'currentLocationRegionMaximumRadius' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |     static var currentLocationRegionRadiusDelta: CLLocationDistance        = 2_000
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:25:16: warning: static property 'currentLocationRegionRadiusDelta' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
 25 |     static var currentLocationRegionRadiusDelta: CLLocationDistance        = 2_000
    |                |- warning: static property 'currentLocationRegionRadiusDelta' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'currentLocationRegionRadiusDelta' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'currentLocationRegionRadiusDelta' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:26:16: warning: static property 'maximumDistanceToRegionCenter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
 25 |     static var currentLocationRegionRadiusDelta: CLLocationDistance        = 2_000
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
    |                |- warning: static property 'maximumDistanceToRegionCenter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'maximumDistanceToRegionCenter' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'maximumDistanceToRegionCenter' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:27:16: warning: static property 'maximumDistanceForPriorityPruningCenter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 25 |     static var currentLocationRegionRadiusDelta: CLLocationDistance        = 2_000
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
    |                |- warning: static property 'maximumDistanceForPriorityPruningCenter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'maximumDistanceForPriorityPruningCenter' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'maximumDistanceForPriorityPruningCenter' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
 29 |     static var currentLocationFetchRecency: TimeInterval                   = 10
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:28:16: warning: static property 'currentLocationFetchTimeOut' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
    |                |- warning: static property 'currentLocationFetchTimeOut' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'currentLocationFetchTimeOut' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'currentLocationFetchTimeOut' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |     static var currentLocationFetchRecency: TimeInterval                   = 10
 30 |     static var minIntervalBetweenEnteringSameRegion: TimeInterval          = 120
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:29:16: warning: static property 'currentLocationFetchRecency' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
 29 |     static var currentLocationFetchRecency: TimeInterval                   = 10
    |                |- warning: static property 'currentLocationFetchRecency' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'currentLocationFetchRecency' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'currentLocationFetchRecency' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |     static var minIntervalBetweenEnteringSameRegion: TimeInterval          = 120
 31 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:30:16: warning: static property 'minIntervalBetweenEnteringSameRegion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
 29 |     static var currentLocationFetchRecency: TimeInterval                   = 10
 30 |     static var minIntervalBetweenEnteringSameRegion: TimeInterval          = 120
    |                |- warning: static property 'minIntervalBetweenEnteringSameRegion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'minIntervalBetweenEnteringSameRegion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'minIntervalBetweenEnteringSameRegion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |   }
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:80:28: error: 'Task' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
 78 |   private var recentlyReportedRegionIdentifiers: [(String, Date)] = []
 79 |
 80 |   private var monitorTask: Task<Void, Error>? = nil
    |                            `- error: 'Task' is only available in macOS 10.15 or newer
 81 |
 82 |   public var maxRegionsToMonitor = 20
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:127:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
125 |
126 |   /// Whether user has granted any kind of access to the device's location, when-in-use or always
127 |   @Published public var hasAccess: Bool
    |    `- error: 'Published' is only available in macOS 10.15 or newer
128 |
129 |   private var askHandler: (Bool) -> Void = { _ in }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:187:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
185 |   // MARK: - Location tracking
186 |
187 |   @Published public var currentLocation: CLLocation?
    |    `- error: 'Published' is only available in macOS 10.15 or newer
188 |
189 |   @Published public var isTracking: Bool = false {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:189:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
187 |   @Published public var currentLocation: CLLocation?
188 |
189 |   @Published public var isTracking: Bool = false {
    |    `- error: 'Published' is only available in macOS 10.15 or newer
190 |     didSet {
191 |       if isTracking {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:47: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                               |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                                               `- note: add 'if #available' version check
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:104: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                                                                                        |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                                                                                                        `- note: add 'if #available' version check
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:128: error: 'authorizedWhenInUse' is unavailable in macOS
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                                                                                                                `- error: 'authorizedWhenInUse' is unavailable in macOS
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
CoreLocation.CLAuthorizationStatus.authorizedWhenInUse:3:8: note: 'authorizedWhenInUse' has been explicitly marked unavailable here
1 | enum CLAuthorizationStatus {
2 | @available(macOS, unavailable)
3 |   case authorizedWhenInUse}
  |        `- note: 'authorizedWhenInUse' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:253:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
251 |   ///
252 |   /// - warning: Setting this will prompt for access to the user's location with always-on tracking.
253 |   @Published public var enableInBackground: Bool = false {
    |    `- error: 'Published' is only available in macOS 10.15 or newer
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:277:27: error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
275 |       if isMonitoring {
276 |         if enableVisitMonitoring {
277 |           locationManager.startMonitoringVisits()
    |                           |- error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
278 |         } else {
279 |           locationManager.stopMonitoringVisits()
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:279:27: error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
277 |           locationManager.startMonitoringVisits()
278 |         } else {
279 |           locationManager.stopMonitoringVisits()
    |                           |- error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
280 |         }
281 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:22:36: error: 'ObservableObject' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              |                     `- error: 'ObservableObject' is only available in macOS 10.15 or newer
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:567:77: error: 'CLVisit' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               |                                                             `- error: 'CLVisit' is only available in macOS 10.15 or newer
    |               `- note: add @available attribute to enclosing instance method
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:588:15: warning: main actor-isolated instance method 'locationManager(_:didUpdateLocations:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    |                       `- note: add '@preconcurrency' to the 'CLLocationManagerDelegate' conformance to defer isolation checking to run time
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
586 |   }
587 |
588 |   public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didUpdateLocations:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didUpdateLocations:)' to make this instance method not isolated to the actor
589 | #if DEBUG
590 |     print("GeoMonitor updated locations -> \(locations)")
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:506:15: warning: main actor-isolated instance method 'locationManager(_:didEnterRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
504 | extension GeoMonitor: CLLocationManagerDelegate {
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didEnterRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didEnterRegion:)' to make this instance method not isolated to the actor
507 |     dispatchPrecondition(condition: .onQueue(.main))
508 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:549:15: warning: main actor-isolated instance method 'locationManager(_:didExitRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
547 |   }
548 |
549 |   public func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didExitRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didExitRegion:)' to make this instance method not isolated to the actor
550 |     dispatchPrecondition(condition: .onQueue(.main))
551 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:618:15: warning: main actor-isolated instance method 'locationManager(_:didFailWithError:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
616 |   }
617 |
618 |   public func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didFailWithError:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didFailWithError:)' to make this instance method not isolated to the actor
619 |     eventHandler(.status("GeoMonitor failed -> \(error) -- \(error.localizedDescription)", .failure))
620 |     notify(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:623:15: warning: main actor-isolated instance method 'locationManagerDidChangeAuthorization' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
621 |   }
622 |
623 |   public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidChangeAuthorization' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidChangeAuthorization' to make this instance method not isolated to the actor
624 |     dispatchPrecondition(condition: .onQueue(.main))
625 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:610:15: warning: main actor-isolated instance method 'locationManagerDidPauseLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
608 |   }
609 |
610 |   public func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidPauseLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidPauseLocationUpdates' to make this instance method not isolated to the actor
611 |     eventHandler(.status("GeoMonitor paused updates -> \(manager == locationManager)", .stateChange))
612 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:614:15: warning: main actor-isolated instance method 'locationManagerDidResumeLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
612 |   }
613 |
614 |   public func locationManagerDidResumeLocationUpdates(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidResumeLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidResumeLocationUpdates' to make this instance method not isolated to the actor
615 |     eventHandler(.status("GeoMonitor resumed updates -> \(manager == locationManager)", .stateChange))
616 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:567:15: warning: main actor-isolated instance method 'locationManager(_:didVisit:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didVisit:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didVisit:)' to make this instance method not isolated to the actor
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
[5/5] Compiling GeoMonitor GeoMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:24:16: warning: static property 'currentLocationRegionMaximumRadius' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 22 | public class GeoMonitor: NSObject, ObservableObject {
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    |                |- warning: static property 'currentLocationRegionMaximumRadius' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'currentLocationRegionMaximumRadius' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'currentLocationRegionMaximumRadius' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |     static var currentLocationRegionRadiusDelta: CLLocationDistance        = 2_000
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:25:16: warning: static property 'currentLocationRegionRadiusDelta' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
 25 |     static var currentLocationRegionRadiusDelta: CLLocationDistance        = 2_000
    |                |- warning: static property 'currentLocationRegionRadiusDelta' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'currentLocationRegionRadiusDelta' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'currentLocationRegionRadiusDelta' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:26:16: warning: static property 'maximumDistanceToRegionCenter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
 25 |     static var currentLocationRegionRadiusDelta: CLLocationDistance        = 2_000
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
    |                |- warning: static property 'maximumDistanceToRegionCenter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'maximumDistanceToRegionCenter' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'maximumDistanceToRegionCenter' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:27:16: warning: static property 'maximumDistanceForPriorityPruningCenter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 25 |     static var currentLocationRegionRadiusDelta: CLLocationDistance        = 2_000
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
    |                |- warning: static property 'maximumDistanceForPriorityPruningCenter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'maximumDistanceForPriorityPruningCenter' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'maximumDistanceForPriorityPruningCenter' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
 29 |     static var currentLocationFetchRecency: TimeInterval                   = 10
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:28:16: warning: static property 'currentLocationFetchTimeOut' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 26 |     static var maximumDistanceToRegionCenter: CLLocationDistance           = 10_000
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
    |                |- warning: static property 'currentLocationFetchTimeOut' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'currentLocationFetchTimeOut' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'currentLocationFetchTimeOut' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 29 |     static var currentLocationFetchRecency: TimeInterval                   = 10
 30 |     static var minIntervalBetweenEnteringSameRegion: TimeInterval          = 120
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:29:16: warning: static property 'currentLocationFetchRecency' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 27 |     static var maximumDistanceForPriorityPruningCenter: CLLocationDistance = 5_000
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
 29 |     static var currentLocationFetchRecency: TimeInterval                   = 10
    |                |- warning: static property 'currentLocationFetchRecency' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'currentLocationFetchRecency' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'currentLocationFetchRecency' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 30 |     static var minIntervalBetweenEnteringSameRegion: TimeInterval          = 120
 31 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:30:16: warning: static property 'minIntervalBetweenEnteringSameRegion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 28 |     static var currentLocationFetchTimeOut: TimeInterval                   = 30
 29 |     static var currentLocationFetchRecency: TimeInterval                   = 10
 30 |     static var minIntervalBetweenEnteringSameRegion: TimeInterval          = 120
    |                |- warning: static property 'minIntervalBetweenEnteringSameRegion' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'minIntervalBetweenEnteringSameRegion' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'minIntervalBetweenEnteringSameRegion' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 31 |   }
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:80:28: error: 'Task' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
 78 |   private var recentlyReportedRegionIdentifiers: [(String, Date)] = []
 79 |
 80 |   private var monitorTask: Task<Void, Error>? = nil
    |                            `- error: 'Task' is only available in macOS 10.15 or newer
 81 |
 82 |   public var maxRegionsToMonitor = 20
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:127:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
125 |
126 |   /// Whether user has granted any kind of access to the device's location, when-in-use or always
127 |   @Published public var hasAccess: Bool
    |    `- error: 'Published' is only available in macOS 10.15 or newer
128 |
129 |   private var askHandler: (Bool) -> Void = { _ in }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:187:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
185 |   // MARK: - Location tracking
186 |
187 |   @Published public var currentLocation: CLLocation?
    |    `- error: 'Published' is only available in macOS 10.15 or newer
188 |
189 |   @Published public var isTracking: Bool = false {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:189:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
187 |   @Published public var currentLocation: CLLocation?
188 |
189 |   @Published public var isTracking: Bool = false {
    |    `- error: 'Published' is only available in macOS 10.15 or newer
190 |     didSet {
191 |       if isTracking {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:47: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                               |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                                               `- note: add 'if #available' version check
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:104: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                                                                                        |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                                                                                                        `- note: add 'if #available' version check
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:128: error: 'authorizedWhenInUse' is unavailable in macOS
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                                                                                                                `- error: 'authorizedWhenInUse' is unavailable in macOS
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
CoreLocation.CLAuthorizationStatus.authorizedWhenInUse:3:8: note: 'authorizedWhenInUse' has been explicitly marked unavailable here
1 | enum CLAuthorizationStatus {
2 | @available(macOS, unavailable)
3 |   case authorizedWhenInUse}
  |        `- note: 'authorizedWhenInUse' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:253:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
251 |   ///
252 |   /// - warning: Setting this will prompt for access to the user's location with always-on tracking.
253 |   @Published public var enableInBackground: Bool = false {
    |    `- error: 'Published' is only available in macOS 10.15 or newer
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:277:27: error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
275 |       if isMonitoring {
276 |         if enableVisitMonitoring {
277 |           locationManager.startMonitoringVisits()
    |                           |- error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
278 |         } else {
279 |           locationManager.stopMonitoringVisits()
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:279:27: error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
277 |           locationManager.startMonitoringVisits()
278 |         } else {
279 |           locationManager.stopMonitoringVisits()
    |                           |- error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
280 |         }
281 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:22:36: error: 'ObservableObject' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              |                     `- error: 'ObservableObject' is only available in macOS 10.15 or newer
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:567:77: error: 'CLVisit' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               |                                                             `- error: 'CLVisit' is only available in macOS 10.15 or newer
    |               `- note: add @available attribute to enclosing instance method
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:588:15: warning: main actor-isolated instance method 'locationManager(_:didUpdateLocations:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    |                       `- note: add '@preconcurrency' to the 'CLLocationManagerDelegate' conformance to defer isolation checking to run time
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
586 |   }
587 |
588 |   public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didUpdateLocations:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didUpdateLocations:)' to make this instance method not isolated to the actor
589 | #if DEBUG
590 |     print("GeoMonitor updated locations -> \(locations)")
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:506:15: warning: main actor-isolated instance method 'locationManager(_:didEnterRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
504 | extension GeoMonitor: CLLocationManagerDelegate {
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didEnterRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didEnterRegion:)' to make this instance method not isolated to the actor
507 |     dispatchPrecondition(condition: .onQueue(.main))
508 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:549:15: warning: main actor-isolated instance method 'locationManager(_:didExitRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
547 |   }
548 |
549 |   public func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didExitRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didExitRegion:)' to make this instance method not isolated to the actor
550 |     dispatchPrecondition(condition: .onQueue(.main))
551 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:618:15: warning: main actor-isolated instance method 'locationManager(_:didFailWithError:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
616 |   }
617 |
618 |   public func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didFailWithError:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didFailWithError:)' to make this instance method not isolated to the actor
619 |     eventHandler(.status("GeoMonitor failed -> \(error) -- \(error.localizedDescription)", .failure))
620 |     notify(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:623:15: warning: main actor-isolated instance method 'locationManagerDidChangeAuthorization' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
621 |   }
622 |
623 |   public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidChangeAuthorization' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidChangeAuthorization' to make this instance method not isolated to the actor
624 |     dispatchPrecondition(condition: .onQueue(.main))
625 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:610:15: warning: main actor-isolated instance method 'locationManagerDidPauseLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
608 |   }
609 |
610 |   public func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidPauseLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidPauseLocationUpdates' to make this instance method not isolated to the actor
611 |     eventHandler(.status("GeoMonitor paused updates -> \(manager == locationManager)", .stateChange))
612 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:614:15: warning: main actor-isolated instance method 'locationManagerDidResumeLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
612 |   }
613 |
614 |   public func locationManagerDidResumeLocationUpdates(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidResumeLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidResumeLocationUpdates' to make this instance method not isolated to the actor
615 |     eventHandler(.status("GeoMonitor resumed updates -> \(manager == locationManager)", .stateChange))
616 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:567:15: warning: main actor-isolated instance method 'locationManager(_:didVisit:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didVisit:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didVisit:)' to make this instance method not isolated to the actor
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:106:5: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
100 |   ///   - dataSource: Data source that provides regions. Will be maintained strongly.
101 |   ///   - onEvent: Handler that's called when a relevant event is happening, including when one of the monitored regions is entered.
102 |   public init(enabledKey: String? = nil, dataSource: GeoMonitorDataSource, onEvent: @escaping (Event) -> Void) {
    |          `- note: add @available attribute to enclosing initializer
103 |     fetchSource = dataSource
104 |     eventHandler = onEvent
105 |     locationManager = .init()
106 |     hasAccess = false
    |     |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
107 |     self.enabledKey = enabledKey
108 |     if let enabledKey = enabledKey {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:109:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
100 |   ///   - dataSource: Data source that provides regions. Will be maintained strongly.
101 |   ///   - onEvent: Handler that's called when a relevant event is happening, including when one of the monitored regions is entered.
102 |   public init(enabledKey: String? = nil, dataSource: GeoMonitorDataSource, onEvent: @escaping (Event) -> Void) {
    |          `- note: add @available attribute to enclosing initializer
103 |     fetchSource = dataSource
104 |     eventHandler = onEvent
    :
107 |     self.enabledKey = enabledKey
108 |     if let enabledKey = enabledKey {
109 |       enableInBackground = UserDefaults.standard.bool(forKey: enabledKey)
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
110 |     } else {
111 |       enableInBackground = false
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:111:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
100 |   ///   - dataSource: Data source that provides regions. Will be maintained strongly.
101 |   ///   - onEvent: Handler that's called when a relevant event is happening, including when one of the monitored regions is entered.
102 |   public init(enabledKey: String? = nil, dataSource: GeoMonitorDataSource, onEvent: @escaping (Event) -> Void) {
    |          `- note: add @available attribute to enclosing initializer
103 |     fetchSource = dataSource
104 |     eventHandler = onEvent
    :
109 |       enableInBackground = UserDefaults.standard.bool(forKey: enabledKey)
110 |     } else {
111 |       enableInBackground = false
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
112 |     }
113 |
<unknown>:0: error: cannot convert value of type 'KeyPath<GeoMonitor, Bool>' to expected argument type 'ReferenceWritableKeyPath<GeoMonitor, Bool>'
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:117:21: error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
100 |   ///   - dataSource: Data source that provides regions. Will be maintained strongly.
101 |   ///   - onEvent: Handler that's called when a relevant event is happening, including when one of the monitored regions is entered.
102 |   public init(enabledKey: String? = nil, dataSource: GeoMonitorDataSource, onEvent: @escaping (Event) -> Void) {
    |          `- note: add @available attribute to enclosing initializer
103 |     fetchSource = dataSource
104 |     eventHandler = onEvent
    :
115 |
116 |     locationManager.delegate = self
117 |     locationManager.allowsBackgroundLocationUpdates = true
    |                     |- error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
118 |
119 | #if !DEBUG
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:133:28: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
130 |
131 |   /// Whether it's possible to bring up the system prompt to ask for access to the device's location
132 |   public var canAsk: Bool {
    |              `- note: add @available attribute to enclosing property
133 |     switch locationManager.authorizationStatus {
    |                            |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                            `- note: add 'if #available' version check
134 |     case .notDetermined:
135 |       return true
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:144:28: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
    |                            |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                            `- note: add 'if #available' version check
145 |     case .authorizedAlways:
146 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:146:7: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
146 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
    |       |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
147 |       // Note: We do NOT update `enableInBackground` here, as that's the user's
148 |       // setting, i.e., they might not want to have it enabled even though the
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:146:57: error: 'accuracyAuthorization' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
146 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
    |                                                         |- error: 'accuracyAuthorization' is only available in macOS 11.0 or newer
    |                                                         `- note: add 'if #available' version check
147 |       // Note: We do NOT update `enableInBackground` here, as that's the user's
148 |       // setting, i.e., they might not want to have it enabled even though the
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:151:7: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
149 |       // app has permissions.
150 |     case .authorizedWhenInUse:
151 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
    |       |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
152 |       enableInBackground = false
153 |     case .denied, .notDetermined, .restricted:
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:151:57: error: 'accuracyAuthorization' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
149 |       // app has permissions.
150 |     case .authorizedWhenInUse:
151 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
    |                                                         |- error: 'accuracyAuthorization' is only available in macOS 11.0 or newer
    |                                                         `- note: add 'if #available' version check
152 |       enableInBackground = false
153 |     case .denied, .notDetermined, .restricted:
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:152:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
150 |     case .authorizedWhenInUse:
151 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
152 |       enableInBackground = false
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
153 |     case .denied, .notDetermined, .restricted:
154 |       hasAccess = false
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:154:7: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
152 |       enableInBackground = false
153 |     case .denied, .notDetermined, .restricted:
154 |       hasAccess = false
    |       |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
155 |       enableInBackground = false
156 |     @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:155:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
153 |     case .denied, .notDetermined, .restricted:
154 |       hasAccess = false
155 |       enableInBackground = false
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
156 |     @unknown default:
157 |       hasAccess = false
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:157:7: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
155 |       enableInBackground = false
156 |     @unknown default:
157 |       hasAccess = false
    |       |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
158 |       enableInBackground = false
159 |     }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:158:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
156 |     @unknown default:
157 |       hasAccess = false
158 |       enableInBackground = false
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
159 |     }
160 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:164:26: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
160 |   }
161 |
162 |   public func ask(forBackground: Bool = false, _ handler: @escaping (Bool) -> Void = { _ in }) {
    |               `- note: add @available attribute to enclosing instance method
163 |     if forBackground {
164 |       if locationManager.authorizationStatus == .notDetermined {
    |                          |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                          `- note: add 'if #available' version check
165 |         // Need to *first* ask for when in use, and only for always if that
166 |         // is granted.
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:176:25: error: 'requestAlwaysAuthorization()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
160 |   }
161 |
162 |   public func ask(forBackground: Bool = false, _ handler: @escaping (Bool) -> Void = { _ in }) {
    |               `- note: add @available attribute to enclosing instance method
163 |     if forBackground {
164 |       if locationManager.authorizationStatus == .notDetermined {
    :
174 |       } else {
175 |         self.askHandler = handler
176 |         locationManager.requestAlwaysAuthorization()
    |                         |- error: 'requestAlwaysAuthorization()' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
177 |       }
178 |     } else {
<unknown>:0: error: cannot convert value of type 'KeyPath<GeoMonitor, CLLocation?>' to expected argument type 'ReferenceWritableKeyPath<GeoMonitor, CLLocation?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GeoMonitor, Bool>' to expected argument type 'ReferenceWritableKeyPath<GeoMonitor, Bool>'
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:180:23: error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
160 |   }
161 |
162 |   public func ask(forBackground: Bool = false, _ handler: @escaping (Bool) -> Void = { _ in }) {
    |               `- note: add @available attribute to enclosing instance method
163 |     if forBackground {
164 |       if locationManager.authorizationStatus == .notDetermined {
    :
178 |     } else {
179 |       self.askHandler = handler
180 |       locationManager.requestWhenInUseAuthorization()
    |                       |- error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
181 |     }
182 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:222:21: error: 'requestLocation()' is only available in macOS 10.14 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
220 |     let originalAccuracy = locationManager.desiredAccuracy
221 |     locationManager.desiredAccuracy = desiredAccuracy
222 |     locationManager.requestLocation()
    |                     |- error: 'requestLocation()' is only available in macOS 10.14 or newer
    |                     `- note: add 'if #available' version check
223 |
224 |     fetchTimer = .scheduledTimer(withTimeInterval: Constants.currentLocationFetchTimeOut, repeats: false) { [weak self] _ in
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:225:7: error: 'Task' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
223 |
224 |     fetchTimer = .scheduledTimer(withTimeInterval: Constants.currentLocationFetchTimeOut, repeats: false) { [weak self] _ in
225 |       Task { [weak self] in
    |       |- error: 'Task' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
226 |         await self?.notify(.failure(LocationFetchError.noLocationFetchedInTime))
227 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:225:7: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
223 |
224 |     fetchTimer = .scheduledTimer(withTimeInterval: Constants.currentLocationFetchTimeOut, repeats: false) { [weak self] _ in
225 |       Task { [weak self] in
    |       |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
226 |         await self?.notify(.failure(LocationFetchError.noLocationFetchedInTime))
227 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:230:22: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
228 |     }
229 |
230 |     return try await withCheckedThrowingContinuation { continuation in
    |                      |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
231 |       withNextLocation.append({ [unowned self] result in
232 |         self.locationManager.desiredAccuracy = originalAccuracy
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:233:22: error: 'resume(with:)' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
231 |       withNextLocation.append({ [unowned self] result in
232 |         self.locationManager.desiredAccuracy = originalAccuracy
233 |         continuation.resume(with: result)
    |                      |- error: 'resume(with:)' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
234 |       })
235 |     }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:230:55: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:230:54: note: expanded code originates here
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
228 |     }
229 |
230 |     return try await withCheckedThrowingContinuation { continuation in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift
    |228 |
    |229 |
    |230 |                                                      #isolation
    |    |                                                       `- error: 'isolation()' is only available in macOS 10.15 or newer
    +-----------------------------------------------------------------------------------
231 |       withNextLocation.append({ [unowned self] result in
232 |         self.locationManager.desiredAccuracy = originalAccuracy
<unknown>:0: error: cannot convert value of type 'KeyPath<GeoMonitor, Bool>' to expected argument type 'ReferenceWritableKeyPath<GeoMonitor, Bool>'
macro expansion #isolation:1:1: error: 'MainActor' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:230:54: note: expanded code originates here
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
228 |     }
229 |
230 |     return try await withCheckedThrowingContinuation { continuation in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift
    |228 |
    |229 |
    |230 |                                                      #isolation
    |    +--- macro expansion #isolation -------------------------------
    |    |1 | nil
    |    |  | `- error: 'MainActor' is only available in macOS 10.15 or newer
    |    +--------------------------------------------------------------
    +-----------------------------------------------------------------------------------
231 |       withNextLocation.append({ [unowned self] result in
232 |         self.locationManager.desiredAccuracy = originalAccuracy
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:291:21: error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
289 |
290 |     isMonitoring = true
291 |     locationManager.allowsBackgroundLocationUpdates = true
    |                     |- error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
292 |     locationManager.pausesLocationUpdatesAutomatically = enableInBackground // we can do that, as it implies "always on" permissions
293 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:292:21: error: 'pausesLocationUpdatesAutomatically' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
290 |     isMonitoring = true
291 |     locationManager.allowsBackgroundLocationUpdates = true
292 |     locationManager.pausesLocationUpdatesAutomatically = enableInBackground // we can do that, as it implies "always on" permissions
    |                     |- error: 'pausesLocationUpdatesAutomatically' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
293 |
294 |     Task {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:294:5: error: 'Task' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
292 |     locationManager.pausesLocationUpdatesAutomatically = enableInBackground // we can do that, as it implies "always on" permissions
293 |
294 |     Task {
    |     |- error: 'Task' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
295 |       // Check if in region, which will also re-monitor the current location
296 |       // and update the regions(!)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:294:5: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
292 |     locationManager.pausesLocationUpdatesAutomatically = enableInBackground // we can do that, as it implies "always on" permissions
293 |
294 |     Task {
    |     |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
295 |       // Check if in region, which will also re-monitor the current location
296 |       // and update the regions(!)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:301:23: error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
299 |
300 |     if enableVisitMonitoring {
301 |       locationManager.startMonitoringVisits()
    |                       |- error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
302 |     }
303 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:311:21: error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
303 |   }
304 |
305 |   public func stopMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
306 |     dispatchPrecondition(condition: .onQueue(.main))
307 |
    :
309 |
310 |     isMonitoring = false
311 |     locationManager.allowsBackgroundLocationUpdates = false
    |                     |- error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
312 |     locationManager.pausesLocationUpdatesAutomatically = true
313 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:312:21: error: 'pausesLocationUpdatesAutomatically' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
303 |   }
304 |
305 |   public func stopMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
306 |     dispatchPrecondition(condition: .onQueue(.main))
307 |
    :
310 |     isMonitoring = false
311 |     locationManager.allowsBackgroundLocationUpdates = false
312 |     locationManager.pausesLocationUpdatesAutomatically = true
    |                     |- error: 'pausesLocationUpdatesAutomatically' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
313 |
314 |     stopMonitoringCurrentArea()
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:315:21: error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
303 |   }
304 |
305 |   public func stopMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
306 |     dispatchPrecondition(condition: .onQueue(.main))
307 |
    :
313 |
314 |     stopMonitoringCurrentArea()
315 |     locationManager.stopMonitoringVisits()
    |                     |- error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
316 |   }
317 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:362:37: warning: non-sendable result type '[CLCircularRegion]' cannot be sent from nonisolated context in call to instance method 'fetchRegions(trigger:)'; this is an error in the Swift 6 language mode
360 |
361 |     // Ask to fetch data and wait for this to complete
362 |     let regions = await fetchSource.fetchRegions(trigger: trigger)
    |                                     `- warning: non-sendable result type '[CLCircularRegion]' cannot be sent from nonisolated context in call to instance method 'fetchRegions(trigger:)'; this is an error in the Swift 6 language mode
363 |     monitorDebounced(regions, location: location)
364 |     return location
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreLocation.framework/Headers/CLCircularRegion.h:27:12: note: class 'CLCircularRegion' does not conform to the 'Sendable' protocol
25 | API_UNAVAILABLE(visionos)
26 | #endif
27 | @interface CLCircularRegion : CLRegion
   |            `- note: class 'CLCircularRegion' does not conform to the 'Sendable' protocol
28 |
29 | /*
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreLocation'
  1 |
  2 | import Foundation
  3 | import CoreLocation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreLocation'
  4 | import MapKit
  5 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:417:18: error: 'cancel()' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
415 |     // When this fires in the background we end up with many of these somehow
416 |
417 |     monitorTask?.cancel()
    |                  |- error: 'cancel()' is only available in macOS 10.15 or newer
    |                  `- note: add 'if #available' version check
418 |     monitorTask = Task {
419 |       if let delay {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:418:19: error: 'Task' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
416 |
417 |     monitorTask?.cancel()
418 |     monitorTask = Task {
    |                   |- error: 'Task' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:418:19: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
416 |
417 |     monitorTask?.cancel()
418 |     monitorTask = Task {
    |                   |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:420:19: error: 'Task' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
418 |     monitorTask = Task {
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
    |                   |- error: 'Task' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
421 |         try Task.checkCancellation()
422 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:420:24: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
418 |     monitorTask = Task {
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
    |                        |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
421 |         try Task.checkCancellation()
422 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:421:13: error: 'Task' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
421 |         try Task.checkCancellation()
    |             |- error: 'Task' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
422 |       }
423 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:421:18: error: 'checkCancellation()' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
421 |         try Task.checkCancellation()
    |                  |- error: 'checkCancellation()' is only available in macOS 10.15 or newer
    |                  `- note: add 'if #available' version check
422 |       }
423 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:429:12: error: 'Task' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    :
426 |   }
427 |
428 |   private func monitorNow(_ regions: [CLCircularRegion], location: CLLocation?) {
    |                `- note: add @available attribute to enclosing instance method
429 |     guard !Task.isCancelled else { return }
    |            |- error: 'Task' is only available in macOS 10.15 or newer
    |            `- note: add 'if #available' version check
430 |
431 |     dispatchPrecondition(condition: .onQueue(.main))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:429:17: error: 'isCancelled' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    :
426 |   }
427 |
428 |   private func monitorNow(_ regions: [CLCircularRegion], location: CLLocation?) {
    |                `- note: add @available attribute to enclosing instance method
429 |     guard !Task.isCancelled else { return }
    |                 |- error: 'isCancelled' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
430 |
431 |     dispatchPrecondition(condition: .onQueue(.main))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:518:5: error: 'Task' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    |               `- note: add @available attribute to enclosing instance method
507 |     dispatchPrecondition(condition: .onQueue(.main))
508 |
    :
516 |     }
517 |
518 |     Task {
    |     |- error: 'Task' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
519 |       // Make sure this is still a *current* region => update data
520 |       await runUpdateCycle(trigger: .regionMonitoring)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:518:5: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    |               `- note: add @available attribute to enclosing instance method
507 |     dispatchPrecondition(condition: .onQueue(.main))
508 |
    :
516 |     }
517 |
518 |     Task {
    |     |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
519 |       // Make sure this is still a *current* region => update data
520 |       await runUpdateCycle(trigger: .regionMonitoring)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:561:5: error: 'Task' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
547 |   }
548 |
549 |   public func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
    |               `- note: add @available attribute to enclosing instance method
550 |     dispatchPrecondition(condition: .onQueue(.main))
551 |
    :
559 |     }
560 |
561 |     Task {
    |     |- error: 'Task' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
562 |       // 3. When leaving the current location, fetch...
563 |       await runUpdateCycle(trigger: .departedCurrentArea)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:561:5: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
547 |   }
548 |
549 |   public func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
    |               `- note: add @available attribute to enclosing instance method
550 |     dispatchPrecondition(condition: .onQueue(.main))
551 |
    :
559 |     }
560 |
561 |     Task {
    |     |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
562 |       // 3. When leaving the current location, fetch...
563 |       await runUpdateCycle(trigger: .departedCurrentArea)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:582:5: error: 'Task' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               `- note: add @available attribute to enclosing instance method
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
    :
580 |     }
581 |
582 |     Task {
    |     |- error: 'Task' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
583 |       // TODO: We could detect if it's an arrival at a new location, by checking `visit.departureTime == .distanceFuture`
584 |       await runUpdateCycle(trigger: .visitMonitoring)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:582:5: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               `- note: add @available attribute to enclosing instance method
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
    :
580 |     }
581 |
582 |     Task {
    |     |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
583 |       // TODO: We could detect if it's an arrival at a new location, by checking `visit.departureTime == .distanceFuture`
584 |       await runUpdateCycle(trigger: .visitMonitoring)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:605:5: error: setter for 'currentLocation' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
586 |   }
587 |
588 |   public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    |               `- note: add @available attribute to enclosing instance method
589 | #if DEBUG
590 |     print("GeoMonitor updated locations -> \(locations)")
    :
603 |     }
604 |
605 |     self.currentLocation = latestAccurate
    |     |- error: setter for 'currentLocation' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
606 |
607 |     notify(.success(latestAccurate))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:630:20: error: 'authorizationStatus' is only available in macOS 11.0 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
621 |   }
622 |
623 |   public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
    |               `- note: add @available attribute to enclosing instance method
624 |     dispatchPrecondition(condition: .onQueue(.main))
625 |
    :
628 |     askHandler = { _ in }
629 |
630 |     switch manager.authorizationStatus {
    |                    |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                    `- note: add 'if #available' version check
631 |     case .authorizedAlways, .authorizedWhenInUse:
632 |       if isMonitoring {
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
[2/4] Compiling GeoMonitor PrioritizedRegion.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/4] Emitting module GeoMonitor
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:80:28: error: 'Task' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
 78 |   private var recentlyReportedRegionIdentifiers: [(String, Date)] = []
 79 |
 80 |   private var monitorTask: Task<Void, Error>? = nil
    |                            `- error: 'Task' is only available in macOS 10.15 or newer
 81 |
 82 |   public var maxRegionsToMonitor = 20
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:127:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
125 |
126 |   /// Whether user has granted any kind of access to the device's location, when-in-use or always
127 |   @Published public var hasAccess: Bool
    |    `- error: 'Published' is only available in macOS 10.15 or newer
128 |
129 |   private var askHandler: (Bool) -> Void = { _ in }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:187:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
185 |   // MARK: - Location tracking
186 |
187 |   @Published public var currentLocation: CLLocation?
    |    `- error: 'Published' is only available in macOS 10.15 or newer
188 |
189 |   @Published public var isTracking: Bool = false {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:189:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
187 |   @Published public var currentLocation: CLLocation?
188 |
189 |   @Published public var isTracking: Bool = false {
    |    `- error: 'Published' is only available in macOS 10.15 or newer
190 |     didSet {
191 |       if isTracking {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:47: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                               |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                                               `- note: add 'if #available' version check
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:104: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                                                                                        |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                                                                                                        `- note: add 'if #available' version check
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:128: error: 'authorizedWhenInUse' is unavailable in macOS
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                                                                                                                `- error: 'authorizedWhenInUse' is unavailable in macOS
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
CoreLocation.CLAuthorizationStatus.authorizedWhenInUse:3:8: note: 'authorizedWhenInUse' has been explicitly marked unavailable here
1 | enum CLAuthorizationStatus {
2 | @available(macOS, unavailable)
3 |   case authorizedWhenInUse}
  |        `- note: 'authorizedWhenInUse' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:253:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
251 |   ///
252 |   /// - warning: Setting this will prompt for access to the user's location with always-on tracking.
253 |   @Published public var enableInBackground: Bool = false {
    |    `- error: 'Published' is only available in macOS 10.15 or newer
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:277:27: error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
275 |       if isMonitoring {
276 |         if enableVisitMonitoring {
277 |           locationManager.startMonitoringVisits()
    |                           |- error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
278 |         } else {
279 |           locationManager.stopMonitoringVisits()
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:279:27: error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
277 |           locationManager.startMonitoringVisits()
278 |         } else {
279 |           locationManager.stopMonitoringVisits()
    |                           |- error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
280 |         }
281 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:22:36: error: 'ObservableObject' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              |                     `- error: 'ObservableObject' is only available in macOS 10.15 or newer
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:567:77: error: 'CLVisit' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               |                                                             `- error: 'CLVisit' is only available in macOS 10.15 or newer
    |               `- note: add @available attribute to enclosing instance method
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:588:15: warning: main actor-isolated instance method 'locationManager(_:didUpdateLocations:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    |                       `- note: add '@preconcurrency' to the 'CLLocationManagerDelegate' conformance to defer isolation checking to run time
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
586 |   }
587 |
588 |   public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didUpdateLocations:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didUpdateLocations:)' to make this instance method not isolated to the actor
589 | #if DEBUG
590 |     print("GeoMonitor updated locations -> \(locations)")
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:506:15: warning: main actor-isolated instance method 'locationManager(_:didEnterRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
504 | extension GeoMonitor: CLLocationManagerDelegate {
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didEnterRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didEnterRegion:)' to make this instance method not isolated to the actor
507 |     dispatchPrecondition(condition: .onQueue(.main))
508 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:549:15: warning: main actor-isolated instance method 'locationManager(_:didExitRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
547 |   }
548 |
549 |   public func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didExitRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didExitRegion:)' to make this instance method not isolated to the actor
550 |     dispatchPrecondition(condition: .onQueue(.main))
551 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:618:15: warning: main actor-isolated instance method 'locationManager(_:didFailWithError:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
616 |   }
617 |
618 |   public func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didFailWithError:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didFailWithError:)' to make this instance method not isolated to the actor
619 |     eventHandler(.status("GeoMonitor failed -> \(error) -- \(error.localizedDescription)", .failure))
620 |     notify(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:623:15: warning: main actor-isolated instance method 'locationManagerDidChangeAuthorization' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
621 |   }
622 |
623 |   public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidChangeAuthorization' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidChangeAuthorization' to make this instance method not isolated to the actor
624 |     dispatchPrecondition(condition: .onQueue(.main))
625 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:610:15: warning: main actor-isolated instance method 'locationManagerDidPauseLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
608 |   }
609 |
610 |   public func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidPauseLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidPauseLocationUpdates' to make this instance method not isolated to the actor
611 |     eventHandler(.status("GeoMonitor paused updates -> \(manager == locationManager)", .stateChange))
612 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:614:15: warning: main actor-isolated instance method 'locationManagerDidResumeLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
612 |   }
613 |
614 |   public func locationManagerDidResumeLocationUpdates(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidResumeLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidResumeLocationUpdates' to make this instance method not isolated to the actor
615 |     eventHandler(.status("GeoMonitor resumed updates -> \(manager == locationManager)", .stateChange))
616 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:567:15: warning: main actor-isolated instance method 'locationManager(_:didVisit:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didVisit:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didVisit:)' to make this instance method not isolated to the actor
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
[4/4] Compiling GeoMonitor GeoMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:80:28: error: 'Task' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
 78 |   private var recentlyReportedRegionIdentifiers: [(String, Date)] = []
 79 |
 80 |   private var monitorTask: Task<Void, Error>? = nil
    |                            `- error: 'Task' is only available in macOS 10.15 or newer
 81 |
 82 |   public var maxRegionsToMonitor = 20
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:127:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
125 |
126 |   /// Whether user has granted any kind of access to the device's location, when-in-use or always
127 |   @Published public var hasAccess: Bool
    |    `- error: 'Published' is only available in macOS 10.15 or newer
128 |
129 |   private var askHandler: (Bool) -> Void = { _ in }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:187:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
185 |   // MARK: - Location tracking
186 |
187 |   @Published public var currentLocation: CLLocation?
    |    `- error: 'Published' is only available in macOS 10.15 or newer
188 |
189 |   @Published public var isTracking: Bool = false {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:189:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
187 |   @Published public var currentLocation: CLLocation?
188 |
189 |   @Published public var isTracking: Bool = false {
    |    `- error: 'Published' is only available in macOS 10.15 or newer
190 |     didSet {
191 |       if isTracking {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:47: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                               |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                                               `- note: add 'if #available' version check
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:104: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                                                                                        |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                                                                                                        `- note: add 'if #available' version check
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:256:128: error: 'authorizedWhenInUse' is unavailable in macOS
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
256 |       if enableInBackground, (locationManager.authorizationStatus == .notDetermined || locationManager.authorizationStatus == .authorizedWhenInUse) {
    |                                                                                                                                `- error: 'authorizedWhenInUse' is unavailable in macOS
257 |         ask(forBackground: true)
258 |       } else if enableInBackground {
CoreLocation.CLAuthorizationStatus.authorizedWhenInUse:3:8: note: 'authorizedWhenInUse' has been explicitly marked unavailable here
1 | enum CLAuthorizationStatus {
2 | @available(macOS, unavailable)
3 |   case authorizedWhenInUse}
  |        `- note: 'authorizedWhenInUse' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:253:4: error: 'Published' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
251 |   ///
252 |   /// - warning: Setting this will prompt for access to the user's location with always-on tracking.
253 |   @Published public var enableInBackground: Bool = false {
    |    `- error: 'Published' is only available in macOS 10.15 or newer
254 |     didSet {
255 |       guard enableInBackground != oldValue else { return }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:277:27: error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
275 |       if isMonitoring {
276 |         if enableVisitMonitoring {
277 |           locationManager.startMonitoringVisits()
    |                           |- error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
278 |         } else {
279 |           locationManager.stopMonitoringVisits()
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:279:27: error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
277 |           locationManager.startMonitoringVisits()
278 |         } else {
279 |           locationManager.stopMonitoringVisits()
    |                           |- error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
    |                           `- note: add 'if #available' version check
280 |         }
281 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:22:36: error: 'ObservableObject' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              |                     `- error: 'ObservableObject' is only available in macOS 10.15 or newer
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:567:77: error: 'CLVisit' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               |                                                             `- error: 'CLVisit' is only available in macOS 10.15 or newer
    |               `- note: add @available attribute to enclosing instance method
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:588:15: warning: main actor-isolated instance method 'locationManager(_:didUpdateLocations:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    |                       `- note: add '@preconcurrency' to the 'CLLocationManagerDelegate' conformance to defer isolation checking to run time
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
586 |   }
587 |
588 |   public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didUpdateLocations:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didUpdateLocations:)' to make this instance method not isolated to the actor
589 | #if DEBUG
590 |     print("GeoMonitor updated locations -> \(locations)")
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:506:15: warning: main actor-isolated instance method 'locationManager(_:didEnterRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
504 | extension GeoMonitor: CLLocationManagerDelegate {
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didEnterRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didEnterRegion:)' to make this instance method not isolated to the actor
507 |     dispatchPrecondition(condition: .onQueue(.main))
508 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:549:15: warning: main actor-isolated instance method 'locationManager(_:didExitRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
547 |   }
548 |
549 |   public func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didExitRegion:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didExitRegion:)' to make this instance method not isolated to the actor
550 |     dispatchPrecondition(condition: .onQueue(.main))
551 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:618:15: warning: main actor-isolated instance method 'locationManager(_:didFailWithError:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
616 |   }
617 |
618 |   public func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didFailWithError:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didFailWithError:)' to make this instance method not isolated to the actor
619 |     eventHandler(.status("GeoMonitor failed -> \(error) -- \(error.localizedDescription)", .failure))
620 |     notify(.failure(error))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:623:15: warning: main actor-isolated instance method 'locationManagerDidChangeAuthorization' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
621 |   }
622 |
623 |   public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidChangeAuthorization' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidChangeAuthorization' to make this instance method not isolated to the actor
624 |     dispatchPrecondition(condition: .onQueue(.main))
625 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:610:15: warning: main actor-isolated instance method 'locationManagerDidPauseLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
608 |   }
609 |
610 |   public func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidPauseLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidPauseLocationUpdates' to make this instance method not isolated to the actor
611 |     eventHandler(.status("GeoMonitor paused updates -> \(manager == locationManager)", .stateChange))
612 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:614:15: warning: main actor-isolated instance method 'locationManagerDidResumeLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
612 |   }
613 |
614 |   public func locationManagerDidResumeLocationUpdates(_ manager: CLLocationManager) {
    |               |- warning: main actor-isolated instance method 'locationManagerDidResumeLocationUpdates' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManagerDidResumeLocationUpdates' to make this instance method not isolated to the actor
615 |     eventHandler(.status("GeoMonitor resumed updates -> \(manager == locationManager)", .stateChange))
616 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:567:15: warning: main actor-isolated instance method 'locationManager(_:didVisit:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               |- warning: main actor-isolated instance method 'locationManager(_:didVisit:)' cannot be used to satisfy nonisolated requirement from protocol 'CLLocationManagerDelegate'; this is an error in the Swift 6 language mode
    |               `- note: add 'nonisolated' to 'locationManager(_:didVisit:)' to make this instance method not isolated to the actor
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:106:5: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
100 |   ///   - dataSource: Data source that provides regions. Will be maintained strongly.
101 |   ///   - onEvent: Handler that's called when a relevant event is happening, including when one of the monitored regions is entered.
102 |   public init(enabledKey: String? = nil, dataSource: GeoMonitorDataSource, onEvent: @escaping (Event) -> Void) {
    |          `- note: add @available attribute to enclosing initializer
103 |     fetchSource = dataSource
104 |     eventHandler = onEvent
105 |     locationManager = .init()
106 |     hasAccess = false
    |     |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
107 |     self.enabledKey = enabledKey
108 |     if let enabledKey = enabledKey {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:109:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
100 |   ///   - dataSource: Data source that provides regions. Will be maintained strongly.
101 |   ///   - onEvent: Handler that's called when a relevant event is happening, including when one of the monitored regions is entered.
102 |   public init(enabledKey: String? = nil, dataSource: GeoMonitorDataSource, onEvent: @escaping (Event) -> Void) {
    |          `- note: add @available attribute to enclosing initializer
103 |     fetchSource = dataSource
104 |     eventHandler = onEvent
    :
107 |     self.enabledKey = enabledKey
108 |     if let enabledKey = enabledKey {
109 |       enableInBackground = UserDefaults.standard.bool(forKey: enabledKey)
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
110 |     } else {
111 |       enableInBackground = false
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:111:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
100 |   ///   - dataSource: Data source that provides regions. Will be maintained strongly.
101 |   ///   - onEvent: Handler that's called when a relevant event is happening, including when one of the monitored regions is entered.
102 |   public init(enabledKey: String? = nil, dataSource: GeoMonitorDataSource, onEvent: @escaping (Event) -> Void) {
    |          `- note: add @available attribute to enclosing initializer
103 |     fetchSource = dataSource
104 |     eventHandler = onEvent
    :
109 |       enableInBackground = UserDefaults.standard.bool(forKey: enabledKey)
110 |     } else {
111 |       enableInBackground = false
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
112 |     }
113 |
<unknown>:0: error: cannot convert value of type 'KeyPath<GeoMonitor, Bool>' to expected argument type 'ReferenceWritableKeyPath<GeoMonitor, Bool>'
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:117:21: error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
100 |   ///   - dataSource: Data source that provides regions. Will be maintained strongly.
101 |   ///   - onEvent: Handler that's called when a relevant event is happening, including when one of the monitored regions is entered.
102 |   public init(enabledKey: String? = nil, dataSource: GeoMonitorDataSource, onEvent: @escaping (Event) -> Void) {
    |          `- note: add @available attribute to enclosing initializer
103 |     fetchSource = dataSource
104 |     eventHandler = onEvent
    :
115 |
116 |     locationManager.delegate = self
117 |     locationManager.allowsBackgroundLocationUpdates = true
    |                     |- error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
118 |
119 | #if !DEBUG
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:133:28: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
130 |
131 |   /// Whether it's possible to bring up the system prompt to ask for access to the device's location
132 |   public var canAsk: Bool {
    |              `- note: add @available attribute to enclosing property
133 |     switch locationManager.authorizationStatus {
    |                            |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                            `- note: add 'if #available' version check
134 |     case .notDetermined:
135 |       return true
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:144:28: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
    |                            |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                            `- note: add 'if #available' version check
145 |     case .authorizedAlways:
146 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:146:7: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
146 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
    |       |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
147 |       // Note: We do NOT update `enableInBackground` here, as that's the user's
148 |       // setting, i.e., they might not want to have it enabled even though the
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:146:57: error: 'accuracyAuthorization' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
146 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
    |                                                         |- error: 'accuracyAuthorization' is only available in macOS 11.0 or newer
    |                                                         `- note: add 'if #available' version check
147 |       // Note: We do NOT update `enableInBackground` here, as that's the user's
148 |       // setting, i.e., they might not want to have it enabled even though the
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:151:7: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
149 |       // app has permissions.
150 |     case .authorizedWhenInUse:
151 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
    |       |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
152 |       enableInBackground = false
153 |     case .denied, .notDetermined, .restricted:
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:151:57: error: 'accuracyAuthorization' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
149 |       // app has permissions.
150 |     case .authorizedWhenInUse:
151 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
    |                                                         |- error: 'accuracyAuthorization' is only available in macOS 11.0 or newer
    |                                                         `- note: add 'if #available' version check
152 |       enableInBackground = false
153 |     case .denied, .notDetermined, .restricted:
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:152:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
150 |     case .authorizedWhenInUse:
151 |       hasAccess = !needsFullAccuracy || locationManager.accuracyAuthorization == .fullAccuracy
152 |       enableInBackground = false
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
153 |     case .denied, .notDetermined, .restricted:
154 |       hasAccess = false
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:154:7: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
152 |       enableInBackground = false
153 |     case .denied, .notDetermined, .restricted:
154 |       hasAccess = false
    |       |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
155 |       enableInBackground = false
156 |     @unknown default:
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:155:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
153 |     case .denied, .notDetermined, .restricted:
154 |       hasAccess = false
155 |       enableInBackground = false
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
156 |     @unknown default:
157 |       hasAccess = false
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:157:7: error: setter for 'hasAccess' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
155 |       enableInBackground = false
156 |     @unknown default:
157 |       hasAccess = false
    |       |- error: setter for 'hasAccess' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
158 |       enableInBackground = false
159 |     }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:158:7: error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
141 |   }
142 |
143 |   private func updateAccess() {
    |                `- note: add @available attribute to enclosing instance method
144 |     switch locationManager.authorizationStatus {
145 |     case .authorizedAlways:
    :
156 |     @unknown default:
157 |       hasAccess = false
158 |       enableInBackground = false
    |       |- error: setter for 'enableInBackground' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
159 |     }
160 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:164:26: error: 'authorizationStatus' is only available in macOS 11.0 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
160 |   }
161 |
162 |   public func ask(forBackground: Bool = false, _ handler: @escaping (Bool) -> Void = { _ in }) {
    |               `- note: add @available attribute to enclosing instance method
163 |     if forBackground {
164 |       if locationManager.authorizationStatus == .notDetermined {
    |                          |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                          `- note: add 'if #available' version check
165 |         // Need to *first* ask for when in use, and only for always if that
166 |         // is granted.
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:176:25: error: 'requestAlwaysAuthorization()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
160 |   }
161 |
162 |   public func ask(forBackground: Bool = false, _ handler: @escaping (Bool) -> Void = { _ in }) {
    |               `- note: add @available attribute to enclosing instance method
163 |     if forBackground {
164 |       if locationManager.authorizationStatus == .notDetermined {
    :
174 |       } else {
175 |         self.askHandler = handler
176 |         locationManager.requestAlwaysAuthorization()
    |                         |- error: 'requestAlwaysAuthorization()' is only available in macOS 10.15 or newer
    |                         `- note: add 'if #available' version check
177 |       }
178 |     } else {
<unknown>:0: error: cannot convert value of type 'KeyPath<GeoMonitor, CLLocation?>' to expected argument type 'ReferenceWritableKeyPath<GeoMonitor, CLLocation?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<GeoMonitor, Bool>' to expected argument type 'ReferenceWritableKeyPath<GeoMonitor, Bool>'
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:180:23: error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
160 |   }
161 |
162 |   public func ask(forBackground: Bool = false, _ handler: @escaping (Bool) -> Void = { _ in }) {
    |               `- note: add @available attribute to enclosing instance method
163 |     if forBackground {
164 |       if locationManager.authorizationStatus == .notDetermined {
    :
178 |     } else {
179 |       self.askHandler = handler
180 |       locationManager.requestWhenInUseAuthorization()
    |                       |- error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
181 |     }
182 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:222:21: error: 'requestLocation()' is only available in macOS 10.14 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
220 |     let originalAccuracy = locationManager.desiredAccuracy
221 |     locationManager.desiredAccuracy = desiredAccuracy
222 |     locationManager.requestLocation()
    |                     |- error: 'requestLocation()' is only available in macOS 10.14 or newer
    |                     `- note: add 'if #available' version check
223 |
224 |     fetchTimer = .scheduledTimer(withTimeInterval: Constants.currentLocationFetchTimeOut, repeats: false) { [weak self] _ in
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:225:7: error: 'Task' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
223 |
224 |     fetchTimer = .scheduledTimer(withTimeInterval: Constants.currentLocationFetchTimeOut, repeats: false) { [weak self] _ in
225 |       Task { [weak self] in
    |       |- error: 'Task' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
226 |         await self?.notify(.failure(LocationFetchError.noLocationFetchedInTime))
227 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:225:7: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
223 |
224 |     fetchTimer = .scheduledTimer(withTimeInterval: Constants.currentLocationFetchTimeOut, repeats: false) { [weak self] _ in
225 |       Task { [weak self] in
    |       |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |       `- note: add 'if #available' version check
226 |         await self?.notify(.failure(LocationFetchError.noLocationFetchedInTime))
227 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:230:22: error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
228 |     }
229 |
230 |     return try await withCheckedThrowingContinuation { continuation in
    |                      |- error: 'withCheckedThrowingContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
231 |       withNextLocation.append({ [unowned self] result in
232 |         self.locationManager.desiredAccuracy = originalAccuracy
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:233:22: error: 'resume(with:)' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
231 |       withNextLocation.append({ [unowned self] result in
232 |         self.locationManager.desiredAccuracy = originalAccuracy
233 |         continuation.resume(with: result)
    |                      |- error: 'resume(with:)' is only available in macOS 10.15 or newer
    |                      `- note: add 'if #available' version check
234 |       })
235 |     }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:230:55: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:230:54: note: expanded code originates here
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
228 |     }
229 |
230 |     return try await withCheckedThrowingContinuation { continuation in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift
    |228 |
    |229 |
    |230 |                                                      #isolation
    |    |                                                       `- error: 'isolation()' is only available in macOS 10.15 or newer
    +-----------------------------------------------------------------------------------
231 |       withNextLocation.append({ [unowned self] result in
232 |         self.locationManager.desiredAccuracy = originalAccuracy
<unknown>:0: error: cannot convert value of type 'KeyPath<GeoMonitor, Bool>' to expected argument type 'ReferenceWritableKeyPath<GeoMonitor, Bool>'
macro expansion #isolation:1:1: error: 'MainActor' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:230:54: note: expanded code originates here
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
205 |   private var fetchTimer: Timer?
206 |
207 |   private func fetchCurrentLocation() async throws -> CLLocation {
    |                `- note: add @available attribute to enclosing instance method
208 |     guard hasAccess else {
209 |       throw LocationFetchError.accessNotProvided
    :
228 |     }
229 |
230 |     return try await withCheckedThrowingContinuation { continuation in
    +--- /Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift
    |228 |
    |229 |
    |230 |                                                      #isolation
    |    +--- macro expansion #isolation -------------------------------
    |    |1 | nil
    |    |  | `- error: 'MainActor' is only available in macOS 10.15 or newer
    |    +--------------------------------------------------------------
    +-----------------------------------------------------------------------------------
231 |       withNextLocation.append({ [unowned self] result in
232 |         self.locationManager.desiredAccuracy = originalAccuracy
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:291:21: error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
289 |
290 |     isMonitoring = true
291 |     locationManager.allowsBackgroundLocationUpdates = true
    |                     |- error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
292 |     locationManager.pausesLocationUpdatesAutomatically = enableInBackground // we can do that, as it implies "always on" permissions
293 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:292:21: error: 'pausesLocationUpdatesAutomatically' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
290 |     isMonitoring = true
291 |     locationManager.allowsBackgroundLocationUpdates = true
292 |     locationManager.pausesLocationUpdatesAutomatically = enableInBackground // we can do that, as it implies "always on" permissions
    |                     |- error: 'pausesLocationUpdatesAutomatically' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
293 |
294 |     Task {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:294:5: error: 'Task' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
292 |     locationManager.pausesLocationUpdatesAutomatically = enableInBackground // we can do that, as it implies "always on" permissions
293 |
294 |     Task {
    |     |- error: 'Task' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
295 |       // Check if in region, which will also re-monitor the current location
296 |       // and update the regions(!)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:294:5: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
292 |     locationManager.pausesLocationUpdatesAutomatically = enableInBackground // we can do that, as it implies "always on" permissions
293 |
294 |     Task {
    |     |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
295 |       // Check if in region, which will also re-monitor the current location
296 |       // and update the regions(!)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:301:23: error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
283 |   }
284 |
285 |   public func startMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
286 |     dispatchPrecondition(condition: .onQueue(.main))
287 |
    :
299 |
300 |     if enableVisitMonitoring {
301 |       locationManager.startMonitoringVisits()
    |                       |- error: 'startMonitoringVisits()' is only available in macOS 10.15 or newer
    |                       `- note: add 'if #available' version check
302 |     }
303 |   }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:311:21: error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
303 |   }
304 |
305 |   public func stopMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
306 |     dispatchPrecondition(condition: .onQueue(.main))
307 |
    :
309 |
310 |     isMonitoring = false
311 |     locationManager.allowsBackgroundLocationUpdates = false
    |                     |- error: 'allowsBackgroundLocationUpdates' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
312 |     locationManager.pausesLocationUpdatesAutomatically = true
313 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:312:21: error: 'pausesLocationUpdatesAutomatically' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
303 |   }
304 |
305 |   public func stopMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
306 |     dispatchPrecondition(condition: .onQueue(.main))
307 |
    :
310 |     isMonitoring = false
311 |     locationManager.allowsBackgroundLocationUpdates = false
312 |     locationManager.pausesLocationUpdatesAutomatically = true
    |                     |- error: 'pausesLocationUpdatesAutomatically' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
313 |
314 |     stopMonitoringCurrentArea()
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:315:21: error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
 20 | @available(iOS 14.0, *)
 21 | @MainActor
 22 | public class GeoMonitor: NSObject, ObservableObject {
    |              `- note: add @available attribute to enclosing class
 23 |   enum Constants {
 24 |     static var currentLocationRegionMaximumRadius: CLLocationDistance      = 2_500
    :
303 |   }
304 |
305 |   public func stopMonitoring() {
    |               `- note: add @available attribute to enclosing instance method
306 |     dispatchPrecondition(condition: .onQueue(.main))
307 |
    :
313 |
314 |     stopMonitoringCurrentArea()
315 |     locationManager.stopMonitoringVisits()
    |                     |- error: 'stopMonitoringVisits()' is only available in macOS 10.15 or newer
    |                     `- note: add 'if #available' version check
316 |   }
317 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:417:18: error: 'cancel()' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
415 |     // When this fires in the background we end up with many of these somehow
416 |
417 |     monitorTask?.cancel()
    |                  |- error: 'cancel()' is only available in macOS 10.15 or newer
    |                  `- note: add 'if #available' version check
418 |     monitorTask = Task {
419 |       if let delay {
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:418:19: error: 'Task' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
416 |
417 |     monitorTask?.cancel()
418 |     monitorTask = Task {
    |                   |- error: 'Task' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:418:19: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
416 |
417 |     monitorTask?.cancel()
418 |     monitorTask = Task {
    |                   |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:420:19: error: 'Task' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
418 |     monitorTask = Task {
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
    |                   |- error: 'Task' is only available in macOS 10.15 or newer
    |                   `- note: add 'if #available' version check
421 |         try Task.checkCancellation()
422 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:420:24: error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
418 |     monitorTask = Task {
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
    |                        |- error: 'sleep(nanoseconds:)' is only available in macOS 10.15 or newer
    |                        `- note: add 'if #available' version check
421 |         try Task.checkCancellation()
422 |       }
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:421:13: error: 'Task' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
421 |         try Task.checkCancellation()
    |             |- error: 'Task' is only available in macOS 10.15 or newer
    |             `- note: add 'if #available' version check
422 |       }
423 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:421:18: error: 'checkCancellation()' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    |                `- note: add @available attribute to enclosing instance method
413 |     dispatchPrecondition(condition: .onQueue(.main))
414 |
    :
419 |       if let delay {
420 |         try await Task.sleep(nanoseconds: UInt64(delay * 1_000_000_000))
421 |         try Task.checkCancellation()
    |                  |- error: 'checkCancellation()' is only available in macOS 10.15 or newer
    |                  `- note: add 'if #available' version check
422 |       }
423 |
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:429:12: error: 'Task' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    :
426 |   }
427 |
428 |   private func monitorNow(_ regions: [CLCircularRegion], location: CLLocation?) {
    |                `- note: add @available attribute to enclosing instance method
429 |     guard !Task.isCancelled else { return }
    |            |- error: 'Task' is only available in macOS 10.15 or newer
    |            `- note: add 'if #available' version check
430 |
431 |     dispatchPrecondition(condition: .onQueue(.main))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:429:17: error: 'isCancelled' is only available in macOS 10.15 or newer
408 |
409 | @available(iOS 14.0, *)
410 | extension GeoMonitor {
    | `- note: add @available attribute to enclosing extension
411 |
412 |   private func monitorDebounced(_ regions: [CLCircularRegion], location: CLLocation?, delay: TimeInterval? = nil) {
    :
426 |   }
427 |
428 |   private func monitorNow(_ regions: [CLCircularRegion], location: CLLocation?) {
    |                `- note: add @available attribute to enclosing instance method
429 |     guard !Task.isCancelled else { return }
    |                 |- error: 'isCancelled' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
430 |
431 |     dispatchPrecondition(condition: .onQueue(.main))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:518:5: error: 'Task' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    |               `- note: add @available attribute to enclosing instance method
507 |     dispatchPrecondition(condition: .onQueue(.main))
508 |
    :
516 |     }
517 |
518 |     Task {
    |     |- error: 'Task' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
519 |       // Make sure this is still a *current* region => update data
520 |       await runUpdateCycle(trigger: .regionMonitoring)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:518:5: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    |               `- note: add @available attribute to enclosing instance method
507 |     dispatchPrecondition(condition: .onQueue(.main))
508 |
    :
516 |     }
517 |
518 |     Task {
    |     |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
519 |       // Make sure this is still a *current* region => update data
520 |       await runUpdateCycle(trigger: .regionMonitoring)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:561:5: error: 'Task' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
547 |   }
548 |
549 |   public func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
    |               `- note: add @available attribute to enclosing instance method
550 |     dispatchPrecondition(condition: .onQueue(.main))
551 |
    :
559 |     }
560 |
561 |     Task {
    |     |- error: 'Task' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
562 |       // 3. When leaving the current location, fetch...
563 |       await runUpdateCycle(trigger: .departedCurrentArea)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:561:5: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
547 |   }
548 |
549 |   public func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
    |               `- note: add @available attribute to enclosing instance method
550 |     dispatchPrecondition(condition: .onQueue(.main))
551 |
    :
559 |     }
560 |
561 |     Task {
    |     |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
562 |       // 3. When leaving the current location, fetch...
563 |       await runUpdateCycle(trigger: .departedCurrentArea)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:582:5: error: 'Task' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               `- note: add @available attribute to enclosing instance method
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
    :
580 |     }
581 |
582 |     Task {
    |     |- error: 'Task' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
583 |       // TODO: We could detect if it's an arrival at a new location, by checking `visit.departureTime == .distanceFuture`
584 |       await runUpdateCycle(trigger: .visitMonitoring)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:582:5: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
565 |   }
566 |
567 |   public func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit) {
    |               `- note: add @available attribute to enclosing instance method
568 |     dispatchPrecondition(condition: .onQueue(.main))
569 |
    :
580 |     }
581 |
582 |     Task {
    |     |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
583 |       // TODO: We could detect if it's an arrival at a new location, by checking `visit.departureTime == .distanceFuture`
584 |       await runUpdateCycle(trigger: .visitMonitoring)
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:605:5: error: setter for 'currentLocation' is only available in macOS 10.15 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
586 |   }
587 |
588 |   public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
    |               `- note: add @available attribute to enclosing instance method
589 | #if DEBUG
590 |     print("GeoMonitor updated locations -> \(locations)")
    :
603 |     }
604 |
605 |     self.currentLocation = latestAccurate
    |     |- error: setter for 'currentLocation' is only available in macOS 10.15 or newer
    |     `- note: add 'if #available' version check
606 |
607 |     notify(.success(latestAccurate))
/Users/admin/builder/spi-builder-workspace/Sources/GeoMonitor/GeoMonitor.swift:630:20: error: 'authorizationStatus' is only available in macOS 11.0 or newer
502 |
503 | @available(iOS 14.0, *)
504 | extension GeoMonitor: CLLocationManagerDelegate {
    | `- note: add @available attribute to enclosing extension
505 |
506 |   public func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
    :
621 |   }
622 |
623 |   public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
    |               `- note: add @available attribute to enclosing instance method
624 |     dispatchPrecondition(condition: .onQueue(.main))
625 |
    :
628 |     askHandler = { _ in }
629 |
630 |     switch manager.authorizationStatus {
    |                    |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
    |                    `- note: add 'if #available' version check
631 |     case .authorizedAlways, .authorizedWhenInUse:
632 |       if isMonitoring {
BUILD FAILURE 6.1 macosSpm