Build Information
Failed to build NavigationManager, reference v2.0.0 (8e43b0), with Swift 6.3 for macOS (SPM) on 16 Apr 2026 02:12:30 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Kim-Min-Hyeok/NavigationManager.git
Reference: v2.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Kim-Min-Hyeok/NavigationManager
* tag v2.0.0 -> FETCH_HEAD
HEAD is now at 8e43b06 [Deploy]: v2.0.0 Change log
Cloned https://github.com/Kim-Min-Hyeok/NavigationManager.git
Revision (git rev-parse @):
8e43b062b5e0b3818eac25934c0a13b8bee6ac39
SUCCESS checkout https://github.com/Kim-Min-Hyeok/NavigationManager.git at v2.0.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"traits": [
"default"
],
"dependencies": [
{
"identity": "navigationmanager",
"name": "NavigationManager",
"url": "https://github.com/Kim-Min-Hyeok/NavigationManager.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/NavigationManager",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/Kim-Min-Hyeok/NavigationManager.git
[1/141] Fetching navigationmanager
Fetched https://github.com/Kim-Min-Hyeok/NavigationManager.git from cache (0.65s)
Creating working copy for https://github.com/Kim-Min-Hyeok/NavigationManager.git
Working copy of https://github.com/Kim-Min-Hyeok/NavigationManager.git resolved at v2.0.0 (8e43b06)
warning: '.resolve-product-dependencies': dependency 'navigationmanager' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/Kim-Min-Hyeok/NavigationManager.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--6988338F2F200930.txt
[3/10] Compiling NavigationManager RouteEntry.swift
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/RouteEntry.swift:16:47: error: 'AnyView' is only available in macOS 10.15 or newer
11 | /// 각 경로에 대한 정보를 담는 구조체
12 | @available(iOS 16.0, *)
13 | public struct RouteEntry {
| `- note: add '@available' attribute to enclosing struct
14 | public let name: String
15 | /// 사용자가 지정한 뷰 클로저. 인자가 필요한 경우 AnyHashable?를 전달받아 사용할 수 있음
16 | public let viewBuilder: (AnyHashable?) -> AnyView
| `- error: 'AnyView' is only available in macOS 10.15 or newer
17 |
18 | public init<V: View>(name: String, view: @escaping (AnyHashable?) -> V) {
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/RouteEntry.swift:18:20: error: 'View' is only available in macOS 10.15 or newer
11 | /// 각 경로에 대한 정보를 담는 구조체
12 | @available(iOS 16.0, *)
13 | public struct RouteEntry {
| `- note: add '@available' attribute to enclosing struct
14 | public let name: String
15 | /// 사용자가 지정한 뷰 클로저. 인자가 필요한 경우 AnyHashable?를 전달받아 사용할 수 있음
16 | public let viewBuilder: (AnyHashable?) -> AnyView
17 |
18 | public init<V: View>(name: String, view: @escaping (AnyHashable?) -> V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
19 | self.name = name
20 | self.viewBuilder = { arguments in AnyView(view(arguments)) }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/RouteEntry.swift:20:43: error: 'AnyView' is only available in macOS 10.15 or newer
11 | /// 각 경로에 대한 정보를 담는 구조체
12 | @available(iOS 16.0, *)
13 | public struct RouteEntry {
| `- note: add '@available' attribute to enclosing struct
14 | public let name: String
15 | /// 사용자가 지정한 뷰 클로저. 인자가 필요한 경우 AnyHashable?를 전달받아 사용할 수 있음
16 | public let viewBuilder: (AnyHashable?) -> AnyView
17 |
18 | public init<V: View>(name: String, view: @escaping (AnyHashable?) -> V) {
| `- note: add '@available' attribute to enclosing initializer
19 | self.name = name
20 | self.viewBuilder = { arguments in AnyView(view(arguments)) }
| |- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
21 | }
22 | }
[4/10] Compiling NavigationManager Route.swift
[5/10] Compiling NavigationManager NavigationManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:17:6: error: 'StateObject' is only available in macOS 11.0 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
15 | private let unknownRouteHandler: UnknownRouteHandler
16 |
17 | @StateObject private var router = NavigationRouter()
| `- error: 'StateObject' is only available in macOS 11.0 or newer
18 |
19 | // 배포용 (내부 router 사용): 사용자 정의 unknown 없는 경우
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:31:26: error: 'View' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
29 |
30 | // 배포용 (내부 router 사용): 사용자 정의 unknown 있는 경우
31 | public init<Unknown: View>(initialRoute: String,
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
32 | routes: [RouteEntry],
33 | unknown: Unknown/*,
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:52:27: error: 'View' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
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 | NavigationStack(path: $router.path) {
54 | // 초기 화면을 표시 (initialRoute)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:69:86: error: 'View' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
67 |
68 | @ViewBuilder
69 | internal func view(for routeName: String, arguments: AnyHashable? = nil) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
70 | if let entry = routes.first(where: { $0.name == routeName }) {
71 | entry.viewBuilder(arguments)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:68:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
66 | }
67 |
68 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
69 | internal func view(for routeName: String, arguments: AnyHashable? = nil) -> some View {
| `- note: add '@available' attribute to enclosing instance method
70 | if let entry = routes.first(where: { $0.name == routeName }) {
71 | entry.viewBuilder(arguments)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:27:19: error: 'StateObject' is only available in macOS 11.0 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
18 |
19 | // 배포용 (내부 router 사용): 사용자 정의 unknown 없는 경우
20 | public init(initialRoute: String,
| `- note: add '@available' attribute to enclosing initializer
21 | routes: [RouteEntry]/*,
22 | transitionAnimation: Animation? = .default*/) {
:
25 | // DefaultUnknownRouteHandler 내장 에러 뷰 사용
26 | self.unknownRouteHandler = DefaultUnknownRouteHandler()
27 | _router = StateObject(wrappedValue: NavigationRouter(/*animation: transitionAnimation*/))
| |- error: 'StateObject' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
28 | }
29 |
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:37:74: error: 'AnyView' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
29 |
30 | // 배포용 (내부 router 사용): 사용자 정의 unknown 있는 경우
31 | public init<Unknown: View>(initialRoute: String,
| `- note: add '@available' attribute to enclosing initializer
32 | routes: [RouteEntry],
33 | unknown: Unknown/*,
:
35 | self.initialRoute = initialRoute
36 | self.routes = routes
37 | self.unknownRouteHandler = CustomUnknownRouteHandler(customView: AnyView(unknown))
| |- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
38 | _router = StateObject(wrappedValue: NavigationRouter(/*animation: transitionAnimation*/))
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:38:19: error: 'StateObject' is only available in macOS 11.0 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
29 |
30 | // 배포용 (내부 router 사용): 사용자 정의 unknown 있는 경우
31 | public init<Unknown: View>(initialRoute: String,
| `- note: add '@available' attribute to enclosing initializer
32 | routes: [RouteEntry],
33 | unknown: Unknown/*,
:
36 | self.routes = routes
37 | self.unknownRouteHandler = CustomUnknownRouteHandler(customView: AnyView(unknown))
38 | _router = StateObject(wrappedValue: NavigationRouter(/*animation: transitionAnimation*/))
| |- error: 'StateObject' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
39 | }
40 |
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:49:19: error: 'StateObject' is only available in macOS 11.0 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
40 |
41 | // 테스트용 (외부 router 주입)
42 | public init(initialRoute: String,
| `- note: add '@available' attribute to enclosing initializer
43 | routes: [RouteEntry],
44 | router: NavigationRouter,
:
47 | self.routes = routes
48 | self.unknownRouteHandler = unknownRouteHandler
49 | _router = StateObject(wrappedValue: router)
| |- error: 'StateObject' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
50 | }
51 |
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:53:39: error: cannot assign to property: '$router' is immutable
51 |
52 | public var body: some View {
53 | NavigationStack(path: $router.path) {
| `- error: cannot assign to property: '$router' is immutable
54 | // 초기 화면을 표시 (initialRoute)
55 | view(for: initialRoute)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:70:70: error: 'buildEither(first:)' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
67 |
68 | @ViewBuilder
69 | internal func view(for routeName: String, arguments: AnyHashable? = nil) -> some View {
| `- note: add '@available' attribute to enclosing instance method
70 | if let entry = routes.first(where: { $0.name == routeName }) {
| |- error: 'buildEither(first:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
71 | entry.viewBuilder(arguments)
72 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:72:16: error: 'buildEither(second:)' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
67 |
68 | @ViewBuilder
69 | internal func view(for routeName: String, arguments: AnyHashable? = nil) -> some View {
| `- note: add '@available' attribute to enclosing instance method
70 | if let entry = routes.first(where: { $0.name == routeName }) {
71 | entry.viewBuilder(arguments)
72 | } else {
| |- error: 'buildEither(second:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
73 | unknownRouteHandler.handleUnknownRoute(for: routeName)
74 | }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:69:91: error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
67 |
68 | @ViewBuilder
69 | internal func view(for routeName: String, arguments: AnyHashable? = nil) -> some View {
| | |- error: conformance of '_ConditionalContent<TrueContent, FalseContent>' to 'View' is only available in macOS 10.15 or newer
| | `- note: add 'if #available' version check
| `- note: add '@available' attribute to enclosing instance method
70 | if let entry = routes.first(where: { $0.name == routeName }) {
71 | entry.viewBuilder(arguments)
[6/10] Compiling NavigationManager NavigationRouter.swift
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationRouter.swift:16:6: error: 'Published' is only available in macOS 10.15 or newer
12 | /// iOS 13.0 이상에서만 사용 가능
13 | @available(iOS 16.0, *)
14 | public final class NavigationRouter: ObservableObject {
| `- note: add '@available' attribute to enclosing class
15 | /// NavigationStack에서 관리할 경로 배열
16 | @Published public var path: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
17 |
18 | /// 애니메이션 관련
<unknown>:0: error: cannot convert value of type 'any KeyPath<NavigationRouter, [Route]> & Sendable' to expected argument type 'ReferenceWritableKeyPath<NavigationRouter, [Route]>'
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationRouter.swift:29:13: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
12 | /// iOS 13.0 이상에서만 사용 가능
13 | @available(iOS 16.0, *)
14 | public final class NavigationRouter: ObservableObject {
| `- note: add '@available' attribute to enclosing class
15 | /// NavigationStack에서 관리할 경로 배열
16 | @Published public var path: [Route] = []
:
24 |
25 | /// 해당 경로로 이동 (push)
26 | public func toNamed(_ route: String, arguments: AnyHashable? = nil/*, animation: Animation? = nil*/) {
| `- note: add '@available' attribute to enclosing instance method
27 | let newRoute = Route(name: route, arguments: arguments)
28 | // withAnimation(animation ?? defaultTransitionAnimation) {
29 | path.append(newRoute)
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
30 | // }
31 | }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationRouter.swift:36:17: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
12 | /// iOS 13.0 이상에서만 사용 가능
13 | @available(iOS 16.0, *)
14 | public final class NavigationRouter: ObservableObject {
| `- note: add '@available' attribute to enclosing class
15 | /// NavigationStack에서 관리할 경로 배열
16 | @Published public var path: [Route] = []
:
32 |
33 | /// 뒤로가기 (pop)
34 | public func back(/*animation: Animation? = nil*/) {
| `- note: add '@available' attribute to enclosing instance method
35 | // withAnimation(animation ?? defaultTransitionAnimation) {
36 | _ = path.popLast()
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
37 | // }
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationRouter.swift:43:36: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
12 | /// iOS 13.0 이상에서만 사용 가능
13 | @available(iOS 16.0, *)
14 | public final class NavigationRouter: ObservableObject {
| `- note: add '@available' attribute to enclosing class
15 | /// NavigationStack에서 관리할 경로 배열
16 | @Published public var path: [Route] = []
:
39 |
40 | /// 현재 화면을 제거하고 해당 경로로 이동 (replace)
41 | public func offNamed(_ route: String, arguments: AnyHashable? = nil/*, animation: Animation? = nil*/) {
| `- note: add '@available' attribute to enclosing instance method
42 | // withAnimation(animation ?? defaultTransitionAnimation) {
43 | if !path.isEmpty { _ = path.popLast() }
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 | path.append(Route(name: route, arguments: arguments))
45 | // }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationRouter.swift:44:13: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
12 | /// iOS 13.0 이상에서만 사용 가능
13 | @available(iOS 16.0, *)
14 | public final class NavigationRouter: ObservableObject {
| `- note: add '@available' attribute to enclosing class
15 | /// NavigationStack에서 관리할 경로 배열
16 | @Published public var path: [Route] = []
:
39 |
40 | /// 현재 화면을 제거하고 해당 경로로 이동 (replace)
41 | public func offNamed(_ route: String, arguments: AnyHashable? = nil/*, animation: Animation? = nil*/) {
| `- note: add '@available' attribute to enclosing instance method
42 | // withAnimation(animation ?? defaultTransitionAnimation) {
43 | if !path.isEmpty { _ = path.popLast() }
44 | path.append(Route(name: route, arguments: arguments))
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
45 | // }
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationRouter.swift:51:13: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
12 | /// iOS 13.0 이상에서만 사용 가능
13 | @available(iOS 16.0, *)
14 | public final class NavigationRouter: ObservableObject {
| `- note: add '@available' attribute to enclosing class
15 | /// NavigationStack에서 관리할 경로 배열
16 | @Published public var path: [Route] = []
:
47 |
48 | /// 전체 스택을 비우고 해당 경로를 새 루트로 설정
49 | public func offAll(_ route: String, arguments: AnyHashable? = nil/*, animation: Animation? = nil*/) {
| `- note: add '@available' attribute to enclosing instance method
50 | // withAnimation(animation ?? defaultTransitionAnimation) {
51 | path.removeAll()
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
52 | path.append(Route(name: route, arguments: arguments))
53 | // }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationRouter.swift:52:13: error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
12 | /// iOS 13.0 이상에서만 사용 가능
13 | @available(iOS 16.0, *)
14 | public final class NavigationRouter: ObservableObject {
| `- note: add '@available' attribute to enclosing class
15 | /// NavigationStack에서 관리할 경로 배열
16 | @Published public var path: [Route] = []
:
47 |
48 | /// 전체 스택을 비우고 해당 경로를 새 루트로 설정
49 | public func offAll(_ route: String, arguments: AnyHashable? = nil/*, animation: Animation? = nil*/) {
| `- note: add '@available' attribute to enclosing instance method
50 | // withAnimation(animation ?? defaultTransitionAnimation) {
51 | path.removeAll()
52 | path.append(Route(name: route, arguments: arguments))
| |- error: cannot pass as inout because setter for 'path' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
53 | // }
54 | }
[7/10] Compiling NavigationManager UnknownRouteHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:13:55: error: 'AnyView' is only available in macOS 10.15 or newer
9 |
10 | /// 알 수 없는 경로 상황에서 보여줄 뷰를 제공하기 위한 프로토콜
11 | public protocol UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing protocol
12 | //// 알 수 없는 경로일 때 호출되어 뷰를 반환
13 | func handleUnknownRoute(for routeName: String) -> AnyView
| | `- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:17:21: error: 'AnyView' is only available in macOS 10.15 or newer
14 | }
15 |
16 | public struct CustomUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
17 | let customView: AnyView
| `- error: 'AnyView' is only available in macOS 10.15 or newer
18 | private let errorLogger: NavigationErrorLogger
19 |
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:20:29: error: 'AnyView' is only available in macOS 10.15 or newer
14 | }
15 |
16 | public struct CustomUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
17 | let customView: AnyView
18 | private let errorLogger: NavigationErrorLogger
19 |
20 | public init(customView: AnyView, errorLogger: NavigationErrorLogger = DefaultNavigationErrorLogger()) {
| | `- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
21 | self.errorLogger = errorLogger
22 | self.customView = customView
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:25:62: error: 'AnyView' is only available in macOS 10.15 or newer
14 | }
15 |
16 | public struct CustomUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
17 | let customView: AnyView
18 | private let errorLogger: NavigationErrorLogger
:
23 | }
24 |
25 | public func handleUnknownRoute(for routeName: String) -> AnyView {
| | `- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
26 | let error = NavigationError.unknownRouteError(routeName)
27 | errorLogger.logError(error)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:40:62: error: 'AnyView' is only available in macOS 10.15 or newer
31 |
32 | /// 기본 구현체: 에러 로그를 기록한 후 단순 텍스트 뷰 반환
33 | public struct DefaultUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
34 | private let errorLogger: NavigationErrorLogger
35 |
:
38 | }
39 |
40 | public func handleUnknownRoute(for routeName: String) -> AnyView {
| | `- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
41 | let error = NavigationError.unknownRouteError(routeName)
42 | errorLogger.logError(error)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:43:16: error: 'AnyView' is only available in macOS 10.15 or newer
31 |
32 | /// 기본 구현체: 에러 로그를 기록한 후 단순 텍스트 뷰 반환
33 | public struct DefaultUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
34 | private let errorLogger: NavigationErrorLogger
35 |
:
38 | }
39 |
40 | public func handleUnknownRoute(for routeName: String) -> AnyView {
| `- note: add '@available' attribute to enclosing instance method
41 | let error = NavigationError.unknownRouteError(routeName)
42 | errorLogger.logError(error)
43 | return AnyView(Text("Unknown route encountered: \(routeName)"))
| |- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 | }
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:43:16: error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
31 |
32 | /// 기본 구현체: 에러 로그를 기록한 후 단순 텍스트 뷰 반환
33 | public struct DefaultUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
34 | private let errorLogger: NavigationErrorLogger
35 |
:
38 | }
39 |
40 | public func handleUnknownRoute(for routeName: String) -> AnyView {
| `- note: add '@available' attribute to enclosing instance method
41 | let error = NavigationError.unknownRouteError(routeName)
42 | errorLogger.logError(error)
43 | return AnyView(Text("Unknown route encountered: \(routeName)"))
| |- error: conformance of 'Text' to 'View' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 | }
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:43:24: error: 'Text' is only available in macOS 10.15 or newer
31 |
32 | /// 기본 구현체: 에러 로그를 기록한 후 단순 텍스트 뷰 반환
33 | public struct DefaultUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
34 | private let errorLogger: NavigationErrorLogger
35 |
:
38 | }
39 |
40 | public func handleUnknownRoute(for routeName: String) -> AnyView {
| `- note: add '@available' attribute to enclosing instance method
41 | let error = NavigationError.unknownRouteError(routeName)
42 | errorLogger.logError(error)
43 | return AnyView(Text("Unknown route encountered: \(routeName)"))
| |- error: 'Text' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
44 | }
45 | }
[8/10] Compiling NavigationManager NavigatonErrorLogger.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/10] Compiling NavigationManager NavigationError.swift
[10/10] Emitting module NavigationManager
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:13:55: error: 'AnyView' is only available in macOS 10.15 or newer
9 |
10 | /// 알 수 없는 경로 상황에서 보여줄 뷰를 제공하기 위한 프로토콜
11 | public protocol UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing protocol
12 | //// 알 수 없는 경로일 때 호출되어 뷰를 반환
13 | func handleUnknownRoute(for routeName: String) -> AnyView
| | `- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
14 | }
15 |
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:17:21: error: 'AnyView' is only available in macOS 10.15 or newer
14 | }
15 |
16 | public struct CustomUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
17 | let customView: AnyView
| `- error: 'AnyView' is only available in macOS 10.15 or newer
18 | private let errorLogger: NavigationErrorLogger
19 |
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:20:29: error: 'AnyView' is only available in macOS 10.15 or newer
14 | }
15 |
16 | public struct CustomUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
17 | let customView: AnyView
18 | private let errorLogger: NavigationErrorLogger
19 |
20 | public init(customView: AnyView, errorLogger: NavigationErrorLogger = DefaultNavigationErrorLogger()) {
| | `- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
21 | self.errorLogger = errorLogger
22 | self.customView = customView
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:25:62: error: 'AnyView' is only available in macOS 10.15 or newer
14 | }
15 |
16 | public struct CustomUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
17 | let customView: AnyView
18 | private let errorLogger: NavigationErrorLogger
:
23 | }
24 |
25 | public func handleUnknownRoute(for routeName: String) -> AnyView {
| | `- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
26 | let error = NavigationError.unknownRouteError(routeName)
27 | errorLogger.logError(error)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationErrors/UnknownRouteHandler.swift:40:62: error: 'AnyView' is only available in macOS 10.15 or newer
31 |
32 | /// 기본 구현체: 에러 로그를 기록한 후 단순 텍스트 뷰 반환
33 | public struct DefaultUnknownRouteHandler: UnknownRouteHandler {
| `- note: add '@available' attribute to enclosing struct
34 | private let errorLogger: NavigationErrorLogger
35 |
:
38 | }
39 |
40 | public func handleUnknownRoute(for routeName: String) -> AnyView {
| | `- error: 'AnyView' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
41 | let error = NavigationError.unknownRouteError(routeName)
42 | errorLogger.logError(error)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:17:6: error: 'StateObject' is only available in macOS 11.0 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
15 | private let unknownRouteHandler: UnknownRouteHandler
16 |
17 | @StateObject private var router = NavigationRouter()
| `- error: 'StateObject' is only available in macOS 11.0 or newer
18 |
19 | // 배포용 (내부 router 사용): 사용자 정의 unknown 없는 경우
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:31:26: error: 'View' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
29 |
30 | // 배포용 (내부 router 사용): 사용자 정의 unknown 있는 경우
31 | public init<Unknown: View>(initialRoute: String,
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
32 | routes: [RouteEntry],
33 | unknown: Unknown/*,
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:52:27: error: 'View' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
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 | NavigationStack(path: $router.path) {
54 | // 초기 화면을 표시 (initialRoute)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:69:86: error: 'View' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
67 |
68 | @ViewBuilder
69 | internal func view(for routeName: String, arguments: AnyHashable? = nil) -> some View {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing instance method
70 | if let entry = routes.first(where: { $0.name == routeName }) {
71 | entry.viewBuilder(arguments)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationManager.swift:68:6: error: 'ViewBuilder' is only available in macOS 10.15 or newer
8 | /// iOS 13.0 이상에서만 사용 가능
9 | @available(iOS 16.0, *)
10 | public struct NavigationManager: View {
| `- note: add '@available' attribute to enclosing struct
11 | private let initialRoute: String
12 | private let routes: [RouteEntry]
:
66 | }
67 |
68 | @ViewBuilder
| `- error: 'ViewBuilder' is only available in macOS 10.15 or newer
69 | internal func view(for routeName: String, arguments: AnyHashable? = nil) -> some View {
| `- note: add '@available' attribute to enclosing instance method
70 | if let entry = routes.first(where: { $0.name == routeName }) {
71 | entry.viewBuilder(arguments)
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/NavigationRouter.swift:16:6: error: 'Published' is only available in macOS 10.15 or newer
12 | /// iOS 13.0 이상에서만 사용 가능
13 | @available(iOS 16.0, *)
14 | public final class NavigationRouter: ObservableObject {
| `- note: add '@available' attribute to enclosing class
15 | /// NavigationStack에서 관리할 경로 배열
16 | @Published public var path: [Route] = []
| `- error: 'Published' is only available in macOS 10.15 or newer
17 |
18 | /// 애니메이션 관련
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/RouteEntry.swift:16:47: error: 'AnyView' is only available in macOS 10.15 or newer
11 | /// 각 경로에 대한 정보를 담는 구조체
12 | @available(iOS 16.0, *)
13 | public struct RouteEntry {
| `- note: add '@available' attribute to enclosing struct
14 | public let name: String
15 | /// 사용자가 지정한 뷰 클로저. 인자가 필요한 경우 AnyHashable?를 전달받아 사용할 수 있음
16 | public let viewBuilder: (AnyHashable?) -> AnyView
| `- error: 'AnyView' is only available in macOS 10.15 or newer
17 |
18 | public init<V: View>(name: String, view: @escaping (AnyHashable?) -> V) {
/Users/admin/builder/spi-builder-workspace/Sources/NavigationManager/RouteEntry.swift:18:20: error: 'View' is only available in macOS 10.15 or newer
11 | /// 각 경로에 대한 정보를 담는 구조체
12 | @available(iOS 16.0, *)
13 | public struct RouteEntry {
| `- note: add '@available' attribute to enclosing struct
14 | public let name: String
15 | /// 사용자가 지정한 뷰 클로저. 인자가 필요한 경우 AnyHashable?를 전달받아 사용할 수 있음
16 | public let viewBuilder: (AnyHashable?) -> AnyView
17 |
18 | public init<V: View>(name: String, view: @escaping (AnyHashable?) -> V) {
| | `- error: 'View' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
19 | self.name = name
20 | self.viewBuilder = { arguments in AnyView(view(arguments)) }
BUILD FAILURE 6.3 macosSpm