This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build GeoMonitor with Swift 6.0 for macOS (SPM).

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/skedgo/GeoMonitor.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/skedgo/GeoMonitor
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 37767d6 Fix log messages
Cloned https://github.com/skedgo/GeoMonitor.git
Revision (git rev-parse @):
37767d625be8229f073ee2b7281848e2c6511e67
SUCCESS checkout https://github.com/skedgo/GeoMonitor.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/skedgo/GeoMonitor.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.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 non-isolated 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 non-isolated 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: annotate 'currentLocationRegionMaximumRadius' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'currentLocationRegionRadiusDelta' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'maximumDistanceToRegionCenter' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'maximumDistanceForPriorityPruningCenter' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'currentLocationFetchTimeOut' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'currentLocationFetchRecency' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'minIntervalBetweenEnteringSameRegion' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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:20:10: note: 'authorizedWhenInUse' has been explicitly marked unavailable here
18 |     public static var AuthorizedAlways: CLAuthorizationStatus { get }
19 |     @available(macOS, unavailable)
20 |     case authorizedWhenInUse
   |          `- note: 'authorizedWhenInUse' has been explicitly marked unavailable here
21 |     @available(macOS 10.6, *)
22 |     public static var authorized: CLAuthorizationStatus { get }
/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 protocol requirement; 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 protocol requirement; 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)")
CoreLocation.CLLocationManagerDelegate:8:19: note: 'locationManager(_:didUpdateLocations:)' declared here
 6 |     optional func locationManager(_ manager: CLLocationManager, didUpdateToLocation newLocation: CLLocation, fromLocation oldLocation: CLLocation)
 7 |     @available(macOS 10.9, *)
 8 |     optional func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
   |                   `- note: 'locationManager(_:didUpdateLocations:)' declared here
 9 |     @available(macOS 10.15, *)
10 |     optional func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading)
/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 protocol requirement; 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 protocol requirement; 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 |
CoreLocation.CLLocationManagerDelegate:39:19: note: 'locationManager(_:didEnterRegion:)' declared here
37 |     optional func locationManager(_ manager: CLLocationManager, didFailRangingBeaconsForConstraint beaconConstraint: CLBeaconIdentityConstraint, error: any Error)
38 |     @available(macOS 10.8, *)
39 |     optional func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion)
   |                   `- note: 'locationManager(_:didEnterRegion:)' declared here
40 |     @available(macOS 10.8, *)
41 |     optional func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion)
/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 protocol requirement; 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 protocol requirement; 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 |
CoreLocation.CLLocationManagerDelegate:41:19: note: 'locationManager(_:didExitRegion:)' declared here
39 |     optional func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion)
40 |     @available(macOS 10.8, *)
41 |     optional func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion)
   |                   `- note: 'locationManager(_:didExitRegion:)' declared here
42 |     @available(macOS 10.6, *)
43 |     optional func locationManager(_ manager: CLLocationManager, didFailWithError error: any Error)
/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 protocol requirement; 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 protocol requirement; 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))
CoreLocation.CLLocationManagerDelegate:43:19: note: 'locationManager(_:didFailWithError:)' declared here
41 |     optional func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion)
42 |     @available(macOS 10.6, *)
43 |     optional func locationManager(_ manager: CLLocationManager, didFailWithError error: any Error)
   |                   `- note: 'locationManager(_:didFailWithError:)' declared here
44 |     @available(macOS 10.8, *)
45 |     optional func locationManager(_ manager: CLLocationManager, monitoringDidFailFor region: CLRegion?, withError error: any 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 protocol requirement; 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 protocol requirement; 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 |
CoreLocation.CLLocationManagerDelegate:55:19: note: 'locationManagerDidChangeAuthorization' declared here
53 |     optional func locationManager(_ manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus)
54 |     @available(macOS 11.0, *)
55 |     optional func locationManagerDidChangeAuthorization(_ manager: CLLocationManager)
   |                   `- note: 'locationManagerDidChangeAuthorization' declared here
56 |     @available(macOS 10.8, *)
57 |     optional func locationManager(_ manager: CLLocationManager, didStartMonitoringFor region: CLRegion)
/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 protocol requirement; 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 protocol requirement; 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 |   }
CoreLocation.CLLocationManagerDelegate:62:19: note: 'locationManagerDidPauseLocationUpdates' declared here
60 |     optional func locationManager(_ manager: CLLocationManager, didStartMonitoringForRegion region: CLRegion)
61 |     @available(macOS 10.15, *)
62 |     optional func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager)
   |                   `- note: 'locationManagerDidPauseLocationUpdates' declared here
63 |     @available(macOS 10.15, *)
64 |     optional func locationManagerDidResumeLocationUpdates(_ manager: CLLocationManager)
/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 protocol requirement; 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 protocol requirement; 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 |   }
CoreLocation.CLLocationManagerDelegate:64:19: note: 'locationManagerDidResumeLocationUpdates' declared here
62 |     optional func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager)
63 |     @available(macOS 10.15, *)
64 |     optional func locationManagerDidResumeLocationUpdates(_ manager: CLLocationManager)
   |                   `- note: 'locationManagerDidResumeLocationUpdates' declared here
65 |     @available(macOS 10.9, *)
66 |     optional func locationManager(_ manager: CLLocationManager, didFinishDeferredUpdatesWithError error: (any Error)?)
/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 protocol requirement; 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 protocol requirement; 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 |
CoreLocation.CLLocationManagerDelegate:68:19: note: 'locationManager(_:didVisit:)' declared here
66 |     optional func locationManager(_ manager: CLLocationManager, didFinishDeferredUpdatesWithError error: (any Error)?)
67 |     @available(macOS 10.15, *)
68 |     optional func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit)
   |                   `- note: 'locationManager(_:didVisit:)' declared here
69 | }
[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 non-isolated 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 non-isolated 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: annotate 'currentLocationRegionMaximumRadius' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'currentLocationRegionRadiusDelta' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'maximumDistanceToRegionCenter' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'maximumDistanceForPriorityPruningCenter' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'currentLocationFetchTimeOut' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'currentLocationFetchRecency' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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 non-isolated 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 non-isolated 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: annotate 'minIntervalBetweenEnteringSameRegion' with '@MainActor' if property should only be accessed from the main actor
    |                `- 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:20:10: note: 'authorizedWhenInUse' has been explicitly marked unavailable here
18 |     public static var AuthorizedAlways: CLAuthorizationStatus { get }
19 |     @available(macOS, unavailable)
20 |     case authorizedWhenInUse
   |          `- note: 'authorizedWhenInUse' has been explicitly marked unavailable here
21 |     @available(macOS 10.6, *)
22 |     public static var authorized: CLAuthorizationStatus { get }
/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 protocol requirement; 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 protocol requirement; 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)")
CoreLocation.CLLocationManagerDelegate:8:19: note: 'locationManager(_:didUpdateLocations:)' declared here
 6 |     optional func locationManager(_ manager: CLLocationManager, didUpdateToLocation newLocation: CLLocation, fromLocation oldLocation: CLLocation)
 7 |     @available(macOS 10.9, *)
 8 |     optional func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation])
   |                   `- note: 'locationManager(_:didUpdateLocations:)' declared here
 9 |     @available(macOS 10.15, *)
10 |     optional func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading)
/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 protocol requirement; 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 protocol requirement; 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 |
CoreLocation.CLLocationManagerDelegate:39:19: note: 'locationManager(_:didEnterRegion:)' declared here
37 |     optional func locationManager(_ manager: CLLocationManager, didFailRangingBeaconsForConstraint beaconConstraint: CLBeaconIdentityConstraint, error: any Error)
38 |     @available(macOS 10.8, *)
39 |     optional func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion)
   |                   `- note: 'locationManager(_:didEnterRegion:)' declared here
40 |     @available(macOS 10.8, *)
41 |     optional func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion)
/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 protocol requirement; 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 protocol requirement; 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 |
CoreLocation.CLLocationManagerDelegate:41:19: note: 'locationManager(_:didExitRegion:)' declared here
39 |     optional func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion)
40 |     @available(macOS 10.8, *)
41 |     optional func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion)
   |                   `- note: 'locationManager(_:didExitRegion:)' declared here
42 |     @available(macOS 10.6, *)
43 |     optional func locationManager(_ manager: CLLocationManager, didFailWithError error: any Error)
/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 protocol requirement; 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 protocol requirement; 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))
CoreLocation.CLLocationManagerDelegate:43:19: note: 'locationManager(_:didFailWithError:)' declared here
41 |     optional func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion)
42 |     @available(macOS 10.6, *)
43 |     optional func locationManager(_ manager: CLLocationManager, didFailWithError error: any Error)
   |                   `- note: 'locationManager(_:didFailWithError:)' declared here
44 |     @available(macOS 10.8, *)
45 |     optional func locationManager(_ manager: CLLocationManager, monitoringDidFailFor region: CLRegion?, withError error: any 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 protocol requirement; 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 protocol requirement; 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 |
CoreLocation.CLLocationManagerDelegate:55:19: note: 'locationManagerDidChangeAuthorization' declared here
53 |     optional func locationManager(_ manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus)
54 |     @available(macOS 11.0, *)
55 |     optional func locationManagerDidChangeAuthorization(_ manager: CLLocationManager)
   |                   `- note: 'locationManagerDidChangeAuthorization' declared here
56 |     @available(macOS 10.8, *)
57 |     optional func locationManager(_ manager: CLLocationManager, didStartMonitoringFor region: CLRegion)
/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 protocol requirement; 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 protocol requirement; 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 |   }
CoreLocation.CLLocationManagerDelegate:62:19: note: 'locationManagerDidPauseLocationUpdates' declared here
60 |     optional func locationManager(_ manager: CLLocationManager, didStartMonitoringForRegion region: CLRegion)
61 |     @available(macOS 10.15, *)
62 |     optional func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager)
   |                   `- note: 'locationManagerDidPauseLocationUpdates' declared here
63 |     @available(macOS 10.15, *)
64 |     optional func locationManagerDidResumeLocationUpdates(_ manager: CLLocationManager)
/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 protocol requirement; 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 protocol requirement; 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 |   }
CoreLocation.CLLocationManagerDelegate:64:19: note: 'locationManagerDidResumeLocationUpdates' declared here
62 |     optional func locationManagerDidPauseLocationUpdates(_ manager: CLLocationManager)
63 |     @available(macOS 10.15, *)
64 |     optional func locationManagerDidResumeLocationUpdates(_ manager: CLLocationManager)
   |                   `- note: 'locationManagerDidResumeLocationUpdates' declared here
65 |     @available(macOS 10.9, *)
66 |     optional func locationManager(_ manager: CLLocationManager, didFinishDeferredUpdatesWithError error: (any Error)?)
/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 protocol requirement; 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 protocol requirement; 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 |
CoreLocation.CLLocationManagerDelegate:68:19: note: 'locationManager(_:didVisit:)' declared here
66 |     optional func locationManager(_ manager: CLLocationManager, didFinishDeferredUpdatesWithError error: (any Error)?)
67 |     @available(macOS 10.15, *)
68 |     optional func locationManager(_ manager: CLLocationManager, didVisit visit: CLVisit)
   |                   `- note: 'locationManager(_:didVisit:)' declared here
69 | }
/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:129: 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 |
    |    |  |                                                                                                                                 `- 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 type '[CLCircularRegion]' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; 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 type '[CLCircularRegion]' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
363 |     monitorDebounced(regions, location: location)
364 |     return location
CoreLocation.CLCircularRegion:2:12: note: class 'CLCircularRegion' does not conform to the 'Sendable' protocol
 1 | @available(macOS, introduced: 10.10, deprecated: 100000)
 2 | open class CLCircularRegion : CLRegion {
   |            `- note: class 'CLCircularRegion' does not conform to the 'Sendable' protocol
 3 |     public init(center: CLLocationCoordinate2D, radius: CLLocationDistance, identifier: String)
 4 |     open var center: CLLocationCoordinate2D { get }
/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 {
BUILD FAILURE 6.0 macosSpm
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.