Build Information
Failed to build SUICoordinator, reference main (9f5a6f), with Swift 6.0 for macOS (SPM) on 26 Sep 2025 05:07:56 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64Build Log
28 |
29 | typealias Item = T
:
198 |
199 | @ViewBuilder
200 | private func sheetContainer(
| `- note: add @available attribute to enclosing instance method
201 | item: Binding<Item?>,
202 | animated: Bool,
:
211 | content: { content($0).onViewDidLoad { onDidLoad?(String(index)) } }
212 | )
213 | .transaction { $0.disablesAnimations = !(animated) }
| |- error: 'disablesAnimations' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
214 | }
215 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/SheetCoordinator/SheetView.swift:217:9: error: 'Color' is only available in macOS 10.15 or newer
25 | import SwiftUI
26 |
27 | struct SheetView<Content: View, T: SheetItemType>: View {
| `- note: add @available attribute to enclosing generic struct
28 |
29 | typealias Item = T
:
214 | }
215 |
216 | private var defaultView: some View {
| `- note: add @available attribute to enclosing property
217 | Color.blue.frame(width: 0.3, height: 0.3)
| |- error: 'Color' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
218 | }
219 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/SheetCoordinator/SheetView.swift:217:15: error: 'blue' is only available in macOS 10.15 or newer
25 | import SwiftUI
26 |
27 | struct SheetView<Content: View, T: SheetItemType>: View {
| `- note: add @available attribute to enclosing generic struct
28 |
29 | typealias Item = T
:
214 | }
215 |
216 | private var defaultView: some View {
| `- note: add @available attribute to enclosing property
217 | Color.blue.frame(width: 0.3, height: 0.3)
| |- error: 'blue' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
218 | }
219 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/SheetCoordinator/SheetView.swift:217:20: error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
25 | import SwiftUI
26 |
27 | struct SheetView<Content: View, T: SheetItemType>: View {
| `- note: add @available attribute to enclosing generic struct
28 |
29 | typealias Item = T
:
214 | }
215 |
216 | private var defaultView: some View {
| `- note: add @available attribute to enclosing property
217 | Color.blue.frame(width: 0.3, height: 0.3)
| |- error: 'frame(width:height:alignment:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
218 | }
219 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/PageDataSource.swift:103:35: error: 'View' is only available in macOS 10.15 or newer
59 | /// }
60 | /// ```
61 | public protocol PageDataSource: SCHashable {
| `- note: add @available attribute to enclosing protocol
62 |
63 | // ---------------------------------------------------------
:
101 | /// This is used to ensure type safety when working with SwiftUI views in the context of tab pages.
102 | /// It provides a consistent interface for view-related operations across the tab system.
103 | typealias View = (any SwiftUI.View)
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing type alias
104 |
105 | // ---------------------------------------------------------
[23/37] Compiling SUICoordinator TabCoordinator.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:89:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
87 | ///
88 | /// This router handles the presentation and navigation logic for the tab coordinator itself.
89 | @Published public var router: Router<DefaultRoute>
| `- error: 'Published' is only available in macOS 10.15 or newer
90 |
91 | /// The array of published pages associated with the tab coordinator.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:95:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
93 | /// This array contains all the available tabs that can be displayed in the tab interface.
94 | /// Changes to this array will automatically update the tab interface.
95 | @Published public var pages: [Page] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
96 |
97 | /// The published current page associated with the tab coordinator.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:101:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
99 | /// This property tracks which tab is currently selected and active. Updates to this
100 | /// property will trigger tab selection changes in the interface.
101 | @Published public var currentPage: Page
| `- error: 'Published' is only available in macOS 10.15 or newer
102 |
103 | // --------------------------------------------------------------------
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, Router<DefaultRoute>>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, Router<DefaultRoute>>'
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, [Page]>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, [Page]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, Page>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, Page>'
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:140:23: error: 'PassthroughSubject' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
138 | /// Use this subject to asynchronously update badge values for individual tabs.
139 | /// Send a tuple containing the badge value (or nil to remove) and the target page.
140 | public let badge: PassthroughSubject<(String?, Page), Never>
| `- error: 'PassthroughSubject' is only available in macOS 10.15 or newer
141 |
142 | /// A closure that provides the custom view container for the tab interface.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:177:17: error: 'Task' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
175 | viewContainer: @escaping (TabCoordinator<Page>) -> Page.View
176 | ) {
177 | defer { Task { [weak self] in await self?.start() } }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
178 |
179 | self.router = .init()
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:177:17: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
175 | viewContainer: @escaping (TabCoordinator<Page>) -> Page.View
176 | ) {
177 | defer { Task { [weak self] in await self?.start() } }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
178 |
179 | self.router = .init()
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:179:9: error: setter for 'router' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
177 | defer { Task { [weak self] in await self?.start() } }
178 |
179 | self.router = .init()
| |- error: setter for 'router' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
180 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
181 | self.presentationStyle = presentationStyle
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:182:9: error: setter for 'currentPage' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
180 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
181 | self.presentationStyle = presentationStyle
182 | self.currentPage = currentPage
| |- error: setter for 'currentPage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
183 | self.viewContainer = viewContainer
184 | self.pages = pages
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:184:9: error: setter for 'pages' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
182 | self.currentPage = currentPage
183 | self.viewContainer = viewContainer
184 | self.pages = pages
| |- error: setter for 'pages' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
185 | self.badge = .init()
186 | }
[24/37] Compiling SUICoordinator TabCoordinatorError.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:89:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
87 | ///
88 | /// This router handles the presentation and navigation logic for the tab coordinator itself.
89 | @Published public var router: Router<DefaultRoute>
| `- error: 'Published' is only available in macOS 10.15 or newer
90 |
91 | /// The array of published pages associated with the tab coordinator.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:95:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
93 | /// This array contains all the available tabs that can be displayed in the tab interface.
94 | /// Changes to this array will automatically update the tab interface.
95 | @Published public var pages: [Page] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
96 |
97 | /// The published current page associated with the tab coordinator.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:101:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
99 | /// This property tracks which tab is currently selected and active. Updates to this
100 | /// property will trigger tab selection changes in the interface.
101 | @Published public var currentPage: Page
| `- error: 'Published' is only available in macOS 10.15 or newer
102 |
103 | // --------------------------------------------------------------------
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, Router<DefaultRoute>>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, Router<DefaultRoute>>'
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, [Page]>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, [Page]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, Page>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, Page>'
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:140:23: error: 'PassthroughSubject' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
138 | /// Use this subject to asynchronously update badge values for individual tabs.
139 | /// Send a tuple containing the badge value (or nil to remove) and the target page.
140 | public let badge: PassthroughSubject<(String?, Page), Never>
| `- error: 'PassthroughSubject' is only available in macOS 10.15 or newer
141 |
142 | /// A closure that provides the custom view container for the tab interface.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:177:17: error: 'Task' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
175 | viewContainer: @escaping (TabCoordinator<Page>) -> Page.View
176 | ) {
177 | defer { Task { [weak self] in await self?.start() } }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
178 |
179 | self.router = .init()
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:177:17: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
175 | viewContainer: @escaping (TabCoordinator<Page>) -> Page.View
176 | ) {
177 | defer { Task { [weak self] in await self?.start() } }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
178 |
179 | self.router = .init()
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:179:9: error: setter for 'router' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
177 | defer { Task { [weak self] in await self?.start() } }
178 |
179 | self.router = .init()
| |- error: setter for 'router' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
180 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
181 | self.presentationStyle = presentationStyle
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:182:9: error: setter for 'currentPage' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
180 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
181 | self.presentationStyle = presentationStyle
182 | self.currentPage = currentPage
| |- error: setter for 'currentPage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
183 | self.viewContainer = viewContainer
184 | self.pages = pages
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:184:9: error: setter for 'pages' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
182 | self.currentPage = currentPage
183 | self.viewContainer = viewContainer
184 | self.pages = pages
| |- error: setter for 'pages' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
185 | self.badge = .init()
186 | }
[25/37] Compiling SUICoordinator TabCoordinatorType+Helpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:89:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
87 | ///
88 | /// This router handles the presentation and navigation logic for the tab coordinator itself.
89 | @Published public var router: Router<DefaultRoute>
| `- error: 'Published' is only available in macOS 10.15 or newer
90 |
91 | /// The array of published pages associated with the tab coordinator.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:95:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
93 | /// This array contains all the available tabs that can be displayed in the tab interface.
94 | /// Changes to this array will automatically update the tab interface.
95 | @Published public var pages: [Page] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
96 |
97 | /// The published current page associated with the tab coordinator.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:101:6: error: 'Published' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
99 | /// This property tracks which tab is currently selected and active. Updates to this
100 | /// property will trigger tab selection changes in the interface.
101 | @Published public var currentPage: Page
| `- error: 'Published' is only available in macOS 10.15 or newer
102 |
103 | // --------------------------------------------------------------------
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, Router<DefaultRoute>>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, Router<DefaultRoute>>'
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, [Page]>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, [Page]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<TabCoordinator<Page>, Page>' to expected argument type 'ReferenceWritableKeyPath<TabCoordinator<Page>, Page>'
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:140:23: error: 'PassthroughSubject' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
138 | /// Use this subject to asynchronously update badge values for individual tabs.
139 | /// Send a tuple containing the badge value (or nil to remove) and the target page.
140 | public let badge: PassthroughSubject<(String?, Page), Never>
| `- error: 'PassthroughSubject' is only available in macOS 10.15 or newer
141 |
142 | /// A closure that provides the custom view container for the tab interface.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:177:17: error: 'Task' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
175 | viewContainer: @escaping (TabCoordinator<Page>) -> Page.View
176 | ) {
177 | defer { Task { [weak self] in await self?.start() } }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
178 |
179 | self.router = .init()
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:177:17: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
175 | viewContainer: @escaping (TabCoordinator<Page>) -> Page.View
176 | ) {
177 | defer { Task { [weak self] in await self?.start() } }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
178 |
179 | self.router = .init()
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:179:9: error: setter for 'router' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
177 | defer { Task { [weak self] in await self?.start() } }
178 |
179 | self.router = .init()
| |- error: setter for 'router' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
180 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
181 | self.presentationStyle = presentationStyle
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:182:9: error: setter for 'currentPage' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
180 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
181 | self.presentationStyle = presentationStyle
182 | self.currentPage = currentPage
| |- error: setter for 'currentPage' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
183 | self.viewContainer = viewContainer
184 | self.pages = pages
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Tabbar/TabCoordinator.swift:184:9: error: setter for 'pages' is only available in macOS 10.15 or newer
78 | /// tabCoordinator.setBadge.send((nil, .profile)) // Remove badge
79 | /// ```
80 | open class TabCoordinator<Page: TabPage>: TabCoordinatable {
| `- note: add @available attribute to enclosing generic class
81 |
82 | // --------------------------------------------------------------------
:
169 | /// coordinator. The `tagId` of each child coordinator will be automatically set
170 | /// to match the position of its corresponding page.
171 | public init(
| `- note: add @available attribute to enclosing initializer
172 | pages: [Page],
173 | currentPage: Page,
:
182 | self.currentPage = currentPage
183 | self.viewContainer = viewContainer
184 | self.pages = pages
| |- error: setter for 'pages' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
185 | self.badge = .init()
186 | }
[26/37] Compiling SUICoordinator Coordinator.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:95:6: error: 'Published' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
:
93 | /// push navigation, modal presentations, and navigation stack management.
94 | /// Changes to the router state automatically trigger UI updates.
95 | @Published public var router: Router<Route>
| `- error: 'Published' is only available in macOS 10.15 or newer
96 |
97 | // --------------------------------------------------------------------
<unknown>:0: error: cannot convert value of type 'KeyPath<Coordinator<Route>, Router<Route>>' to expected argument type 'ReferenceWritableKeyPath<Coordinator<Route>, Router<Route>>'
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:84:43: error: 'ObservableObject' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:147:9: error: setter for 'router' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
:
144 | /// - The coordinator is not started automatically; call `start()` explicitly
145 | /// - Router configuration can be modified after initialization if needed
146 | public init() {
| `- note: add @available attribute to enclosing initializer
147 | self.router = .init()
| |- error: setter for 'router' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
148 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
149 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:34:6: error: 'StateObject' is only available in macOS 11.0 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
32 | // --------------------------------------------------------------------
33 |
34 | @StateObject var dataSource: DataSource
| `- error: 'StateObject' is only available in macOS 11.0 or newer
35 |
36 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:52:27: error: 'View' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
50 | // --------------------------------------------------------------------
51 |
52 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
53 | RouterView(coordinator: dataSource)
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:44:13: error: 'Task' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
38 | // --------------------------------------------------------------------
39 |
40 | init(dataSource: DataSource) {
| `- note: add @available attribute to enclosing initializer
41 | self._dataSource = .init(wrappedValue: dataSource)
42 |
43 | if !dataSource.isRunning && !dataSource.isTabCoordinable {
44 | Task { @MainActor in await dataSource.start() }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:44:13: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
38 | // --------------------------------------------------------------------
39 |
40 | init(dataSource: DataSource) {
| `- note: add @available attribute to enclosing initializer
41 | self._dataSource = .init(wrappedValue: dataSource)
42 |
43 | if !dataSource.isRunning && !dataSource.isTabCoordinable {
44 | Task { @MainActor in await dataSource.start() }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:28: error: 'Task' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:45: error: 'seconds' is only available in macOS 13.0 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'seconds' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:213:30: error: 'move(edge:)' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
202 | /// - animated: A Boolean value indicating whether the transition should be animated.
203 | /// - Returns: A `SheetItem` configured to present the target coordinator's view.
204 | func buildSheetItemForCoordinator(
| `- note: add @available attribute to enclosing instance method
205 | _ coordinator: AnyCoordinatorType,
206 | presentationStyle: TransitionPresentationStyle,
:
211 | if effectivePresentationStyle == .push {
212 | effectivePresentationStyle = .custom(
213 | transition: .move(edge: .trailing),
| |- error: 'move(edge:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
214 | animation: .default,
215 | fullScreen: true
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:214:29: error: 'default' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
202 | /// - animated: A Boolean value indicating whether the transition should be animated.
203 | /// - Returns: A `SheetItem` configured to present the target coordinator's view.
204 | func buildSheetItemForCoordinator(
| `- note: add @available attribute to enclosing instance method
205 | _ coordinator: AnyCoordinatorType,
206 | presentationStyle: TransitionPresentationStyle,
:
212 | effectivePresentationStyle = .custom(
213 | transition: .move(edge: .trailing),
214 | animation: .default,
| |- error: 'default' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
215 | fullScreen: true
216 | )
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Navigation.swift:156:25: error: setter for 'mainView' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | public extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// Returns the coordinator that is currently visible to the user.
:
153 | /// ```
154 |
155 | @MainActor func startFlow(route: Route) async -> Void {
| `- note: add @available attribute to enclosing instance method
156 | if !isRunning { router.mainView = route }
| |- error: setter for 'mainView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
157 | }
158 |
[27/37] Compiling SUICoordinator CoordinatorView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:95:6: error: 'Published' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
:
93 | /// push navigation, modal presentations, and navigation stack management.
94 | /// Changes to the router state automatically trigger UI updates.
95 | @Published public var router: Router<Route>
| `- error: 'Published' is only available in macOS 10.15 or newer
96 |
97 | // --------------------------------------------------------------------
<unknown>:0: error: cannot convert value of type 'KeyPath<Coordinator<Route>, Router<Route>>' to expected argument type 'ReferenceWritableKeyPath<Coordinator<Route>, Router<Route>>'
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:84:43: error: 'ObservableObject' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:147:9: error: setter for 'router' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
:
144 | /// - The coordinator is not started automatically; call `start()` explicitly
145 | /// - Router configuration can be modified after initialization if needed
146 | public init() {
| `- note: add @available attribute to enclosing initializer
147 | self.router = .init()
| |- error: setter for 'router' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
148 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
149 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:34:6: error: 'StateObject' is only available in macOS 11.0 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
32 | // --------------------------------------------------------------------
33 |
34 | @StateObject var dataSource: DataSource
| `- error: 'StateObject' is only available in macOS 11.0 or newer
35 |
36 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:52:27: error: 'View' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
50 | // --------------------------------------------------------------------
51 |
52 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
53 | RouterView(coordinator: dataSource)
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:44:13: error: 'Task' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
38 | // --------------------------------------------------------------------
39 |
40 | init(dataSource: DataSource) {
| `- note: add @available attribute to enclosing initializer
41 | self._dataSource = .init(wrappedValue: dataSource)
42 |
43 | if !dataSource.isRunning && !dataSource.isTabCoordinable {
44 | Task { @MainActor in await dataSource.start() }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:44:13: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
38 | // --------------------------------------------------------------------
39 |
40 | init(dataSource: DataSource) {
| `- note: add @available attribute to enclosing initializer
41 | self._dataSource = .init(wrappedValue: dataSource)
42 |
43 | if !dataSource.isRunning && !dataSource.isTabCoordinable {
44 | Task { @MainActor in await dataSource.start() }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:28: error: 'Task' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:45: error: 'seconds' is only available in macOS 13.0 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'seconds' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:213:30: error: 'move(edge:)' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
202 | /// - animated: A Boolean value indicating whether the transition should be animated.
203 | /// - Returns: A `SheetItem` configured to present the target coordinator's view.
204 | func buildSheetItemForCoordinator(
| `- note: add @available attribute to enclosing instance method
205 | _ coordinator: AnyCoordinatorType,
206 | presentationStyle: TransitionPresentationStyle,
:
211 | if effectivePresentationStyle == .push {
212 | effectivePresentationStyle = .custom(
213 | transition: .move(edge: .trailing),
| |- error: 'move(edge:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
214 | animation: .default,
215 | fullScreen: true
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:214:29: error: 'default' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
202 | /// - animated: A Boolean value indicating whether the transition should be animated.
203 | /// - Returns: A `SheetItem` configured to present the target coordinator's view.
204 | func buildSheetItemForCoordinator(
| `- note: add @available attribute to enclosing instance method
205 | _ coordinator: AnyCoordinatorType,
206 | presentationStyle: TransitionPresentationStyle,
:
212 | effectivePresentationStyle = .custom(
213 | transition: .move(edge: .trailing),
214 | animation: .default,
| |- error: 'default' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
215 | fullScreen: true
216 | )
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Navigation.swift:156:25: error: setter for 'mainView' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | public extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// Returns the coordinator that is currently visible to the user.
:
153 | /// ```
154 |
155 | @MainActor func startFlow(route: Route) async -> Void {
| `- note: add @available attribute to enclosing instance method
156 | if !isRunning { router.mainView = route }
| |- error: setter for 'mainView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
157 | }
158 |
[28/37] Compiling SUICoordinator CoordinatorType+Helpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:95:6: error: 'Published' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
:
93 | /// push navigation, modal presentations, and navigation stack management.
94 | /// Changes to the router state automatically trigger UI updates.
95 | @Published public var router: Router<Route>
| `- error: 'Published' is only available in macOS 10.15 or newer
96 |
97 | // --------------------------------------------------------------------
<unknown>:0: error: cannot convert value of type 'KeyPath<Coordinator<Route>, Router<Route>>' to expected argument type 'ReferenceWritableKeyPath<Coordinator<Route>, Router<Route>>'
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:84:43: error: 'ObservableObject' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:147:9: error: setter for 'router' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
:
144 | /// - The coordinator is not started automatically; call `start()` explicitly
145 | /// - Router configuration can be modified after initialization if needed
146 | public init() {
| `- note: add @available attribute to enclosing initializer
147 | self.router = .init()
| |- error: setter for 'router' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
148 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
149 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:34:6: error: 'StateObject' is only available in macOS 11.0 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
32 | // --------------------------------------------------------------------
33 |
34 | @StateObject var dataSource: DataSource
| `- error: 'StateObject' is only available in macOS 11.0 or newer
35 |
36 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:52:27: error: 'View' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
50 | // --------------------------------------------------------------------
51 |
52 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
53 | RouterView(coordinator: dataSource)
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:44:13: error: 'Task' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
38 | // --------------------------------------------------------------------
39 |
40 | init(dataSource: DataSource) {
| `- note: add @available attribute to enclosing initializer
41 | self._dataSource = .init(wrappedValue: dataSource)
42 |
43 | if !dataSource.isRunning && !dataSource.isTabCoordinable {
44 | Task { @MainActor in await dataSource.start() }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:44:13: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
38 | // --------------------------------------------------------------------
39 |
40 | init(dataSource: DataSource) {
| `- note: add @available attribute to enclosing initializer
41 | self._dataSource = .init(wrappedValue: dataSource)
42 |
43 | if !dataSource.isRunning && !dataSource.isTabCoordinable {
44 | Task { @MainActor in await dataSource.start() }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:28: error: 'Task' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:45: error: 'seconds' is only available in macOS 13.0 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'seconds' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:213:30: error: 'move(edge:)' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
202 | /// - animated: A Boolean value indicating whether the transition should be animated.
203 | /// - Returns: A `SheetItem` configured to present the target coordinator's view.
204 | func buildSheetItemForCoordinator(
| `- note: add @available attribute to enclosing instance method
205 | _ coordinator: AnyCoordinatorType,
206 | presentationStyle: TransitionPresentationStyle,
:
211 | if effectivePresentationStyle == .push {
212 | effectivePresentationStyle = .custom(
213 | transition: .move(edge: .trailing),
| |- error: 'move(edge:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
214 | animation: .default,
215 | fullScreen: true
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:214:29: error: 'default' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
202 | /// - animated: A Boolean value indicating whether the transition should be animated.
203 | /// - Returns: A `SheetItem` configured to present the target coordinator's view.
204 | func buildSheetItemForCoordinator(
| `- note: add @available attribute to enclosing instance method
205 | _ coordinator: AnyCoordinatorType,
206 | presentationStyle: TransitionPresentationStyle,
:
212 | effectivePresentationStyle = .custom(
213 | transition: .move(edge: .trailing),
214 | animation: .default,
| |- error: 'default' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
215 | fullScreen: true
216 | )
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Navigation.swift:156:25: error: setter for 'mainView' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | public extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// Returns the coordinator that is currently visible to the user.
:
153 | /// ```
154 |
155 | @MainActor func startFlow(route: Route) async -> Void {
| `- note: add @available attribute to enclosing instance method
156 | if !isRunning { router.mainView = route }
| |- error: setter for 'mainView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
157 | }
158 |
[29/37] Compiling SUICoordinator CoordinatorType+Navigation.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:95:6: error: 'Published' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
:
93 | /// push navigation, modal presentations, and navigation stack management.
94 | /// Changes to the router state automatically trigger UI updates.
95 | @Published public var router: Router<Route>
| `- error: 'Published' is only available in macOS 10.15 or newer
96 |
97 | // --------------------------------------------------------------------
<unknown>:0: error: cannot convert value of type 'KeyPath<Coordinator<Route>, Router<Route>>' to expected argument type 'ReferenceWritableKeyPath<Coordinator<Route>, Router<Route>>'
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:84:43: error: 'ObservableObject' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/Coordinator.swift:147:9: error: setter for 'router' is only available in macOS 10.15 or newer
82 | /// }
83 | /// ```
84 | open class Coordinator<Route: RouteType>: ObservableObject, CoordinatorType {
| `- note: add @available attribute to enclosing generic class
85 |
86 | // --------------------------------------------------------------------
:
144 | /// - The coordinator is not started automatically; call `start()` explicitly
145 | /// - Router configuration can be modified after initialization if needed
146 | public init() {
| `- note: add @available attribute to enclosing initializer
147 | self.router = .init()
| |- error: setter for 'router' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
148 | self.uuid = "\(NSStringFromClass(type(of: self))) - \(UUID().uuidString)"
149 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:34:6: error: 'StateObject' is only available in macOS 11.0 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
32 | // --------------------------------------------------------------------
33 |
34 | @StateObject var dataSource: DataSource
| `- error: 'StateObject' is only available in macOS 11.0 or newer
35 |
36 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:52:27: error: 'View' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
50 | // --------------------------------------------------------------------
51 |
52 | public var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
53 | RouterView(coordinator: dataSource)
54 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:44:13: error: 'Task' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
38 | // --------------------------------------------------------------------
39 |
40 | init(dataSource: DataSource) {
| `- note: add @available attribute to enclosing initializer
41 | self._dataSource = .init(wrappedValue: dataSource)
42 |
43 | if !dataSource.isRunning && !dataSource.isTabCoordinable {
44 | Task { @MainActor in await dataSource.start() }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Coordinator/CoordinatorView.swift:44:13: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 |
27 |
28 | public struct CoordinatorView<DataSource: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
38 | // --------------------------------------------------------------------
39 |
40 | init(dataSource: DataSource) {
| `- note: add @available attribute to enclosing initializer
41 | self._dataSource = .init(wrappedValue: dataSource)
42 |
43 | if !dataSource.isRunning && !dataSource.isTabCoordinable {
44 | Task { @MainActor in await dataSource.start() }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:28: error: 'Task' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:184:45: error: 'seconds' is only available in macOS 13.0 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
176 |
177 | /// Cleans up the coordinator.
178 | func swipedAway(coordinator: AnyCoordinatorType) async {
| `- note: add @available attribute to enclosing instance method
179 | let sheetCoordinator = router.sheetCoordinator
180 | let uuid = coordinator.uuid
:
182 | sheetCoordinator.onRemoveItem = { [weak sheetCoordinator, weak coordinator] id in
183 | if id.contains(uuid) {
184 | try? await Task.sleep(for: .seconds(0.2))
| |- error: 'seconds' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
185 | await coordinator?.finish(animated: false, withDismiss: false)
186 | sheetCoordinator?.onRemoveItem = nil
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:213:30: error: 'move(edge:)' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
202 | /// - animated: A Boolean value indicating whether the transition should be animated.
203 | /// - Returns: A `SheetItem` configured to present the target coordinator's view.
204 | func buildSheetItemForCoordinator(
| `- note: add @available attribute to enclosing instance method
205 | _ coordinator: AnyCoordinatorType,
206 | presentationStyle: TransitionPresentationStyle,
:
211 | if effectivePresentationStyle == .push {
212 | effectivePresentationStyle = .custom(
213 | transition: .move(edge: .trailing),
| |- error: 'move(edge:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
214 | animation: .default,
215 | fullScreen: true
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Helpers.swift:214:29: error: 'default' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// A Boolean value indicating whether the coordinator has been started and has a main view.
:
202 | /// - animated: A Boolean value indicating whether the transition should be animated.
203 | /// - Returns: A `SheetItem` configured to present the target coordinator's view.
204 | func buildSheetItemForCoordinator(
| `- note: add @available attribute to enclosing instance method
205 | _ coordinator: AnyCoordinatorType,
206 | presentationStyle: TransitionPresentationStyle,
:
212 | effectivePresentationStyle = .custom(
213 | transition: .move(edge: .trailing),
214 | animation: .default,
| |- error: 'default' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
215 | fullScreen: true
216 | )
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/CoordinatorType/CoordinatorType+Navigation.swift:156:25: error: setter for 'mainView' is only available in macOS 10.15 or newer
25 | import Foundation
26 |
27 | public extension CoordinatorType {
| `- note: add @available attribute to enclosing extension
28 |
29 | /// Returns the coordinator that is currently visible to the user.
:
153 | /// ```
154 |
155 | @MainActor func startFlow(route: Route) async -> Void {
| `- note: add @available attribute to enclosing instance method
156 | if !isRunning { router.mainView = route }
| |- error: setter for 'mainView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
157 | }
158 |
[30/37] Compiling SUICoordinator TransitionPresentationStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:41:22: error: 'PresentationDetent' is only available in macOS 13.0 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
39 | case fullScreenCover
40 | /// A style allowing for presenting views with specific detents.
41 | case detents(Set<PresentationDetent>)
| `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:43:29: error: 'AnyTransition' is only available in macOS 10.15 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
41 | case detents(Set<PresentationDetent>)
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
| `- error: 'AnyTransition' is only available in macOS 10.15 or newer
44 |
45 | internal var isCustom: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:43:55: error: 'Animation' is only available in macOS 10.15 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
41 | case detents(Set<PresentationDetent>)
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
| `- error: 'Animation' is only available in macOS 10.15 or newer
44 |
45 | internal var isCustom: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Shared/Aliasess.swift:12:38: error: 'View' is only available in macOS 10.15 or newer
10 | public typealias ActionClosure = (String) -> Void
11 | public typealias AnyCoordinatorType = (any CoordinatorType)
12 | public typealias AnyViewAlias = (any View)
| `- error: 'View' is only available in macOS 10.15 or newer
13 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Shared/Protocols/Protocols.swift:51:33: error: 'Identifiable' is only available in macOS 10.15 or newer
49 | /// - Important: The identifier is based on the type name using `String(describing: self.self)`.
50 | /// - SeeAlso: `Identifiable`
51 | public protocol SCIdentifiable: Identifiable {
| | `- error: 'Identifiable' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing protocol
52 | var id: String { get }
53 | }
[31/37] Compiling SUICoordinator ItemManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:41:22: error: 'PresentationDetent' is only available in macOS 13.0 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
39 | case fullScreenCover
40 | /// A style allowing for presenting views with specific detents.
41 | case detents(Set<PresentationDetent>)
| `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:43:29: error: 'AnyTransition' is only available in macOS 10.15 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
41 | case detents(Set<PresentationDetent>)
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
| `- error: 'AnyTransition' is only available in macOS 10.15 or newer
44 |
45 | internal var isCustom: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:43:55: error: 'Animation' is only available in macOS 10.15 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
41 | case detents(Set<PresentationDetent>)
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
| `- error: 'Animation' is only available in macOS 10.15 or newer
44 |
45 | internal var isCustom: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Shared/Aliasess.swift:12:38: error: 'View' is only available in macOS 10.15 or newer
10 | public typealias ActionClosure = (String) -> Void
11 | public typealias AnyCoordinatorType = (any CoordinatorType)
12 | public typealias AnyViewAlias = (any View)
| `- error: 'View' is only available in macOS 10.15 or newer
13 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Shared/Protocols/Protocols.swift:51:33: error: 'Identifiable' is only available in macOS 10.15 or newer
49 | /// - Important: The identifier is based on the type name using `String(describing: self.self)`.
50 | /// - SeeAlso: `Identifiable`
51 | public protocol SCIdentifiable: Identifiable {
| | `- error: 'Identifiable' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing protocol
52 | var id: String { get }
53 | }
[32/37] Compiling SUICoordinator Aliasess.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:41:22: error: 'PresentationDetent' is only available in macOS 13.0 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
39 | case fullScreenCover
40 | /// A style allowing for presenting views with specific detents.
41 | case detents(Set<PresentationDetent>)
| `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:43:29: error: 'AnyTransition' is only available in macOS 10.15 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
41 | case detents(Set<PresentationDetent>)
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
| `- error: 'AnyTransition' is only available in macOS 10.15 or newer
44 |
45 | internal var isCustom: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:43:55: error: 'Animation' is only available in macOS 10.15 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
41 | case detents(Set<PresentationDetent>)
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
| `- error: 'Animation' is only available in macOS 10.15 or newer
44 |
45 | internal var isCustom: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Shared/Aliasess.swift:12:38: error: 'View' is only available in macOS 10.15 or newer
10 | public typealias ActionClosure = (String) -> Void
11 | public typealias AnyCoordinatorType = (any CoordinatorType)
12 | public typealias AnyViewAlias = (any View)
| `- error: 'View' is only available in macOS 10.15 or newer
13 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Shared/Protocols/Protocols.swift:51:33: error: 'Identifiable' is only available in macOS 10.15 or newer
49 | /// - Important: The identifier is based on the type name using `String(describing: self.self)`.
50 | /// - SeeAlso: `Identifiable`
51 | public protocol SCIdentifiable: Identifiable {
| | `- error: 'Identifiable' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing protocol
52 | var id: String { get }
53 | }
[33/37] Compiling SUICoordinator Protocols.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:41:22: error: 'PresentationDetent' is only available in macOS 13.0 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
39 | case fullScreenCover
40 | /// A style allowing for presenting views with specific detents.
41 | case detents(Set<PresentationDetent>)
| `- error: 'PresentationDetent' is only available in macOS 13.0 or newer
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:43:29: error: 'AnyTransition' is only available in macOS 10.15 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
41 | case detents(Set<PresentationDetent>)
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
| `- error: 'AnyTransition' is only available in macOS 10.15 or newer
44 |
45 | internal var isCustom: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/TransitionPresentationStyle.swift:43:55: error: 'Animation' is only available in macOS 10.15 or newer
30 | TransitionPresentationStyle enumerates the different styles used for transitioning between views or presenting views within an application.
31 | */
32 | public enum TransitionPresentationStyle: @unchecked Sendable, SCEquatable {
| `- note: add @available attribute to enclosing enum
33 |
34 | /// A push transition style, commonly used in navigation controllers.
:
41 | case detents(Set<PresentationDetent>)
42 | /// A custom presentation style.
43 | case custom(transition: AnyTransition, animation: Animation?, fullScreen: Bool = false)
| `- error: 'Animation' is only available in macOS 10.15 or newer
44 |
45 | internal var isCustom: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Shared/Aliasess.swift:12:38: error: 'View' is only available in macOS 10.15 or newer
10 | public typealias ActionClosure = (String) -> Void
11 | public typealias AnyCoordinatorType = (any CoordinatorType)
12 | public typealias AnyViewAlias = (any View)
| `- error: 'View' is only available in macOS 10.15 or newer
13 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Shared/Protocols/Protocols.swift:51:33: error: 'Identifiable' is only available in macOS 10.15 or newer
49 | /// - Important: The identifier is based on the type name using `String(describing: self.self)`.
50 | /// - SeeAlso: `Identifiable`
51 | public protocol SCIdentifiable: Identifiable {
| | `- error: 'Identifiable' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing protocol
52 | var id: String { get }
53 | }
[34/37] Compiling SUICoordinator Router+Helpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:69:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
67 | /// This represents the root view of the navigation hierarchy. When set, it becomes
68 | /// the base view from which all other navigation operations occur.
69 | @Published public var mainView: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
70 |
71 | /// The array of routes managed by the navigation router.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:76:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
74 | /// corresponds to a view in the navigation hierarchy, with the last item being
75 | /// the currently visible view.
76 | @Published public var items: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
77 |
78 | /// The sheet coordinator for presenting sheets.
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, Route?>' to expected argument type 'ReferenceWritableKeyPath<Router<Route>, Route?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, [Route]>' to expected argument type 'ReferenceWritableKeyPath<Router<Route>, [Route]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, SheetCoordinator<AnyViewAlias>>' (aka 'KeyPath<Router<Route>, SheetCoordinator<any View>>') to expected argument type 'ReferenceWritableKeyPath<Router<Route>, SheetCoordinator<AnyViewAlias>>' (aka 'ReferenceWritableKeyPath<Router<Route>, SheetCoordinator<any View>>')
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:82:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
80 | /// This coordinator manages all modal presentations (sheets, full-screen covers, etc.)
81 | /// and provides a unified interface for modal navigation operations.
82 | @Published public var sheetCoordinator: SheetCoordinator<AnyViewAlias> = .init()
| `- error: 'Published' is only available in macOS 10.15 or newer
83 |
84 | /// Controls whether navigation operations should be animated.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:232:9: error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
228 | /// - withMainView: A boolean value indicating whether to clear the main view.
229 | /// When `true`, the main view is also set to `nil`.
230 | @MainActor public func clean(animated: Bool, withMainView: Bool = true) async -> Void {
| `- note: add @available attribute to enclosing instance method
231 | await popToRoot(animated: false)
232 | sheetCoordinator = .init()
| |- error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
233 |
234 | if withMainView { mainView = nil }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:234:27: error: setter for 'mainView' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
228 | /// - withMainView: A boolean value indicating whether to clear the main view.
229 | /// When `true`, the main view is also set to `nil`.
230 | @MainActor public func clean(animated: Bool, withMainView: Bool = true) async -> Void {
| `- note: add @available attribute to enclosing instance method
231 | await popToRoot(animated: false)
232 | sheetCoordinator = .init()
233 |
234 | if withMainView { mainView = nil }
| |- error: setter for 'mainView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
235 | }
236 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:258:13: error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
242 | /// - Parameters:
243 | /// - animated: A boolean value indicating whether to animate the restart action.
244 | @MainActor public func restart(animated: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
245 | if sheetCoordinator.items.isEmpty {
246 | await popToRoot(animated: animated)
:
256 | self.animated = animated
257 |
258 | sheetCoordinator = .init()
| |- error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
259 | }
260 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:293:9: error: setter for 'items' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
286 | /// item manager state, triggering UI updates when the navigation stack changes.
287 | @MainActor
288 | func updateItems() async {
| `- note: add @available attribute to enclosing instance method
289 | let itemsManager = await itemManager.getAllItems()
290 |
291 | guard items != itemsManager else { return }
292 |
293 | items = itemsManager
| |- error: setter for 'items' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:28: error: 'Task' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:45: error: 'milliseconds' is only available in macOS 13.0 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'milliseconds' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterType.swift:33:29: error: 'ObservableObject' is only available in macOS 10.15 or newer
31 | /// Routers are responsible for the actual navigation and presentation of
32 | /// views or coordinators within a coordinator-based architecture.
33 | public protocol RouterType: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing protocol
34 |
35 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:34:6: error: 'StateObject' is only available in macOS 11.0 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
32 | // --------------------------------------------------------------------
33 |
34 | @StateObject private var viewModel: Router<C.Route>
| `- error: 'StateObject' is only available in macOS 11.0 or newer
35 | private let coordinator: C
36 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:50:20: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
48 | // --------------------------------------------------------------------
49 |
50 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
51 | ZStack { buildBody() }
52 | .clearModalBackground(coordinator.isTabCoordinable)
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:61:38: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
59 |
60 | @ViewBuilder
61 | private func buildBody() -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
62 | Group {
63 | if coordinator.isTabCoordinable {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:60:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
58 |
59 |
60 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
61 | private func buildBody() -> some View {
| `- note: add @available attribute to enclosing instance method
62 | Group {
63 | if coordinator.isTabCoordinable {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:41: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:41: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:57: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:78:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
76 | }
77 |
78 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:51:9: error: 'ZStack' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
48 | // --------------------------------------------------------------------
49 |
50 | var body: some View {
| `- note: add @available attribute to enclosing property
51 | ZStack { buildBody() }
| |- error: 'ZStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
52 | .clearModalBackground(coordinator.isTabCoordinable)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:67:38: error: cannot assign to property: '$viewModel' is immutable
65 | } else if let mainView = viewModel.mainView {
66 | let view = NavigationStack(
67 | path: $viewModel.items,
| `- error: cannot assign to property: '$viewModel' is immutable
68 | root: { mainView.navigationDestination(for: C.Route.self) { $0 } }
69 | )
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:80:14: error: 'environmentObject' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
| |- error: 'environmentObject' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:83:35: error: 'Task' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
83 | onDissmis: { index in Task(priority: .high) { @MainActor [weak viewModel] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | await viewModel?.removeItemFromSheetCoordinator(at: index)
85 | }},
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:83:35: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
83 | onDissmis: { index in Task(priority: .high) { @MainActor [weak viewModel] in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | await viewModel?.removeItemFromSheetCoordinator(at: index)
85 | }},
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:95:9: error: 'Task' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
92 | // --------------------------------------------------------------------
93 |
94 | private func onChangeItems(_ value: [C.Route]) {
| `- note: add @available attribute to enclosing instance method
95 | Task { await viewModel.syncItems() }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:95:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
92 | // --------------------------------------------------------------------
93 |
94 | private func onChangeItems(_ value: [C.Route]) {
| `- note: add @available attribute to enclosing instance method
95 | Task { await viewModel.syncItems() }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
[35/37] Compiling SUICoordinator Router.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:69:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
67 | /// This represents the root view of the navigation hierarchy. When set, it becomes
68 | /// the base view from which all other navigation operations occur.
69 | @Published public var mainView: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
70 |
71 | /// The array of routes managed by the navigation router.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:76:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
74 | /// corresponds to a view in the navigation hierarchy, with the last item being
75 | /// the currently visible view.
76 | @Published public var items: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
77 |
78 | /// The sheet coordinator for presenting sheets.
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, Route?>' to expected argument type 'ReferenceWritableKeyPath<Router<Route>, Route?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, [Route]>' to expected argument type 'ReferenceWritableKeyPath<Router<Route>, [Route]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, SheetCoordinator<AnyViewAlias>>' (aka 'KeyPath<Router<Route>, SheetCoordinator<any View>>') to expected argument type 'ReferenceWritableKeyPath<Router<Route>, SheetCoordinator<AnyViewAlias>>' (aka 'ReferenceWritableKeyPath<Router<Route>, SheetCoordinator<any View>>')
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:82:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
80 | /// This coordinator manages all modal presentations (sheets, full-screen covers, etc.)
81 | /// and provides a unified interface for modal navigation operations.
82 | @Published public var sheetCoordinator: SheetCoordinator<AnyViewAlias> = .init()
| `- error: 'Published' is only available in macOS 10.15 or newer
83 |
84 | /// Controls whether navigation operations should be animated.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:232:9: error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
228 | /// - withMainView: A boolean value indicating whether to clear the main view.
229 | /// When `true`, the main view is also set to `nil`.
230 | @MainActor public func clean(animated: Bool, withMainView: Bool = true) async -> Void {
| `- note: add @available attribute to enclosing instance method
231 | await popToRoot(animated: false)
232 | sheetCoordinator = .init()
| |- error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
233 |
234 | if withMainView { mainView = nil }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:234:27: error: setter for 'mainView' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
228 | /// - withMainView: A boolean value indicating whether to clear the main view.
229 | /// When `true`, the main view is also set to `nil`.
230 | @MainActor public func clean(animated: Bool, withMainView: Bool = true) async -> Void {
| `- note: add @available attribute to enclosing instance method
231 | await popToRoot(animated: false)
232 | sheetCoordinator = .init()
233 |
234 | if withMainView { mainView = nil }
| |- error: setter for 'mainView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
235 | }
236 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:258:13: error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
242 | /// - Parameters:
243 | /// - animated: A boolean value indicating whether to animate the restart action.
244 | @MainActor public func restart(animated: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
245 | if sheetCoordinator.items.isEmpty {
246 | await popToRoot(animated: animated)
:
256 | self.animated = animated
257 |
258 | sheetCoordinator = .init()
| |- error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
259 | }
260 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:293:9: error: setter for 'items' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
286 | /// item manager state, triggering UI updates when the navigation stack changes.
287 | @MainActor
288 | func updateItems() async {
| `- note: add @available attribute to enclosing instance method
289 | let itemsManager = await itemManager.getAllItems()
290 |
291 | guard items != itemsManager else { return }
292 |
293 | items = itemsManager
| |- error: setter for 'items' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:28: error: 'Task' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:45: error: 'milliseconds' is only available in macOS 13.0 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'milliseconds' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterType.swift:33:29: error: 'ObservableObject' is only available in macOS 10.15 or newer
31 | /// Routers are responsible for the actual navigation and presentation of
32 | /// views or coordinators within a coordinator-based architecture.
33 | public protocol RouterType: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing protocol
34 |
35 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:34:6: error: 'StateObject' is only available in macOS 11.0 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
32 | // --------------------------------------------------------------------
33 |
34 | @StateObject private var viewModel: Router<C.Route>
| `- error: 'StateObject' is only available in macOS 11.0 or newer
35 | private let coordinator: C
36 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:50:20: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
48 | // --------------------------------------------------------------------
49 |
50 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
51 | ZStack { buildBody() }
52 | .clearModalBackground(coordinator.isTabCoordinable)
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:61:38: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
59 |
60 | @ViewBuilder
61 | private func buildBody() -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
62 | Group {
63 | if coordinator.isTabCoordinable {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:60:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
58 |
59 |
60 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
61 | private func buildBody() -> some View {
| `- note: add @available attribute to enclosing instance method
62 | Group {
63 | if coordinator.isTabCoordinable {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:41: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:41: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:57: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:78:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
76 | }
77 |
78 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:51:9: error: 'ZStack' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
48 | // --------------------------------------------------------------------
49 |
50 | var body: some View {
| `- note: add @available attribute to enclosing property
51 | ZStack { buildBody() }
| |- error: 'ZStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
52 | .clearModalBackground(coordinator.isTabCoordinable)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:67:38: error: cannot assign to property: '$viewModel' is immutable
65 | } else if let mainView = viewModel.mainView {
66 | let view = NavigationStack(
67 | path: $viewModel.items,
| `- error: cannot assign to property: '$viewModel' is immutable
68 | root: { mainView.navigationDestination(for: C.Route.self) { $0 } }
69 | )
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:80:14: error: 'environmentObject' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
| |- error: 'environmentObject' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:83:35: error: 'Task' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
83 | onDissmis: { index in Task(priority: .high) { @MainActor [weak viewModel] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | await viewModel?.removeItemFromSheetCoordinator(at: index)
85 | }},
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:83:35: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
83 | onDissmis: { index in Task(priority: .high) { @MainActor [weak viewModel] in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | await viewModel?.removeItemFromSheetCoordinator(at: index)
85 | }},
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:95:9: error: 'Task' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
92 | // --------------------------------------------------------------------
93 |
94 | private func onChangeItems(_ value: [C.Route]) {
| `- note: add @available attribute to enclosing instance method
95 | Task { await viewModel.syncItems() }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:95:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
92 | // --------------------------------------------------------------------
93 |
94 | private func onChangeItems(_ value: [C.Route]) {
| `- note: add @available attribute to enclosing instance method
95 | Task { await viewModel.syncItems() }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
[36/37] Compiling SUICoordinator RouterType.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:69:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
67 | /// This represents the root view of the navigation hierarchy. When set, it becomes
68 | /// the base view from which all other navigation operations occur.
69 | @Published public var mainView: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
70 |
71 | /// The array of routes managed by the navigation router.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:76:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
74 | /// corresponds to a view in the navigation hierarchy, with the last item being
75 | /// the currently visible view.
76 | @Published public var items: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
77 |
78 | /// The sheet coordinator for presenting sheets.
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, Route?>' to expected argument type 'ReferenceWritableKeyPath<Router<Route>, Route?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, [Route]>' to expected argument type 'ReferenceWritableKeyPath<Router<Route>, [Route]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, SheetCoordinator<AnyViewAlias>>' (aka 'KeyPath<Router<Route>, SheetCoordinator<any View>>') to expected argument type 'ReferenceWritableKeyPath<Router<Route>, SheetCoordinator<AnyViewAlias>>' (aka 'ReferenceWritableKeyPath<Router<Route>, SheetCoordinator<any View>>')
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:82:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
80 | /// This coordinator manages all modal presentations (sheets, full-screen covers, etc.)
81 | /// and provides a unified interface for modal navigation operations.
82 | @Published public var sheetCoordinator: SheetCoordinator<AnyViewAlias> = .init()
| `- error: 'Published' is only available in macOS 10.15 or newer
83 |
84 | /// Controls whether navigation operations should be animated.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:232:9: error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
228 | /// - withMainView: A boolean value indicating whether to clear the main view.
229 | /// When `true`, the main view is also set to `nil`.
230 | @MainActor public func clean(animated: Bool, withMainView: Bool = true) async -> Void {
| `- note: add @available attribute to enclosing instance method
231 | await popToRoot(animated: false)
232 | sheetCoordinator = .init()
| |- error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
233 |
234 | if withMainView { mainView = nil }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:234:27: error: setter for 'mainView' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
228 | /// - withMainView: A boolean value indicating whether to clear the main view.
229 | /// When `true`, the main view is also set to `nil`.
230 | @MainActor public func clean(animated: Bool, withMainView: Bool = true) async -> Void {
| `- note: add @available attribute to enclosing instance method
231 | await popToRoot(animated: false)
232 | sheetCoordinator = .init()
233 |
234 | if withMainView { mainView = nil }
| |- error: setter for 'mainView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
235 | }
236 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:258:13: error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
242 | /// - Parameters:
243 | /// - animated: A boolean value indicating whether to animate the restart action.
244 | @MainActor public func restart(animated: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
245 | if sheetCoordinator.items.isEmpty {
246 | await popToRoot(animated: animated)
:
256 | self.animated = animated
257 |
258 | sheetCoordinator = .init()
| |- error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
259 | }
260 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:293:9: error: setter for 'items' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
286 | /// item manager state, triggering UI updates when the navigation stack changes.
287 | @MainActor
288 | func updateItems() async {
| `- note: add @available attribute to enclosing instance method
289 | let itemsManager = await itemManager.getAllItems()
290 |
291 | guard items != itemsManager else { return }
292 |
293 | items = itemsManager
| |- error: setter for 'items' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:28: error: 'Task' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:45: error: 'milliseconds' is only available in macOS 13.0 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'milliseconds' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterType.swift:33:29: error: 'ObservableObject' is only available in macOS 10.15 or newer
31 | /// Routers are responsible for the actual navigation and presentation of
32 | /// views or coordinators within a coordinator-based architecture.
33 | public protocol RouterType: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing protocol
34 |
35 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:34:6: error: 'StateObject' is only available in macOS 11.0 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
32 | // --------------------------------------------------------------------
33 |
34 | @StateObject private var viewModel: Router<C.Route>
| `- error: 'StateObject' is only available in macOS 11.0 or newer
35 | private let coordinator: C
36 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:50:20: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
48 | // --------------------------------------------------------------------
49 |
50 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
51 | ZStack { buildBody() }
52 | .clearModalBackground(coordinator.isTabCoordinable)
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:61:38: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
59 |
60 | @ViewBuilder
61 | private func buildBody() -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
62 | Group {
63 | if coordinator.isTabCoordinable {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:60:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
58 |
59 |
60 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
61 | private func buildBody() -> some View {
| `- note: add @available attribute to enclosing instance method
62 | Group {
63 | if coordinator.isTabCoordinable {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:41: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:41: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:57: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:78:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
76 | }
77 |
78 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:51:9: error: 'ZStack' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
48 | // --------------------------------------------------------------------
49 |
50 | var body: some View {
| `- note: add @available attribute to enclosing property
51 | ZStack { buildBody() }
| |- error: 'ZStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
52 | .clearModalBackground(coordinator.isTabCoordinable)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:67:38: error: cannot assign to property: '$viewModel' is immutable
65 | } else if let mainView = viewModel.mainView {
66 | let view = NavigationStack(
67 | path: $viewModel.items,
| `- error: cannot assign to property: '$viewModel' is immutable
68 | root: { mainView.navigationDestination(for: C.Route.self) { $0 } }
69 | )
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:80:14: error: 'environmentObject' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
| |- error: 'environmentObject' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:83:35: error: 'Task' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
83 | onDissmis: { index in Task(priority: .high) { @MainActor [weak viewModel] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | await viewModel?.removeItemFromSheetCoordinator(at: index)
85 | }},
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:83:35: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
83 | onDissmis: { index in Task(priority: .high) { @MainActor [weak viewModel] in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | await viewModel?.removeItemFromSheetCoordinator(at: index)
85 | }},
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:95:9: error: 'Task' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
92 | // --------------------------------------------------------------------
93 |
94 | private func onChangeItems(_ value: [C.Route]) {
| `- note: add @available attribute to enclosing instance method
95 | Task { await viewModel.syncItems() }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:95:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
92 | // --------------------------------------------------------------------
93 |
94 | private func onChangeItems(_ value: [C.Route]) {
| `- note: add @available attribute to enclosing instance method
95 | Task { await viewModel.syncItems() }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
[37/37] Compiling SUICoordinator RouterView.swift
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:69:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
67 | /// This represents the root view of the navigation hierarchy. When set, it becomes
68 | /// the base view from which all other navigation operations occur.
69 | @Published public var mainView: Route?
| `- error: 'Published' is only available in macOS 10.15 or newer
70 |
71 | /// The array of routes managed by the navigation router.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:76:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
74 | /// corresponds to a view in the navigation hierarchy, with the last item being
75 | /// the currently visible view.
76 | @Published public var items: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
77 |
78 | /// The sheet coordinator for presenting sheets.
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, Route?>' to expected argument type 'ReferenceWritableKeyPath<Router<Route>, Route?>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, [Route]>' to expected argument type 'ReferenceWritableKeyPath<Router<Route>, [Route]>'
<unknown>:0: error: cannot convert value of type 'KeyPath<Router<Route>, SheetCoordinator<AnyViewAlias>>' (aka 'KeyPath<Router<Route>, SheetCoordinator<any View>>') to expected argument type 'ReferenceWritableKeyPath<Router<Route>, SheetCoordinator<AnyViewAlias>>' (aka 'ReferenceWritableKeyPath<Router<Route>, SheetCoordinator<any View>>')
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:82:6: error: 'Published' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
80 | /// This coordinator manages all modal presentations (sheets, full-screen covers, etc.)
81 | /// and provides a unified interface for modal navigation operations.
82 | @Published public var sheetCoordinator: SheetCoordinator<AnyViewAlias> = .init()
| `- error: 'Published' is only available in macOS 10.15 or newer
83 |
84 | /// Controls whether navigation operations should be animated.
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:232:9: error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
228 | /// - withMainView: A boolean value indicating whether to clear the main view.
229 | /// When `true`, the main view is also set to `nil`.
230 | @MainActor public func clean(animated: Bool, withMainView: Bool = true) async -> Void {
| `- note: add @available attribute to enclosing instance method
231 | await popToRoot(animated: false)
232 | sheetCoordinator = .init()
| |- error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
233 |
234 | if withMainView { mainView = nil }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:234:27: error: setter for 'mainView' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
228 | /// - withMainView: A boolean value indicating whether to clear the main view.
229 | /// When `true`, the main view is also set to `nil`.
230 | @MainActor public func clean(animated: Bool, withMainView: Bool = true) async -> Void {
| `- note: add @available attribute to enclosing instance method
231 | await popToRoot(animated: false)
232 | sheetCoordinator = .init()
233 |
234 | if withMainView { mainView = nil }
| |- error: setter for 'mainView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
235 | }
236 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:258:13: error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
242 | /// - Parameters:
243 | /// - animated: A boolean value indicating whether to animate the restart action.
244 | @MainActor public func restart(animated: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
245 | if sheetCoordinator.items.isEmpty {
246 | await popToRoot(animated: animated)
:
256 | self.animated = animated
257 |
258 | sheetCoordinator = .init()
| |- error: setter for 'sheetCoordinator' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
259 | }
260 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:293:9: error: setter for 'items' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
286 | /// item manager state, triggering UI updates when the navigation stack changes.
287 | @MainActor
288 | func updateItems() async {
| `- note: add @available attribute to enclosing instance method
289 | let itemsManager = await itemManager.getAllItems()
290 |
291 | guard items != itemsManager else { return }
292 |
293 | items = itemsManager
| |- error: setter for 'items' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
294 | }
295 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:28: error: 'Task' is only available in macOS 10.15 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:33: error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'sleep(for:tolerance:clock:)' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/Router.swift:333:45: error: 'milliseconds' is only available in macOS 13.0 or newer
57 | /// await router.pop(animated: true)
58 | /// ```
59 | public class Router<Route: RouteType>: ObservableObject, RouterType {
| `- note: add @available attribute to enclosing generic class
60 |
61 | // --------------------------------------------------------------------
:
327 | /// - finishFlow: A boolean value indicating whether to finish the associated flow.
328 | /// Currently unused but reserved for future functionality.
329 | @MainActor internal func close(animated: Bool, finishFlow: Bool) async -> Void {
| `- note: add @available attribute to enclosing instance method
330 | if !(await sheetCoordinator.areEmptyItems) {
331 | await dismiss(animated: animated)
332 | if finishFlow {
333 | try? await Task.sleep(for: .milliseconds(animated ? 600 : 100))
| |- error: 'milliseconds' is only available in macOS 13.0 or newer
| `- note: add 'if #available' version check
334 | }
335 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterType.swift:33:29: error: 'ObservableObject' is only available in macOS 10.15 or newer
31 | /// Routers are responsible for the actual navigation and presentation of
32 | /// views or coordinators within a coordinator-based architecture.
33 | public protocol RouterType: ObservableObject {
| | `- error: 'ObservableObject' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing protocol
34 |
35 | // --------------------------------------------------------------------
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:34:6: error: 'StateObject' is only available in macOS 11.0 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
32 | // --------------------------------------------------------------------
33 |
34 | @StateObject private var viewModel: Router<C.Route>
| `- error: 'StateObject' is only available in macOS 11.0 or newer
35 | private let coordinator: C
36 |
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:50:20: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
48 | // --------------------------------------------------------------------
49 |
50 | var body: some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing property
51 | ZStack { buildBody() }
52 | .clearModalBackground(coordinator.isTabCoordinable)
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:61:38: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
59 |
60 | @ViewBuilder
61 | private func buildBody() -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
62 | Group {
63 | if coordinator.isTabCoordinable {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:60:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
58 |
59 |
60 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
61 | private func buildBody() -> some View {
| `- note: add @available attribute to enclosing instance method
62 | Group {
63 | if coordinator.isTabCoordinable {
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:41: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:41: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:79:57: error: 'View' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:78:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
76 | }
77 |
78 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:51:9: error: 'ZStack' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
48 | // --------------------------------------------------------------------
49 |
50 | var body: some View {
| `- note: add @available attribute to enclosing property
51 | ZStack { buildBody() }
| |- error: 'ZStack' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
52 | .clearModalBackground(coordinator.isTabCoordinable)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:67:38: error: cannot assign to property: '$viewModel' is immutable
65 | } else if let mainView = viewModel.mainView {
66 | let view = NavigationStack(
67 | path: $viewModel.items,
| `- error: cannot assign to property: '$viewModel' is immutable
68 | root: { mainView.navigationDestination(for: C.Route.self) { $0 } }
69 | )
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:80:14: error: 'environmentObject' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
| |- error: 'environmentObject' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:83:35: error: 'Task' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
83 | onDissmis: { index in Task(priority: .high) { @MainActor [weak viewModel] in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | await viewModel?.removeItemFromSheetCoordinator(at: index)
85 | }},
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:83:35: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
77 |
78 | @ViewBuilder
79 | private func addSheetTo(view: (some View)?) -> some View {
| `- note: add @available attribute to enclosing instance method
80 | view.environmentObject(coordinator)
81 | .sheetCoordinator(
82 | coordinator: viewModel.sheetCoordinator,
83 | onDissmis: { index in Task(priority: .high) { @MainActor [weak viewModel] in
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
84 | await viewModel?.removeItemFromSheetCoordinator(at: index)
85 | }},
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:95:9: error: 'Task' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
92 | // --------------------------------------------------------------------
93 |
94 | private func onChangeItems(_ value: [C.Route]) {
| `- note: add @available attribute to enclosing instance method
95 | Task { await viewModel.syncItems() }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/SUICoordinator/Router/RouterView.swift:95:9: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
26 | import Combine
27 |
28 | struct RouterView<C: CoordinatorType>: View {
| `- note: add @available attribute to enclosing generic struct
29 |
30 | // --------------------------------------------------------------------
:
92 | // --------------------------------------------------------------------
93 |
94 | private func onChangeItems(_ value: [C.Route]) {
| `- note: add @available attribute to enclosing instance method
95 | Task { await viewModel.syncItems() }
| |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
BUILD FAILURE 6.0 macosSpm