Build Information
Failed to build ImperativeNavigation, reference 0.3.0 (b954d0), with Swift 6.1 for macOS (SPM) on 19 Dec 2025 02:52:15 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ahmdmhasn/swiftui-imperative-navigation.git
Reference: 0.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ahmdmhasn/swiftui-imperative-navigation
* tag 0.3.0 -> FETCH_HEAD
HEAD is now at b954d0f Add comprehensive integration testing suite (#14)
Cloned https://github.com/ahmdmhasn/swiftui-imperative-navigation.git
Revision (git rev-parse @):
b954d0f3989f926c94b301c1f7a116d74a1680aa
SUCCESS checkout https://github.com/ahmdmhasn/swiftui-imperative-navigation.git at 0.3.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/ahmdmhasn/swiftui-imperative-navigation.git
https://github.com/ahmdmhasn/swiftui-imperative-navigation.git
{
"dependencies" : [
],
"manifest_display_name" : "ImperativeNavigation",
"name" : "ImperativeNavigation",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "watchos",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "16.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "ImperativeNavigation",
"targets" : [
"ImperativeNavigation"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ImperativeNavigationTests",
"module_type" : "SwiftTarget",
"name" : "ImperativeNavigationTests",
"path" : "Tests/ImperativeNavigationTests",
"sources" : [
"NavigationControllerTests.swift"
],
"target_dependencies" : [
"ImperativeNavigation"
],
"type" : "test"
},
{
"c99name" : "ImperativeNavigationIntegrationTests",
"module_type" : "SwiftTarget",
"name" : "ImperativeNavigationIntegrationTests",
"path" : "Tests/ImperativeNavigationIntegrationTests",
"sources" : [
"CoordinatorPatternIntegrationTests.swift",
"NavigationFlowIntegrationTests.swift",
"NavigationViewIntegrationTests.swift",
"TestHelpers/NavigationTestHelpers.swift"
],
"target_dependencies" : [
"ImperativeNavigation"
],
"type" : "test"
},
{
"c99name" : "ImperativeNavigation",
"module_type" : "SwiftTarget",
"name" : "ImperativeNavigation",
"path" : "Sources/ImperativeNavigation",
"product_memberships" : [
"ImperativeNavigation"
],
"sources" : [
"NavigationView.swift",
"Route.swift"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/5] Compiling ImperativeNavigation Route.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/Route.swift:7:19: error: 'View' is only available in macOS 10.15 or newer
4 | // MARK: - Route
5 |
6 | public struct Route {
| `- note: add @available attribute to enclosing struct
7 | init<Content: View>(_ body: Content) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing initializer
8 | self.body = body // Store same view for later casting.
9 | self.viewType = String(describing: Content.self) // Keep the view name for reference.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/Route.swift:13:19: error: 'View' is only available in macOS 10.15 or newer
4 | // MARK: - Route
5 |
6 | public struct Route {
| `- note: add @available attribute to enclosing struct
7 | init<Content: View>(_ body: Content) {
8 | self.body = body // Store same view for later casting.
:
11 | }
12 |
13 | let body: any View
| `- error: 'View' is only available in macOS 10.15 or newer
14 | private let viewType: String
15 | private let identifier: UUID
error: emit-module command failed with exit code 1 (use -v to see invocation)
[4/5] Emitting module ImperativeNavigation
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:10:25: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
9 | /// Pushes a new route onto the navigation path.
10 | public func push<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
11 | path.append(Route(view))
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:22:24: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
20 | ///
21 | /// Note: Overloaded version of `pop()` which avoids "Generic parameter 'V' could not be inferred" error.
22 | public func pop<V: View>() -> V? {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
23 | path.popLast()?.body as? V
24 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:32:28: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
30 |
31 | /// Presents a modal route.
32 | public func present<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
33 | fullScreenRoute = Route(view)
34 | sheetRoute = nil
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:38:26: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
36 |
37 | /// Presents a modal route.
38 | public func sheet<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 | fullScreenRoute = nil
40 | sheetRoute = Route(view)
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:54:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
52 |
53 | /// The current navigation path represented as an array of routes.
54 | @Published fileprivate(set) var path: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
55 |
56 | /// The currently active full screen modal route, if any.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:57:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
55 |
56 | /// The currently active full screen modal route, if any.
57 | @Published fileprivate(set) var fullScreenRoute: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
58 |
59 | /// The currently active sheet modal route, if any.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:60:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
58 |
59 | /// The currently active sheet modal route, if any.
60 | @Published fileprivate(set) var sheetRoute: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:6:42: error: 'ObservableObject' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:69:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
| `- error: 'ObservedObject' is only available in macOS 10.15 or newer
70 | private var controller: NavigationController
71 | private let root: Root
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:80:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
76 | /// - controller: A `NavigationController` that manages the navigation flow.
77 | /// - root: A closure that returns the root view of the navigation stack.
78 | public init(
| `- note: add @available attribute to enclosing initializer
79 | controller: NavigationController,
80 | @ViewBuilder root: () -> Root
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
81 | ) {
82 | self._controller = ObservedObject(wrappedValue: controller)
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:86:27: error: 'View' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
84 | }
85 |
86 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
87 | NavigationStack(
88 | path: $controller.path,
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:68:36: error: 'View' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/Route.swift:7:19: error: 'View' is only available in macOS 10.15 or newer
4 | // MARK: - Route
5 |
6 | public struct Route {
| `- note: add @available attribute to enclosing struct
7 | init<Content: View>(_ body: Content) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing initializer
8 | self.body = body // Store same view for later casting.
9 | self.viewType = String(describing: Content.self) // Keep the view name for reference.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/Route.swift:13:19: error: 'View' is only available in macOS 10.15 or newer
4 | // MARK: - Route
5 |
6 | public struct Route {
| `- note: add @available attribute to enclosing struct
7 | init<Content: View>(_ body: Content) {
8 | self.body = body // Store same view for later casting.
:
11 | }
12 |
13 | let body: any View
| `- error: 'View' is only available in macOS 10.15 or newer
14 | private let viewType: String
15 | private let identifier: UUID
[5/5] Compiling ImperativeNavigation NavigationView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:10:25: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
9 | /// Pushes a new route onto the navigation path.
10 | public func push<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
11 | path.append(Route(view))
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:22:24: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
20 | ///
21 | /// Note: Overloaded version of `pop()` which avoids "Generic parameter 'V' could not be inferred" error.
22 | public func pop<V: View>() -> V? {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
23 | path.popLast()?.body as? V
24 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:32:28: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
30 |
31 | /// Presents a modal route.
32 | public func present<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
33 | fullScreenRoute = Route(view)
34 | sheetRoute = nil
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:38:26: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
36 |
37 | /// Presents a modal route.
38 | public func sheet<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 | fullScreenRoute = nil
40 | sheetRoute = Route(view)
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:54:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
52 |
53 | /// The current navigation path represented as an array of routes.
54 | @Published fileprivate(set) var path: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
55 |
56 | /// The currently active full screen modal route, if any.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:57:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
55 |
56 | /// The currently active full screen modal route, if any.
57 | @Published fileprivate(set) var fullScreenRoute: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
58 |
59 | /// The currently active sheet modal route, if any.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:60:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
58 |
59 | /// The currently active sheet modal route, if any.
60 | @Published fileprivate(set) var sheetRoute: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:6:42: error: 'ObservableObject' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:69:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
| `- error: 'ObservedObject' is only available in macOS 10.15 or newer
70 | private var controller: NavigationController
71 | private let root: Root
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:80:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
76 | /// - controller: A `NavigationController` that manages the navigation flow.
77 | /// - root: A closure that returns the root view of the navigation stack.
78 | public init(
| `- note: add @available attribute to enclosing initializer
79 | controller: NavigationController,
80 | @ViewBuilder root: () -> Root
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
81 | ) {
82 | self._controller = ObservedObject(wrappedValue: controller)
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:86:27: error: 'View' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
84 | }
85 |
86 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
87 | NavigationStack(
88 | path: $controller.path,
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:68:36: error: 'View' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:11:9: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
9 | /// Pushes a new route onto the navigation path.
10 | public func push<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
11 | path.append(Route(view))
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:16:13: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
13 |
14 | /// Removes the most recently pushed route from the navigation path.
15 | public func pop() {
| `- note: add @available attribute to enclosing instance method
16 | _ = path.popLast()
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
17 | }
18 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:23:9: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
20 | ///
21 | /// Note: Overloaded version of `pop()` which avoids "Generic parameter 'V' could not be inferred" error.
22 | public func pop<V: View>() -> V? {
| `- note: add @available attribute to enclosing instance method
23 | path.popLast()?.body as? V
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
24 | }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:28:9: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
25 |
26 | /// Removes all routes from the navigation path except for the root route.
27 | public func popToRoot() {
| `- note: add @available attribute to enclosing instance method
28 | path.removeAll() // Path excludes the root view
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | }
30 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:33:9: error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
30 |
31 | /// Presents a modal route.
32 | public func present<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
33 | fullScreenRoute = Route(view)
| |- error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
34 | sheetRoute = nil
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:34:9: error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
30 |
31 | /// Presents a modal route.
32 | public func present<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
33 | fullScreenRoute = Route(view)
34 | sheetRoute = nil
| |- error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:39:9: error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
36 |
37 | /// Presents a modal route.
38 | public func sheet<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
39 | fullScreenRoute = nil
| |- error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
40 | sheetRoute = Route(view)
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:40:9: error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
36 |
37 | /// Presents a modal route.
38 | public func sheet<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
39 | fullScreenRoute = nil
40 | sheetRoute = Route(view)
| |- error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:45:9: error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
42 |
43 | /// Dismisses the currently presented modal route, if any.
44 | public func dismiss() {
| `- note: add @available attribute to enclosing instance method
45 | fullScreenRoute = nil
| |- error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | sheetRoute = nil
47 | }
<unknown>:0: error: cannot convert value of type 'KeyPath<NavigationController, [Route]>' to expected argument type 'ReferenceWritableKeyPath<NavigationController, [Route]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<NavigationController, Route?>' to expected argument type 'ReferenceWritableKeyPath<NavigationController, Route?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<NavigationController, Route?>' to expected argument type 'ReferenceWritableKeyPath<NavigationController, Route?>'
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:46:9: error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
42 |
43 | /// Dismisses the currently presented modal route, if any.
44 | public func dismiss() {
| `- note: add @available attribute to enclosing instance method
45 | fullScreenRoute = nil
46 | sheetRoute = nil
| |- error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
47 | }
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:82:28: error: 'ObservedObject' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
76 | /// - controller: A `NavigationController` that manages the navigation flow.
77 | /// - root: A closure that returns the root view of the navigation stack.
78 | public init(
| `- note: add @available attribute to enclosing initializer
79 | controller: NavigationController,
80 | @ViewBuilder root: () -> Root
81 | ) {
82 | self._controller = ObservedObject(wrappedValue: controller)
| |- error: 'ObservedObject' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
83 | self.root = root()
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:88:31: error: cannot assign to property: '$controller' is immutable
86 | public var body: some View {
87 | NavigationStack(
88 | path: $controller.path,
| `- error: cannot assign to property: '$controller' is immutable
89 | root: {
90 | root
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:96:43: error: cannot assign to property: '$controller' is immutable
94 | )
95 | .fullScreenCover(
96 | item: $controller.fullScreenRoute,
| `- error: cannot assign to property: '$controller' is immutable
97 | content: { AnyView($0.body) }
98 | )
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:100:43: error: cannot assign to property: '$controller' is immutable
98 | )
99 | .sheet(
100 | item: $controller.sheetRoute,
| `- error: cannot assign to property: '$controller' is immutable
101 | content: { AnyView($0.body) }
102 | )
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/4] Emitting module ImperativeNavigation
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:10:25: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
9 | /// Pushes a new route onto the navigation path.
10 | public func push<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
11 | path.append(Route(view))
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:22:24: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
20 | ///
21 | /// Note: Overloaded version of `pop()` which avoids "Generic parameter 'V' could not be inferred" error.
22 | public func pop<V: View>() -> V? {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
23 | path.popLast()?.body as? V
24 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:32:28: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
30 |
31 | /// Presents a modal route.
32 | public func present<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
33 | fullScreenRoute = Route(view)
34 | sheetRoute = nil
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:38:26: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
36 |
37 | /// Presents a modal route.
38 | public func sheet<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 | fullScreenRoute = nil
40 | sheetRoute = Route(view)
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:54:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
52 |
53 | /// The current navigation path represented as an array of routes.
54 | @Published fileprivate(set) var path: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
55 |
56 | /// The currently active full screen modal route, if any.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:57:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
55 |
56 | /// The currently active full screen modal route, if any.
57 | @Published fileprivate(set) var fullScreenRoute: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
58 |
59 | /// The currently active sheet modal route, if any.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:60:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
58 |
59 | /// The currently active sheet modal route, if any.
60 | @Published fileprivate(set) var sheetRoute: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:6:42: error: 'ObservableObject' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:69:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
| `- error: 'ObservedObject' is only available in macOS 10.15 or newer
70 | private var controller: NavigationController
71 | private let root: Root
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:80:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
76 | /// - controller: A `NavigationController` that manages the navigation flow.
77 | /// - root: A closure that returns the root view of the navigation stack.
78 | public init(
| `- note: add @available attribute to enclosing initializer
79 | controller: NavigationController,
80 | @ViewBuilder root: () -> Root
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
81 | ) {
82 | self._controller = ObservedObject(wrappedValue: controller)
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:86:27: error: 'View' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
84 | }
85 |
86 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
87 | NavigationStack(
88 | path: $controller.path,
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:68:36: error: 'View' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/Route.swift:7:19: error: 'View' is only available in macOS 10.15 or newer
4 | // MARK: - Route
5 |
6 | public struct Route {
| `- note: add @available attribute to enclosing struct
7 | init<Content: View>(_ body: Content) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing initializer
8 | self.body = body // Store same view for later casting.
9 | self.viewType = String(describing: Content.self) // Keep the view name for reference.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/Route.swift:13:19: error: 'View' is only available in macOS 10.15 or newer
4 | // MARK: - Route
5 |
6 | public struct Route {
| `- note: add @available attribute to enclosing struct
7 | init<Content: View>(_ body: Content) {
8 | self.body = body // Store same view for later casting.
:
11 | }
12 |
13 | let body: any View
| `- error: 'View' is only available in macOS 10.15 or newer
14 | private let viewType: String
15 | private let identifier: UUID
[3/4] Compiling ImperativeNavigation NavigationView.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:10:25: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
9 | /// Pushes a new route onto the navigation path.
10 | public func push<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
11 | path.append(Route(view))
12 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:22:24: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
20 | ///
21 | /// Note: Overloaded version of `pop()` which avoids "Generic parameter 'V' could not be inferred" error.
22 | public func pop<V: View>() -> V? {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
23 | path.popLast()?.body as? V
24 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:32:28: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
30 |
31 | /// Presents a modal route.
32 | public func present<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
33 | fullScreenRoute = Route(view)
34 | sheetRoute = nil
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:38:26: error: 'View' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
36 |
37 | /// Presents a modal route.
38 | public func sheet<V: View>(_ view: V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
39 | fullScreenRoute = nil
40 | sheetRoute = Route(view)
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:54:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
52 |
53 | /// The current navigation path represented as an array of routes.
54 | @Published fileprivate(set) var path: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
55 |
56 | /// The currently active full screen modal route, if any.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:57:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
55 |
56 | /// The currently active full screen modal route, if any.
57 | @Published fileprivate(set) var fullScreenRoute: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
58 |
59 | /// The currently active sheet modal route, if any.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:60:6: error: 'Published' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
58 |
59 | /// The currently active sheet modal route, if any.
60 | @Published fileprivate(set) var sheetRoute: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:6:42: error: 'ObservableObject' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:69:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
| `- error: 'ObservedObject' is only available in macOS 10.15 or newer
70 | private var controller: NavigationController
71 | private let root: Root
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:80:10: error: 'ViewBuilder' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
76 | /// - controller: A `NavigationController` that manages the navigation flow.
77 | /// - root: A closure that returns the root view of the navigation stack.
78 | public init(
| `- note: add @available attribute to enclosing initializer
79 | controller: NavigationController,
80 | @ViewBuilder root: () -> Root
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
81 | ) {
82 | self._controller = ObservedObject(wrappedValue: controller)
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:86:27: error: 'View' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
84 | }
85 |
86 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
87 | NavigationStack(
88 | path: $controller.path,
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:68:36: error: 'View' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:11:9: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
9 | /// Pushes a new route onto the navigation path.
10 | public func push<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
11 | path.append(Route(view))
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
12 | }
13 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:16:13: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
13 |
14 | /// Removes the most recently pushed route from the navigation path.
15 | public func pop() {
| `- note: add @available attribute to enclosing instance method
16 | _ = path.popLast()
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
17 | }
18 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:23:9: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
20 | ///
21 | /// Note: Overloaded version of `pop()` which avoids "Generic parameter 'V' could not be inferred" error.
22 | public func pop<V: View>() -> V? {
| `- note: add @available attribute to enclosing instance method
23 | path.popLast()?.body as? V
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
24 | }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:28:9: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
25 |
26 | /// Removes all routes from the navigation path except for the root route.
27 | public func popToRoot() {
| `- note: add @available attribute to enclosing instance method
28 | path.removeAll() // Path excludes the root view
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
29 | }
30 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:33:9: error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
30 |
31 | /// Presents a modal route.
32 | public func present<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
33 | fullScreenRoute = Route(view)
| |- error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
34 | sheetRoute = nil
35 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:34:9: error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
30 |
31 | /// Presents a modal route.
32 | public func present<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
33 | fullScreenRoute = Route(view)
34 | sheetRoute = nil
| |- error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
35 | }
36 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:39:9: error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
36 |
37 | /// Presents a modal route.
38 | public func sheet<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
39 | fullScreenRoute = nil
| |- error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
40 | sheetRoute = Route(view)
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:40:9: error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
36 |
37 | /// Presents a modal route.
38 | public func sheet<V: View>(_ view: V) {
| `- note: add @available attribute to enclosing instance method
39 | fullScreenRoute = nil
40 | sheetRoute = Route(view)
| |- error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
41 | }
42 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:45:9: error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
42 |
43 | /// Dismisses the currently presented modal route, if any.
44 | public func dismiss() {
| `- note: add @available attribute to enclosing instance method
45 | fullScreenRoute = nil
| |- error: setter for 'fullScreenRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
46 | sheetRoute = nil
47 | }
<unknown>:0: error: cannot convert value of type 'KeyPath<NavigationController, [Route]>' to expected argument type 'ReferenceWritableKeyPath<NavigationController, [Route]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<NavigationController, Route?>' to expected argument type 'ReferenceWritableKeyPath<NavigationController, Route?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<NavigationController, Route?>' to expected argument type 'ReferenceWritableKeyPath<NavigationController, Route?>'
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:46:9: error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
4 |
5 | @MainActor
6 | public final class NavigationController: ObservableObject {
| `- note: add @available attribute to enclosing class
7 | public init() { }
8 |
:
42 |
43 | /// Dismisses the currently presented modal route, if any.
44 | public func dismiss() {
| `- note: add @available attribute to enclosing instance method
45 | fullScreenRoute = nil
46 | sheetRoute = nil
| |- error: setter for 'sheetRoute' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
47 | }
48 |
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:82:28: error: 'ObservedObject' is only available in macOS 10.15 or newer
66 | /// using a coordinator pattern. It utilizes a `NavigationStack` for navigation and
67 | /// supports both `fullScreenCover` and `sheet` modals.
68 | public struct NavigationView<Root: View>: View {
| `- note: add @available attribute to enclosing generic struct
69 | @ObservedObject
70 | private var controller: NavigationController
:
76 | /// - controller: A `NavigationController` that manages the navigation flow.
77 | /// - root: A closure that returns the root view of the navigation stack.
78 | public init(
| `- note: add @available attribute to enclosing initializer
79 | controller: NavigationController,
80 | @ViewBuilder root: () -> Root
81 | ) {
82 | self._controller = ObservedObject(wrappedValue: controller)
| |- error: 'ObservedObject' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
83 | self.root = root()
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:88:31: error: cannot assign to property: '$controller' is immutable
86 | public var body: some View {
87 | NavigationStack(
88 | path: $controller.path,
| `- error: cannot assign to property: '$controller' is immutable
89 | root: {
90 | root
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:96:43: error: cannot assign to property: '$controller' is immutable
94 | )
95 | .fullScreenCover(
96 | item: $controller.fullScreenRoute,
| `- error: cannot assign to property: '$controller' is immutable
97 | content: { AnyView($0.body) }
98 | )
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/NavigationView.swift:100:43: error: cannot assign to property: '$controller' is immutable
98 | )
99 | .sheet(
100 | item: $controller.sheetRoute,
| `- error: cannot assign to property: '$controller' is immutable
101 | content: { AnyView($0.body) }
102 | )
[4/4] Compiling ImperativeNavigation Route.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/Route.swift:7:19: error: 'View' is only available in macOS 10.15 or newer
4 | // MARK: - Route
5 |
6 | public struct Route {
| `- note: add @available attribute to enclosing struct
7 | init<Content: View>(_ body: Content) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing initializer
8 | self.body = body // Store same view for later casting.
9 | self.viewType = String(describing: Content.self) // Keep the view name for reference.
/Users/admin/builder/spi-builder-workspace/Sources/ImperativeNavigation/Route.swift:13:19: error: 'View' is only available in macOS 10.15 or newer
4 | // MARK: - Route
5 |
6 | public struct Route {
| `- note: add @available attribute to enclosing struct
7 | init<Content: View>(_ body: Content) {
8 | self.body = body // Store same view for later casting.
:
11 | }
12 |
13 | let body: any View
| `- error: 'View' is only available in macOS 10.15 or newer
14 | private let viewType: String
15 | private let identifier: UUID
BUILD FAILURE 6.1 macosSpm