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