Build Information
Failed to build d3-async-location, reference v2.3.2 (7e4081
), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 03:01:57 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
Build Log
========================================
RunAll
========================================
Builder version: 4.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/swiftuiux/swift-async-corelocation-streamer.git
Reference: v2.3.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/swiftuiux/swift-async-corelocation-streamer
* tag v2.3.2 -> FETCH_HEAD
HEAD is now at 7e40816 Update .spi.yml
Cloned https://github.com/swiftuiux/swift-async-corelocation-streamer.git
Revision (git rev-parse @):
7e40816e0340bddb6a618e8279e3d0e09f666b38
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/swiftuiux/swift-async-corelocation-streamer.git at v2.3.2
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/swiftuiux/swift-async-corelocation-streamer.git
https://github.com/swiftuiux/swift-async-corelocation-streamer.git
{
"dependencies" : [
],
"manifest_display_name" : "d3-async-location",
"name" : "d3-async-location",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "d3-async-location",
"targets" : [
"d3-async-location"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "d3_async_locationTests",
"module_type" : "SwiftTarget",
"name" : "d3-async-locationTests",
"path" : "Tests/d3-async-locationTests",
"sources" : [
"d3_async_locationTests.swift"
],
"target_dependencies" : [
"d3-async-location"
],
"type" : "test"
},
{
"c99name" : "d3_async_location",
"module_type" : "SwiftTarget",
"name" : "d3-async-location",
"path" : "Sources/d3-async-location",
"product_memberships" : [
"d3-async-location"
],
"sources" : [
"LocationManagerAsync+/Delegate.swift",
"LocationManagerAsync+/Permission.swift",
"enum/AsyncLocationErrors.swift",
"enum/LocationStreamingState.swift",
"helper/AsyncFIFOQueue.swift",
"helper/LocationManager.swift",
"helper/LocationResultStrategy.swift",
"protocol/ILocationDelegate.swift",
"protocol/ILocationManager.swift",
"protocol/ILocationStreamer.swift",
"service/LocationStreamer.swift",
"service/ObservableLocationStreamer.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/14] Emitting module d3_async_location
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:67:32: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
65 | /// Starts location streaming.
66 | /// - Returns: An async stream of location outputs.
67 | public func start() -> AsyncStream<DelegateOutput> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
68 | // Initialize the stream when needed.
69 | let stream = fifoQueue.initializeQueue()
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:27:28: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
25 |
26 | /// Continuation to get permission if status is not defined
27 | private var flow : CheckedContinuation<CLAuthorizationStatus, Never>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// Check if status is determined
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:35:34: error: 'AnyCancellable' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
33 |
34 | /// Subscription to authorization status changes
35 | private var cancelable : AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
36 |
37 | // MARK: - Life circle
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:107:51: error: 'Publisher' is only available in macOS 10.15 or newer
105 | // MARK: - Alias types -
106 |
107 | fileprivate typealias Output = NotificationCenter.Publisher.Output
| `- error: 'Publisher' is only available in macOS 10.15 or newer
108 |
109 | // MARK: - Extensions -
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:18:34: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
18 | typealias Continuation = AsyncStream<Element>.Continuation
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing type alias
19 |
20 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:22:29: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
20 |
21 | /// The asynchronous stream that consumers can iterate over.
22 | private var stream: AsyncStream<Element>?
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
23 |
24 | /// The continuation used to produce values for the stream.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:31:35: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
29 | /// - Parameter onTermination: An escaping closure to handle termination events.
30 | /// - Returns: The initialized `AsyncStream<Element>`.
31 | func initializeQueue() -> AsyncStream<Element> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
32 | // Return the existing stream if it's already initialized.
33 | if let existingStream = stream {
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:51:28: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
49 | /// Provides access to the asynchronous stream.
50 | /// - Returns: The initialized `AsyncStream<Element>` instance, or `nil` if not initialized.
51 | func getQueue() -> AsyncStream<Element>? {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
52 | return stream
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/LocationManager.swift:53:41: error: 'AsyncStream' is only available in macOS 10.15 or newer
11 | /// Use the `start()` method to begin streaming location updates.
12 | @available(iOS 14.0, watchOS 7.0, *)
13 | final class LocationManager: ILocationManager {
| `- note: add @available attribute to enclosing class
14 |
15 | /// The delegate responsible for handling location updates and forwarding them to the async stream.
:
51 | /// - Returns: An `AsyncStream` emitting location updates or errors.
52 | /// - Throws: An error if permission is not granted.
53 | public func start() async throws -> AsyncStream<LocationStreamer.Output> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
54 |
55 | try await delegate.permission()
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/protocol/ILocationDelegate.swift:19:21: error: 'AsyncStream' is only available in macOS 10.15 or newer
11 | /// A protocol that defines the interface for location delegates.
12 | @available(iOS 14.0, watchOS 7.0, *)
13 | public protocol ILocationDelegate: NSObjectProtocol, CLLocationManagerDelegate {
| `- note: add @available attribute to enclosing protocol
14 |
15 | /// Starts the location streaming process.
:
17 | /// - Returns: An `AsyncStream` emitting `LocationStreamer.Output` values.
18 | /// The stream provides asynchronous location updates or errors to the consumer.
19 | func start() -> AsyncStream<LocationStreamer.Output>
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
20 |
21 | /// Stops the location streaming process.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/protocol/ILocationManager.swift:17:34: error: 'AsyncStream' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, watchOS 7.0, *)
12 | protocol ILocationManager {
| `- note: add @available attribute to enclosing protocol
13 |
14 | /// Starts the async stream of location updates.
15 | /// - Returns: An `AsyncStream` of `Output` that emits location updates or errors.
16 | /// - Throws: An error if the streaming cannot be started.
17 | func start() async throws -> AsyncStream<LocationStreamer.Output>
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
18 |
19 | /// Stops the location streaming process.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:39:17: error: 'Published' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
37 | /// A list of location results, published for subscribing Views.
38 | /// This property is updated based on the chosen `strategy`.
39 | @MainActor @Published public private(set) var results: [Output] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
40 |
41 | /// Indicates the current streaming state of the ViewModel.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:43:17: error: 'Published' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
41 | /// Indicates the current streaming state of the ViewModel.
42 | /// State transitions include `.idle`, `.streaming`, and `.error`.
43 | @MainActor @Published public private(set) var state: LocationStreamingState = .idle
| `- error: 'Published' is only available in macOS 10.15 or newer
44 |
45 | // MARK: - Private Properties
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:23:57: error: 'ObservableObject' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
17 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:31:16: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
29 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
30 | /// such as filtering, mapping, or dropping results.
31 | @MainActor public private(set) var results: [Output] = []
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
32 |
33 | /// Current streaming state of the ViewModel.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:34:16: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
32 |
33 | /// Current streaming state of the ViewModel.
34 | @MainActor public private(set) var state: LocationStreamingState = .idle
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
35 |
36 | // MARK: - Private Properties
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:138:1: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
136 | state = value
137 | }
138 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<Member>(
+-------------------------------------------------------------------
139 |
140 | #endif
macro expansion @ObservationTracked:11:18: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:31:62: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
29 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
30 | /// such as filtering, mapping, or dropping results.
31 | @MainActor public private(set) var results: [Output] = []
+--- macro expansion @ObservationTracked ---------------------------
| 9 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
|10 | /// such as filtering, mapping, or dropping results.
|11 | @MainActor @ObservationIgnored private var _results: [Output] = []
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
32 |
33 | /// Current streaming state of the ViewModel.
macro expansion @ObservationTracked:5:18: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:34:77: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
32 |
33 | /// Current streaming state of the ViewModel.
34 | @MainActor public private(set) var state: LocationStreamingState = .idle
+--- macro expansion @ObservationTracked ---------------------------
|3 |
|4 | /// Current streaming state of the ViewModel.
|5 | @MainActor @ObservationIgnored private var _state: LocationStreamingState = .idle
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
35 |
36 | // MARK: - Private Properties
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:138:1: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
136 | state = value
137 | }
138 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<Member>(
+-------------------------------------------------------------------
139 |
140 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
[4/14] Compiling d3_async_location ILocationStreamer.swift
[5/14] Compiling d3_async_location AsyncLocationErrors.swift
[6/14] Compiling d3_async_location LocationStreamingState.swift
[7/14] Compiling d3_async_location LocationResultStrategy.swift
[8/15] Compiling d3_async_location AsyncFIFOQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:18:34: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
18 | typealias Continuation = AsyncStream<Element>.Continuation
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing type alias
19 |
20 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:22:29: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
20 |
21 | /// The asynchronous stream that consumers can iterate over.
22 | private var stream: AsyncStream<Element>?
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
23 |
24 | /// The continuation used to produce values for the stream.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:31:35: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
29 | /// - Parameter onTermination: An escaping closure to handle termination events.
30 | /// - Returns: The initialized `AsyncStream<Element>`.
31 | func initializeQueue() -> AsyncStream<Element> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
32 | // Return the existing stream if it's already initialized.
33 | if let existingStream = stream {
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:51:28: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
49 | /// Provides access to the asynchronous stream.
50 | /// - Returns: The initialized `AsyncStream<Element>` instance, or `nil` if not initialized.
51 | func getQueue() -> AsyncStream<Element>? {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
52 | return stream
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:37:48: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
29 | /// - Parameter onTermination: An escaping closure to handle termination events.
30 | /// - Returns: The initialized `AsyncStream<Element>`.
31 | func initializeQueue() -> AsyncStream<Element> {
| `- note: add @available attribute to enclosing instance method
32 | // Return the existing stream if it's already initialized.
33 | if let existingStream = stream {
:
35 | }
36 |
37 | let (newStream, newContinuation) = AsyncStream<Element>.makeStream(of: Element.self)
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
38 |
39 | newContinuation.onTermination = { [weak self] termination in
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:37:69: error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
29 | /// - Parameter onTermination: An escaping closure to handle termination events.
30 | /// - Returns: The initialized `AsyncStream<Element>`.
31 | func initializeQueue() -> AsyncStream<Element> {
| `- note: add @available attribute to enclosing instance method
32 | // Return the existing stream if it's already initialized.
33 | if let existingStream = stream {
:
35 | }
36 |
37 | let (newStream, newContinuation) = AsyncStream<Element>.makeStream(of: Element.self)
| |- error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
38 |
39 | newContinuation.onTermination = { [weak self] termination in
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:40:17: warning: capture of 'self' with non-sendable type 'LocationManager.AsyncFIFOQueue<Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: generic class 'AsyncFIFOQueue' does not conform to the 'Sendable' protocol
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
38 |
39 | newContinuation.onTermination = { [weak self] termination in
40 | self?.finish()
| `- warning: capture of 'self' with non-sendable type 'LocationManager.AsyncFIFOQueue<Element>?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 | }
42 |
[9/15] Compiling d3_async_location LocationStreamer.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:39:17: error: 'Published' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
37 | /// A list of location results, published for subscribing Views.
38 | /// This property is updated based on the chosen `strategy`.
39 | @MainActor @Published public private(set) var results: [Output] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
40 |
41 | /// Indicates the current streaming state of the ViewModel.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:43:17: error: 'Published' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
41 | /// Indicates the current streaming state of the ViewModel.
42 | /// State transitions include `.idle`, `.streaming`, and `.error`.
43 | @MainActor @Published public private(set) var state: LocationStreamingState = .idle
| `- error: 'Published' is only available in macOS 10.15 or newer
44 |
45 | // MARK: - Private Properties
<unknown>:0: error: cannot convert value of type 'KeyPath<LocationStreamer, [LocationStreamer.Output]>' (aka 'KeyPath<LocationStreamer, Array<Result<Array<CLLocation>, CLError>>>') to expected argument type 'ReferenceWritableKeyPath<LocationStreamer, [LocationStreamer.Output]>' (aka 'ReferenceWritableKeyPath<LocationStreamer, Array<Result<Array<CLLocation>, CLError>>>')
<unknown>:0: error: cannot convert value of type 'KeyPath<LocationStreamer, LocationStreamingState>' to expected argument type 'ReferenceWritableKeyPath<LocationStreamer, LocationStreamingState>'
<unknown>:0: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:23:57: error: 'ObservableObject' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:135:9: error: setter for 'results' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
132 | /// Clears all stored results.
133 | @MainActor
134 | private func clean() {
| `- note: add @available attribute to enclosing instance method
135 | results = []
| |- error: setter for 'results' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
136 | }
137 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:143:9: error: setter for 'results' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
140 | /// - Parameter result: The new result to be processed and added.
141 | @MainActor
142 | private func add(_ result: Output) {
| `- note: add @available attribute to enclosing instance method
143 | results = strategy.process(results: results, newResult: result)
| |- error: setter for 'results' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
144 | }
145 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:150:9: error: setter for 'state' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
147 | /// - Parameter value: The new state to set (e.g., `.idle`, `.streaming`).
148 | @MainActor
149 | private func setState(_ value: LocationStreamingState) {
| `- note: add @available attribute to enclosing instance method
150 | state = value
| |- error: setter for 'state' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
151 | }
152 | }
[10/15] Compiling d3_async_location ILocationDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/protocol/ILocationDelegate.swift:19:21: error: 'AsyncStream' is only available in macOS 10.15 or newer
11 | /// A protocol that defines the interface for location delegates.
12 | @available(iOS 14.0, watchOS 7.0, *)
13 | public protocol ILocationDelegate: NSObjectProtocol, CLLocationManagerDelegate {
| `- note: add @available attribute to enclosing protocol
14 |
15 | /// Starts the location streaming process.
:
17 | /// - Returns: An `AsyncStream` emitting `LocationStreamer.Output` values.
18 | /// The stream provides asynchronous location updates or errors to the consumer.
19 | func start() -> AsyncStream<LocationStreamer.Output>
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
20 |
21 | /// Stops the location streaming process.
[11/15] Compiling d3_async_location ILocationManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/protocol/ILocationManager.swift:17:34: error: 'AsyncStream' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, watchOS 7.0, *)
12 | protocol ILocationManager {
| `- note: add @available attribute to enclosing protocol
13 |
14 | /// Starts the async stream of location updates.
15 | /// - Returns: An `AsyncStream` of `Output` that emits location updates or errors.
16 | /// - Throws: An error if the streaming cannot be started.
17 | func start() async throws -> AsyncStream<LocationStreamer.Output>
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
18 |
19 | /// Stops the location streaming process.
[12/15] Compiling d3_async_location LocationManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/LocationManager.swift:53:41: error: 'AsyncStream' is only available in macOS 10.15 or newer
11 | /// Use the `start()` method to begin streaming location updates.
12 | @available(iOS 14.0, watchOS 7.0, *)
13 | final class LocationManager: ILocationManager {
| `- note: add @available attribute to enclosing class
14 |
15 | /// The delegate responsible for handling location updates and forwarding them to the async stream.
:
51 | /// - Returns: An `AsyncStream` emitting location updates or errors.
52 | /// - Throws: An error if permission is not granted.
53 | public func start() async throws -> AsyncStream<LocationStreamer.Output> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
54 |
55 | try await delegate.permission()
[13/15] Compiling d3_async_location Delegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:67:32: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
65 | /// Starts location streaming.
66 | /// - Returns: An async stream of location outputs.
67 | public func start() -> AsyncStream<DelegateOutput> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
68 | // Initialize the stream when needed.
69 | let stream = fifoQueue.initializeQueue()
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:84:55: error: 'authorizationStatus' is only available in macOS 11.0 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
81 | /// Requests location permissions if not already granted.
82 | /// - Throws: An error if the permission is not granted.
83 | public func permission() async throws {
| `- note: add @available attribute to enclosing instance method
84 | let permission = Permission(with: manager.authorizationStatus)
| |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
85 | try await permission.grant(for: manager)
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:100:99: error: 'authorizationStatus' is only available in macOS 11.0 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
97 | }
98 |
99 | public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
| `- note: add @available attribute to enclosing instance method
100 | NotificationCenter.default.post(name: Permission.authorizationStatus, object: manager.authorizationStatus)
| |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
101 | }
102 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:112:21: error: 'activityType' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
103 | // MARK: - Private Methods
104 |
105 | private func updateSettings(
| `- note: add @available attribute to enclosing instance method
106 | _ accuracy: CLLocationAccuracy?,
107 | _ activityType: CLActivityType?,
:
110 | ) {
111 | manager.desiredAccuracy = accuracy ?? kCLLocationAccuracyBest
112 | manager.activityType = activityType ?? .other
| |- error: 'activityType' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
113 | manager.distanceFilter = distanceFilter ?? kCLDistanceFilterNone
114 | #if os(iOS) || os(watchOS)
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:27:28: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
25 |
26 | /// Continuation to get permission if status is not defined
27 | private var flow : CheckedContinuation<CLAuthorizationStatus, Never>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// Check if status is determined
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:35:34: error: 'AnyCancellable' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
33 |
34 | /// Subscription to authorization status changes
35 | private var cancelable : AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
36 |
37 | // MARK: - Life circle
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:107:51: error: 'Publisher' is only available in macOS 10.15 or newer
105 | // MARK: - Alias types -
106 |
107 | fileprivate typealias Output = NotificationCenter.Publisher.Output
| `- error: 'Publisher' is only available in macOS 10.15 or newer
108 |
109 | // MARK: - Extensions -
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:66:53: error: 'publisher(for:object:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
62 |
63 | /// Subscribe for event when location manager change authorization status to go on access permission flow
64 | private func initSubscription(){
| `- note: add @available attribute to enclosing instance method
65 | let name = Permission.authorizationStatus
66 | cancelable = NotificationCenter.default.publisher(for: name)
| |- error: 'publisher(for:object:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | .sink { [weak self] value in
68 | self?.statusChanged(value)
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:67:18: error: 'sink(receiveValue:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
62 |
63 | /// Subscribe for event when location manager change authorization status to go on access permission flow
64 | private func initSubscription(){
| `- note: add @available attribute to enclosing instance method
65 | let name = Permission.authorizationStatus
66 | cancelable = NotificationCenter.default.publisher(for: name)
67 | .sink { [weak self] value in
| |- error: 'sink(receiveValue:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
68 | self?.statusChanged(value)
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:92:21: error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
| |- error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
93 |
94 | if isDetermined{
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:26: error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
93 |
:
96 | }
97 |
98 | return await withCheckedContinuation{ continuation in
| |- error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
99 | flow = continuation
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:50: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:49: note: expanded code originates here
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
93 |
:
96 | }
97 |
98 | return await withCheckedContinuation{ continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift
|96 |
|97 |
|98 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+----------------------------------------------------------------------------------------------------------------
99 | flow = continuation
100 | }
[14/15] Compiling d3_async_location Permission.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:67:32: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
65 | /// Starts location streaming.
66 | /// - Returns: An async stream of location outputs.
67 | public func start() -> AsyncStream<DelegateOutput> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
68 | // Initialize the stream when needed.
69 | let stream = fifoQueue.initializeQueue()
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:84:55: error: 'authorizationStatus' is only available in macOS 11.0 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
81 | /// Requests location permissions if not already granted.
82 | /// - Throws: An error if the permission is not granted.
83 | public func permission() async throws {
| `- note: add @available attribute to enclosing instance method
84 | let permission = Permission(with: manager.authorizationStatus)
| |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
85 | try await permission.grant(for: manager)
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:100:99: error: 'authorizationStatus' is only available in macOS 11.0 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
97 | }
98 |
99 | public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
| `- note: add @available attribute to enclosing instance method
100 | NotificationCenter.default.post(name: Permission.authorizationStatus, object: manager.authorizationStatus)
| |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
101 | }
102 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:112:21: error: 'activityType' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
103 | // MARK: - Private Methods
104 |
105 | private func updateSettings(
| `- note: add @available attribute to enclosing instance method
106 | _ accuracy: CLLocationAccuracy?,
107 | _ activityType: CLActivityType?,
:
110 | ) {
111 | manager.desiredAccuracy = accuracy ?? kCLLocationAccuracyBest
112 | manager.activityType = activityType ?? .other
| |- error: 'activityType' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
113 | manager.distanceFilter = distanceFilter ?? kCLDistanceFilterNone
114 | #if os(iOS) || os(watchOS)
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:27:28: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
25 |
26 | /// Continuation to get permission if status is not defined
27 | private var flow : CheckedContinuation<CLAuthorizationStatus, Never>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// Check if status is determined
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:35:34: error: 'AnyCancellable' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
33 |
34 | /// Subscription to authorization status changes
35 | private var cancelable : AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
36 |
37 | // MARK: - Life circle
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:107:51: error: 'Publisher' is only available in macOS 10.15 or newer
105 | // MARK: - Alias types -
106 |
107 | fileprivate typealias Output = NotificationCenter.Publisher.Output
| `- error: 'Publisher' is only available in macOS 10.15 or newer
108 |
109 | // MARK: - Extensions -
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:66:53: error: 'publisher(for:object:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
62 |
63 | /// Subscribe for event when location manager change authorization status to go on access permission flow
64 | private func initSubscription(){
| `- note: add @available attribute to enclosing instance method
65 | let name = Permission.authorizationStatus
66 | cancelable = NotificationCenter.default.publisher(for: name)
| |- error: 'publisher(for:object:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | .sink { [weak self] value in
68 | self?.statusChanged(value)
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:67:18: error: 'sink(receiveValue:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
62 |
63 | /// Subscribe for event when location manager change authorization status to go on access permission flow
64 | private func initSubscription(){
| `- note: add @available attribute to enclosing instance method
65 | let name = Permission.authorizationStatus
66 | cancelable = NotificationCenter.default.publisher(for: name)
67 | .sink { [weak self] value in
| |- error: 'sink(receiveValue:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
68 | self?.statusChanged(value)
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:92:21: error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
| |- error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
93 |
94 | if isDetermined{
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:26: error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
93 |
:
96 | }
97 |
98 | return await withCheckedContinuation{ continuation in
| |- error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
99 | flow = continuation
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:50: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:49: note: expanded code originates here
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
93 |
:
96 | }
97 |
98 | return await withCheckedContinuation{ continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift
|96 |
|97 |
|98 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+----------------------------------------------------------------------------------------------------------------
99 | flow = continuation
100 | }
[15/15] Compiling d3_async_location ObservableLocationStreamer.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
17 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:31:16: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
29 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
30 | /// such as filtering, mapping, or dropping results.
31 | @MainActor public private(set) var results: [Output] = []
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
32 |
33 | /// Current streaming state of the ViewModel.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:34:16: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
32 |
33 | /// Current streaming state of the ViewModel.
34 | @MainActor public private(set) var state: LocationStreamingState = .idle
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
35 |
36 | // MARK: - Private Properties
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:138:1: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
136 | state = value
137 | }
138 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<Member>(
+-------------------------------------------------------------------
139 |
140 | #endif
macro expansion @ObservationTracked:11:18: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:31:62: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
29 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
30 | /// such as filtering, mapping, or dropping results.
31 | @MainActor public private(set) var results: [Output] = []
+--- macro expansion @ObservationTracked ---------------------------
| 9 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
|10 | /// such as filtering, mapping, or dropping results.
|11 | @MainActor @ObservationIgnored private var _results: [Output] = []
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
32 |
33 | /// Current streaming state of the ViewModel.
macro expansion @ObservationTracked:5:18: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:34:77: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
32 |
33 | /// Current streaming state of the ViewModel.
34 | @MainActor public private(set) var state: LocationStreamingState = .idle
+--- macro expansion @ObservationTracked ---------------------------
|3 |
|4 | /// Current streaming state of the ViewModel.
|5 | @MainActor @ObservationIgnored private var _state: LocationStreamingState = .idle
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
35 |
36 | // MARK: - Private Properties
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:138:1: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
136 | state = value
137 | }
138 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<Member>(
+-------------------------------------------------------------------
139 |
140 | #endif
<unknown>:0: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/13] Compiling d3_async_location LocationResultStrategy.swift
[3/13] Compiling d3_async_location ILocationStreamer.swift
[4/13] Compiling d3_async_location ILocationManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/protocol/ILocationManager.swift:17:34: error: 'AsyncStream' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, watchOS 7.0, *)
12 | protocol ILocationManager {
| `- note: add @available attribute to enclosing protocol
13 |
14 | /// Starts the async stream of location updates.
15 | /// - Returns: An `AsyncStream` of `Output` that emits location updates or errors.
16 | /// - Throws: An error if the streaming cannot be started.
17 | func start() async throws -> AsyncStream<LocationStreamer.Output>
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
18 |
19 | /// Stops the location streaming process.
[5/13] Compiling d3_async_location ILocationDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/protocol/ILocationDelegate.swift:19:21: error: 'AsyncStream' is only available in macOS 10.15 or newer
11 | /// A protocol that defines the interface for location delegates.
12 | @available(iOS 14.0, watchOS 7.0, *)
13 | public protocol ILocationDelegate: NSObjectProtocol, CLLocationManagerDelegate {
| `- note: add @available attribute to enclosing protocol
14 |
15 | /// Starts the location streaming process.
:
17 | /// - Returns: An `AsyncStream` emitting `LocationStreamer.Output` values.
18 | /// The stream provides asynchronous location updates or errors to the consumer.
19 | func start() -> AsyncStream<LocationStreamer.Output>
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
20 |
21 | /// Stops the location streaming process.
[6/13] Compiling d3_async_location LocationStreamer.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:39:17: error: 'Published' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
37 | /// A list of location results, published for subscribing Views.
38 | /// This property is updated based on the chosen `strategy`.
39 | @MainActor @Published public private(set) var results: [Output] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
40 |
41 | /// Indicates the current streaming state of the ViewModel.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:43:17: error: 'Published' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
41 | /// Indicates the current streaming state of the ViewModel.
42 | /// State transitions include `.idle`, `.streaming`, and `.error`.
43 | @MainActor @Published public private(set) var state: LocationStreamingState = .idle
| `- error: 'Published' is only available in macOS 10.15 or newer
44 |
45 | // MARK: - Private Properties
<unknown>:0: error: cannot convert value of type 'KeyPath<LocationStreamer, [LocationStreamer.Output]>' (aka 'KeyPath<LocationStreamer, Array<Result<Array<CLLocation>, CLError>>>') to expected argument type 'ReferenceWritableKeyPath<LocationStreamer, [LocationStreamer.Output]>' (aka 'ReferenceWritableKeyPath<LocationStreamer, Array<Result<Array<CLLocation>, CLError>>>')
<unknown>:0: error: cannot convert value of type 'KeyPath<LocationStreamer, LocationStreamingState>' to expected argument type 'ReferenceWritableKeyPath<LocationStreamer, LocationStreamingState>'
<unknown>:0: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:23:57: error: 'ObservableObject' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:135:9: error: setter for 'results' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
132 | /// Clears all stored results.
133 | @MainActor
134 | private func clean() {
| `- note: add @available attribute to enclosing instance method
135 | results = []
| |- error: setter for 'results' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
136 | }
137 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:143:9: error: setter for 'results' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
140 | /// - Parameter result: The new result to be processed and added.
141 | @MainActor
142 | private func add(_ result: Output) {
| `- note: add @available attribute to enclosing instance method
143 | results = strategy.process(results: results, newResult: result)
| |- error: setter for 'results' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
144 | }
145 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:150:9: error: setter for 'state' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
147 | /// - Parameter value: The new state to set (e.g., `.idle`, `.streaming`).
148 | @MainActor
149 | private func setState(_ value: LocationStreamingState) {
| `- note: add @available attribute to enclosing instance method
150 | state = value
| |- error: setter for 'state' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
151 | }
152 | }
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/14] Compiling d3_async_location AsyncLocationErrors.swift
[8/14] Compiling d3_async_location LocationStreamingState.swift
[9/14] Emitting module d3_async_location
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:67:32: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
65 | /// Starts location streaming.
66 | /// - Returns: An async stream of location outputs.
67 | public func start() -> AsyncStream<DelegateOutput> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
68 | // Initialize the stream when needed.
69 | let stream = fifoQueue.initializeQueue()
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:27:28: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
25 |
26 | /// Continuation to get permission if status is not defined
27 | private var flow : CheckedContinuation<CLAuthorizationStatus, Never>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// Check if status is determined
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:35:34: error: 'AnyCancellable' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
33 |
34 | /// Subscription to authorization status changes
35 | private var cancelable : AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
36 |
37 | // MARK: - Life circle
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:107:51: error: 'Publisher' is only available in macOS 10.15 or newer
105 | // MARK: - Alias types -
106 |
107 | fileprivate typealias Output = NotificationCenter.Publisher.Output
| `- error: 'Publisher' is only available in macOS 10.15 or newer
108 |
109 | // MARK: - Extensions -
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:18:34: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
18 | typealias Continuation = AsyncStream<Element>.Continuation
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing type alias
19 |
20 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:22:29: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
20 |
21 | /// The asynchronous stream that consumers can iterate over.
22 | private var stream: AsyncStream<Element>?
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
23 |
24 | /// The continuation used to produce values for the stream.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:31:35: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
29 | /// - Parameter onTermination: An escaping closure to handle termination events.
30 | /// - Returns: The initialized `AsyncStream<Element>`.
31 | func initializeQueue() -> AsyncStream<Element> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
32 | // Return the existing stream if it's already initialized.
33 | if let existingStream = stream {
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:51:28: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
49 | /// Provides access to the asynchronous stream.
50 | /// - Returns: The initialized `AsyncStream<Element>` instance, or `nil` if not initialized.
51 | func getQueue() -> AsyncStream<Element>? {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
52 | return stream
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/LocationManager.swift:53:41: error: 'AsyncStream' is only available in macOS 10.15 or newer
11 | /// Use the `start()` method to begin streaming location updates.
12 | @available(iOS 14.0, watchOS 7.0, *)
13 | final class LocationManager: ILocationManager {
| `- note: add @available attribute to enclosing class
14 |
15 | /// The delegate responsible for handling location updates and forwarding them to the async stream.
:
51 | /// - Returns: An `AsyncStream` emitting location updates or errors.
52 | /// - Throws: An error if permission is not granted.
53 | public func start() async throws -> AsyncStream<LocationStreamer.Output> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
54 |
55 | try await delegate.permission()
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/protocol/ILocationDelegate.swift:19:21: error: 'AsyncStream' is only available in macOS 10.15 or newer
11 | /// A protocol that defines the interface for location delegates.
12 | @available(iOS 14.0, watchOS 7.0, *)
13 | public protocol ILocationDelegate: NSObjectProtocol, CLLocationManagerDelegate {
| `- note: add @available attribute to enclosing protocol
14 |
15 | /// Starts the location streaming process.
:
17 | /// - Returns: An `AsyncStream` emitting `LocationStreamer.Output` values.
18 | /// The stream provides asynchronous location updates or errors to the consumer.
19 | func start() -> AsyncStream<LocationStreamer.Output>
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
20 |
21 | /// Stops the location streaming process.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/protocol/ILocationManager.swift:17:34: error: 'AsyncStream' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, watchOS 7.0, *)
12 | protocol ILocationManager {
| `- note: add @available attribute to enclosing protocol
13 |
14 | /// Starts the async stream of location updates.
15 | /// - Returns: An `AsyncStream` of `Output` that emits location updates or errors.
16 | /// - Throws: An error if the streaming cannot be started.
17 | func start() async throws -> AsyncStream<LocationStreamer.Output>
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
18 |
19 | /// Stops the location streaming process.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:39:17: error: 'Published' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
37 | /// A list of location results, published for subscribing Views.
38 | /// This property is updated based on the chosen `strategy`.
39 | @MainActor @Published public private(set) var results: [Output] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
40 |
41 | /// Indicates the current streaming state of the ViewModel.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:43:17: error: 'Published' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
:
41 | /// Indicates the current streaming state of the ViewModel.
42 | /// State transitions include `.idle`, `.streaming`, and `.error`.
43 | @MainActor @Published public private(set) var state: LocationStreamingState = .idle
| `- error: 'Published' is only available in macOS 10.15 or newer
44 |
45 | // MARK: - Private Properties
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/LocationStreamer.swift:23:57: error: 'ObservableObject' is only available in macOS 10.15 or newer
21 | /// - Available: iOS 14.0+, watchOS 7.0+
22 | @available(iOS 14.0, watchOS 7.0, *)
23 | public final class LocationStreamer: ILocationStreamer, ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
24 |
25 | /// Represents the output of the location manager.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
17 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:31:16: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
29 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
30 | /// such as filtering, mapping, or dropping results.
31 | @MainActor public private(set) var results: [Output] = []
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
32 |
33 | /// Current streaming state of the ViewModel.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:34:16: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
32 |
33 | /// Current streaming state of the ViewModel.
34 | @MainActor public private(set) var state: LocationStreamingState = .idle
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
35 |
36 | // MARK: - Private Properties
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:138:1: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
136 | state = value
137 | }
138 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<Member>(
+-------------------------------------------------------------------
139 |
140 | #endif
macro expansion @ObservationTracked:11:18: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:31:62: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
29 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
30 | /// such as filtering, mapping, or dropping results.
31 | @MainActor public private(set) var results: [Output] = []
+--- macro expansion @ObservationTracked ---------------------------
| 9 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
|10 | /// such as filtering, mapping, or dropping results.
|11 | @MainActor @ObservationIgnored private var _results: [Output] = []
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
32 |
33 | /// Current streaming state of the ViewModel.
macro expansion @ObservationTracked:5:18: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:34:77: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
32 |
33 | /// Current streaming state of the ViewModel.
34 | @MainActor public private(set) var state: LocationStreamingState = .idle
+--- macro expansion @ObservationTracked ---------------------------
|3 |
|4 | /// Current streaming state of the ViewModel.
|5 | @MainActor @ObservationIgnored private var _state: LocationStreamingState = .idle
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
35 |
36 | // MARK: - Private Properties
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:138:1: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
136 | state = value
137 | }
138 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<Member>(
+-------------------------------------------------------------------
139 |
140 | #endif
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
[10/14] Compiling d3_async_location AsyncFIFOQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:18:34: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
18 | typealias Continuation = AsyncStream<Element>.Continuation
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing type alias
19 |
20 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:22:29: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
20 |
21 | /// The asynchronous stream that consumers can iterate over.
22 | private var stream: AsyncStream<Element>?
| `- error: 'AsyncStream' is only available in macOS 10.15 or newer
23 |
24 | /// The continuation used to produce values for the stream.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:31:35: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
29 | /// - Parameter onTermination: An escaping closure to handle termination events.
30 | /// - Returns: The initialized `AsyncStream<Element>`.
31 | func initializeQueue() -> AsyncStream<Element> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
32 | // Return the existing stream if it's already initialized.
33 | if let existingStream = stream {
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:51:28: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
49 | /// Provides access to the asynchronous stream.
50 | /// - Returns: The initialized `AsyncStream<Element>` instance, or `nil` if not initialized.
51 | func getQueue() -> AsyncStream<Element>? {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
52 | return stream
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:37:48: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
29 | /// - Parameter onTermination: An escaping closure to handle termination events.
30 | /// - Returns: The initialized `AsyncStream<Element>`.
31 | func initializeQueue() -> AsyncStream<Element> {
| `- note: add @available attribute to enclosing instance method
32 | // Return the existing stream if it's already initialized.
33 | if let existingStream = stream {
:
35 | }
36 |
37 | let (newStream, newContinuation) = AsyncStream<Element>.makeStream(of: Element.self)
| |- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
38 |
39 | newContinuation.onTermination = { [weak self] termination in
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/AsyncFIFOQueue.swift:37:69: error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
13 | /// The stream is initialized lazily and can be terminated and cleaned up.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class AsyncFIFOQueue<Element: Sendable>{
| `- note: add @available attribute to enclosing generic class
16 |
17 | /// Type alias for the AsyncStream Continuation.
:
29 | /// - Parameter onTermination: An escaping closure to handle termination events.
30 | /// - Returns: The initialized `AsyncStream<Element>`.
31 | func initializeQueue() -> AsyncStream<Element> {
| `- note: add @available attribute to enclosing instance method
32 | // Return the existing stream if it's already initialized.
33 | if let existingStream = stream {
:
35 | }
36 |
37 | let (newStream, newContinuation) = AsyncStream<Element>.makeStream(of: Element.self)
| |- error: 'makeStream(of:bufferingPolicy:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
38 |
39 | newContinuation.onTermination = { [weak self] termination in
[11/14] Compiling d3_async_location LocationManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/helper/LocationManager.swift:53:41: error: 'AsyncStream' is only available in macOS 10.15 or newer
11 | /// Use the `start()` method to begin streaming location updates.
12 | @available(iOS 14.0, watchOS 7.0, *)
13 | final class LocationManager: ILocationManager {
| `- note: add @available attribute to enclosing class
14 |
15 | /// The delegate responsible for handling location updates and forwarding them to the async stream.
:
51 | /// - Returns: An `AsyncStream` emitting location updates or errors.
52 | /// - Throws: An error if permission is not granted.
53 | public func start() async throws -> AsyncStream<LocationStreamer.Output> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
54 |
55 | try await delegate.permission()
[12/14] Compiling d3_async_location Delegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:67:32: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
65 | /// Starts location streaming.
66 | /// - Returns: An async stream of location outputs.
67 | public func start() -> AsyncStream<DelegateOutput> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
68 | // Initialize the stream when needed.
69 | let stream = fifoQueue.initializeQueue()
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:84:55: error: 'authorizationStatus' is only available in macOS 11.0 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
81 | /// Requests location permissions if not already granted.
82 | /// - Throws: An error if the permission is not granted.
83 | public func permission() async throws {
| `- note: add @available attribute to enclosing instance method
84 | let permission = Permission(with: manager.authorizationStatus)
| |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
85 | try await permission.grant(for: manager)
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:100:99: error: 'authorizationStatus' is only available in macOS 11.0 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
97 | }
98 |
99 | public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
| `- note: add @available attribute to enclosing instance method
100 | NotificationCenter.default.post(name: Permission.authorizationStatus, object: manager.authorizationStatus)
| |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
101 | }
102 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:112:21: error: 'activityType' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
103 | // MARK: - Private Methods
104 |
105 | private func updateSettings(
| `- note: add @available attribute to enclosing instance method
106 | _ accuracy: CLLocationAccuracy?,
107 | _ activityType: CLActivityType?,
:
110 | ) {
111 | manager.desiredAccuracy = accuracy ?? kCLLocationAccuracyBest
112 | manager.activityType = activityType ?? .other
| |- error: 'activityType' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
113 | manager.distanceFilter = distanceFilter ?? kCLDistanceFilterNone
114 | #if os(iOS) || os(watchOS)
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:27:28: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
25 |
26 | /// Continuation to get permission if status is not defined
27 | private var flow : CheckedContinuation<CLAuthorizationStatus, Never>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// Check if status is determined
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:35:34: error: 'AnyCancellable' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
33 |
34 | /// Subscription to authorization status changes
35 | private var cancelable : AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
36 |
37 | // MARK: - Life circle
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:107:51: error: 'Publisher' is only available in macOS 10.15 or newer
105 | // MARK: - Alias types -
106 |
107 | fileprivate typealias Output = NotificationCenter.Publisher.Output
| `- error: 'Publisher' is only available in macOS 10.15 or newer
108 |
109 | // MARK: - Extensions -
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:66:53: error: 'publisher(for:object:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
62 |
63 | /// Subscribe for event when location manager change authorization status to go on access permission flow
64 | private func initSubscription(){
| `- note: add @available attribute to enclosing instance method
65 | let name = Permission.authorizationStatus
66 | cancelable = NotificationCenter.default.publisher(for: name)
| |- error: 'publisher(for:object:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | .sink { [weak self] value in
68 | self?.statusChanged(value)
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:67:18: error: 'sink(receiveValue:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
62 |
63 | /// Subscribe for event when location manager change authorization status to go on access permission flow
64 | private func initSubscription(){
| `- note: add @available attribute to enclosing instance method
65 | let name = Permission.authorizationStatus
66 | cancelable = NotificationCenter.default.publisher(for: name)
67 | .sink { [weak self] value in
| |- error: 'sink(receiveValue:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
68 | self?.statusChanged(value)
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:92:21: error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
| |- error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
93 |
94 | if isDetermined{
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:26: error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
93 |
:
96 | }
97 |
98 | return await withCheckedContinuation{ continuation in
| |- error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
99 | flow = continuation
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:50: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:49: note: expanded code originates here
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
93 |
:
96 | }
97 |
98 | return await withCheckedContinuation{ continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift
|96 |
|97 |
|98 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+----------------------------------------------------------------------------------------------------------------
99 | flow = continuation
100 | }
[13/14] Compiling d3_async_location Permission.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:67:32: error: 'AsyncStream' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
65 | /// Starts location streaming.
66 | /// - Returns: An async stream of location outputs.
67 | public func start() -> AsyncStream<DelegateOutput> {
| | `- error: 'AsyncStream' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
68 | // Initialize the stream when needed.
69 | let stream = fifoQueue.initializeQueue()
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:84:55: error: 'authorizationStatus' is only available in macOS 11.0 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
81 | /// Requests location permissions if not already granted.
82 | /// - Throws: An error if the permission is not granted.
83 | public func permission() async throws {
| `- note: add @available attribute to enclosing instance method
84 | let permission = Permission(with: manager.authorizationStatus)
| |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
85 | try await permission.grant(for: manager)
86 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:100:99: error: 'authorizationStatus' is only available in macOS 11.0 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
97 | }
98 |
99 | public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) {
| `- note: add @available attribute to enclosing instance method
100 | NotificationCenter.default.post(name: Permission.authorizationStatus, object: manager.authorizationStatus)
| |- error: 'authorizationStatus' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
101 | }
102 |
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Delegate.swift:112:21: error: 'activityType' is only available in macOS 10.15 or newer
13 | /// and errors from `CLLocationManager`, and forwards them into an `AsyncFIFOQueue` for asynchronous consumption.
14 | @available(iOS 14.0, watchOS 7.0, *)
15 | final class Delegate: NSObject, ILocationDelegate {
| `- note: add @available attribute to enclosing class
16 |
17 | typealias DelegateOutput = LocationStreamer.Output
:
103 | // MARK: - Private Methods
104 |
105 | private func updateSettings(
| `- note: add @available attribute to enclosing instance method
106 | _ accuracy: CLLocationAccuracy?,
107 | _ activityType: CLActivityType?,
:
110 | ) {
111 | manager.desiredAccuracy = accuracy ?? kCLLocationAccuracyBest
112 | manager.activityType = activityType ?? .other
| |- error: 'activityType' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
113 | manager.distanceFilter = distanceFilter ?? kCLDistanceFilterNone
114 | #if os(iOS) || os(watchOS)
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:27:28: error: 'CheckedContinuation' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
25 |
26 | /// Continuation to get permission if status is not defined
27 | private var flow : CheckedContinuation<CLAuthorizationStatus, Never>?
| `- error: 'CheckedContinuation' is only available in macOS 10.15 or newer
28 |
29 | /// Check if status is determined
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:35:34: error: 'AnyCancellable' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
33 |
34 | /// Subscription to authorization status changes
35 | private var cancelable : AnyCancellable?
| `- error: 'AnyCancellable' is only available in macOS 10.15 or newer
36 |
37 | // MARK: - Life circle
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:107:51: error: 'Publisher' is only available in macOS 10.15 or newer
105 | // MARK: - Alias types -
106 |
107 | fileprivate typealias Output = NotificationCenter.Publisher.Output
| `- error: 'Publisher' is only available in macOS 10.15 or newer
108 |
109 | // MARK: - Extensions -
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:66:53: error: 'publisher(for:object:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
62 |
63 | /// Subscribe for event when location manager change authorization status to go on access permission flow
64 | private func initSubscription(){
| `- note: add @available attribute to enclosing instance method
65 | let name = Permission.authorizationStatus
66 | cancelable = NotificationCenter.default.publisher(for: name)
| |- error: 'publisher(for:object:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
67 | .sink { [weak self] value in
68 | self?.statusChanged(value)
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:67:18: error: 'sink(receiveValue:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
62 |
63 | /// Subscribe for event when location manager change authorization status to go on access permission flow
64 | private func initSubscription(){
| `- note: add @available attribute to enclosing instance method
65 | let name = Permission.authorizationStatus
66 | cancelable = NotificationCenter.default.publisher(for: name)
67 | .sink { [weak self] value in
| |- error: 'sink(receiveValue:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
68 | self?.statusChanged(value)
69 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:92:21: error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
| |- error: 'requestWhenInUseAuthorization()' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
93 |
94 | if isDetermined{
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:26: error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
93 |
:
96 | }
97 |
98 | return await withCheckedContinuation{ continuation in
| |- error: 'withCheckedContinuation(isolation:function:_:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
99 | flow = continuation
100 | }
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:50: error: 'isolation()' is only available in macOS 10.15 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift:98:49: note: expanded code originates here
14 | /// Helper class to determine permission to get access for streaming ``CLLocation``
15 | @available(iOS 14.0, watchOS 7.0, *)
16 | final class Permission{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Name of notification for event location manager changed authorization status
:
89 | /// Don't forget to add in Info "Privacy - Location When In Use Usage Description" something like "Show list of locations"
90 | /// - Returns: Permission status
91 | private func requestPermission(_ manager : CLLocationManager) async -> CLAuthorizationStatus{
| `- note: add @available attribute to enclosing instance method
92 | manager.requestWhenInUseAuthorization()
93 |
:
96 | }
97 |
98 | return await withCheckedContinuation{ continuation in
+--- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/LocationManagerAsync+/Permission.swift
|96 |
|97 |
|98 | #isolation
| | `- error: 'isolation()' is only available in macOS 10.15 or newer
+----------------------------------------------------------------------------------------------------------------
99 | flow = continuation
100 | }
[14/14] Compiling d3_async_location ObservableLocationStreamer.swift
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
17 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:31:16: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
29 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
30 | /// such as filtering, mapping, or dropping results.
31 | @MainActor public private(set) var results: [Output] = []
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
32 |
33 | /// Current streaming state of the ViewModel.
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:34:16: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
32 |
33 | /// Current streaming state of the ViewModel.
34 | @MainActor public private(set) var state: LocationStreamingState = .idle
+--- macro expansion @Observable -----------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
35 |
36 | // MARK: - Private Properties
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:138:1: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
136 | state = value
137 | }
138 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<Member>(
+-------------------------------------------------------------------
139 |
140 | #endif
macro expansion @ObservationTracked:11:18: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:31:62: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
29 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
30 | /// such as filtering, mapping, or dropping results.
31 | @MainActor public private(set) var results: [Output] = []
+--- macro expansion @ObservationTracked ---------------------------
| 9 | /// Use this publisher to feed Views with updates or create a proxy to manipulate the flow,
|10 | /// such as filtering, mapping, or dropping results.
|11 | @MainActor @ObservationIgnored private var _results: [Output] = []
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
32 |
33 | /// Current streaming state of the ViewModel.
macro expansion @ObservationTracked:5:18: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:34:77: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
32 |
33 | /// Current streaming state of the ViewModel.
34 | @MainActor public private(set) var state: LocationStreamingState = .idle
+--- macro expansion @ObservationTracked ---------------------------
|3 |
|4 | /// Current streaming state of the ViewModel.
|5 | @MainActor @ObservationIgnored private var _state: LocationStreamingState = .idle
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
+-------------------------------------------------------------------
35 |
36 | // MARK: - Private Properties
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:138:1: note: expanded code originates here
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
:
136 | state = value
137 | }
138 | }
+--- macro expansion @Observable -----------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<Member>(
+-------------------------------------------------------------------
139 |
140 | #endif
<unknown>:0: error: 'makeAsyncIterator()' is only available in macOS 10.15 or newer
/Users/admin/builder/spi-builder-workspace/Sources/d3-async-location/service/ObservableLocationStreamer.swift:15:2: error: 'Observable()' is only available in macOS 14.0 or newer
13 | /// ViewModel for asynchronously posting location updates.
14 | @available(iOS 17.0, watchOS 10.0, *)
15 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
16 | public final class ObservableLocationStreamer: ILocationStreamer{
| `- note: add @available attribute to enclosing class
17 |
18 | /// Represents the output of the location manager.
BUILD FAILURE 6.1 macosSpm