Build Information
Failed to build WWMarkdownWebViewUI, reference 0.4.1 (00d83b), with Swift 6.3 for macOS (SPM) on 12 Jul 2026 20:08:34 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: undefined version: run 'make version' to update
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/William-Weng/WWMarkdownWebViewUI.git
Reference: 0.4.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/William-Weng/WWMarkdownWebViewUI
* tag 0.4.1 -> FETCH_HEAD
HEAD is now at 00d83b2 - 去除模式設定 (CSS自動處理)
Cloned https://github.com/William-Weng/WWMarkdownWebViewUI.git
Revision (git rev-parse @):
00d83b230fc7044e9a4bb5edab4d397d698fad9f
SUCCESS checkout https://github.com/William-Weng/WWMarkdownWebViewUI.git at 0.4.1
========================================
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": "wwmarkdownwebviewui",
"name": "WWMarkdownWebViewUI",
"url": "https://github.com/William-Weng/WWMarkdownWebViewUI.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/WWMarkdownWebViewUI",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/William-Weng/WWMarkdownWebViewUI.git
[1/204] Fetching wwmarkdownwebviewui
Fetched https://github.com/William-Weng/WWMarkdownWebViewUI.git from cache (0.82s)
Creating working copy for https://github.com/William-Weng/WWMarkdownWebViewUI.git
Working copy of https://github.com/William-Weng/WWMarkdownWebViewUI.git resolved at 0.4.1 (00d83b2)
warning: '.resolve-product-dependencies': dependency 'wwmarkdownwebviewui' 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/William-Weng/WWMarkdownWebViewUI.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/6] Copying markdown.html
[0/6] Copying marked.umd.js
[0/6] Copying github-markdown.css
[3/6] Write sources
[4/6] Copying Privacy
[5/6] Write swift-version--6988338F2F200930.txt
[7/13] Compiling WWMarkdownWebViewUI resource_bundle_accessor.swift
[8/13] Compiling WWMarkdownWebViewUI WWMarkdownWebViewUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:14:6: error: 'Observable()' is only available in macOS 14.0 or newer
10 |
11 | // 管理 WebView 和 JS 結果的 ObservableObject
12 | public extension WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing extension
13 |
14 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
15 | final class Manager {
16 |
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:20:6: error: 'Binding' is only available in macOS 10.15 or newer
12 | ///
13 | /// 內部透過本地 HTML template + JavaScript 將 Markdown 轉成 HTML,並把內容高度回傳給 SwiftUI,方便外部依照內容自動調整高度
14 | public struct WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing struct
15 |
16 | static let contentHeightName = "contentHeight" // JavaScript 回傳內容高度時使用的 message handler 名稱
:
18 | let markdown: String
19 |
20 | @Binding var height: CGFloat
| `- error: 'Binding' is only available in macOS 10.15 or newer
21 |
22 | @State var manager = Manager()
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:22:6: error: 'State' is only available in macOS 10.15 or newer
12 | ///
13 | /// 內部透過本地 HTML template + JavaScript 將 Markdown 轉成 HTML,並把內容高度回傳給 SwiftUI,方便外部依照內容自動調整高度
14 | public struct WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing struct
15 |
16 | static let contentHeightName = "contentHeight" // JavaScript 回傳內容高度時使用的 message handler 名稱
:
20 | @Binding var height: CGFloat
21 |
22 | @State var manager = Manager()
| `- error: 'State' is only available in macOS 10.15 or newer
23 |
24 | /// 建立 Markdown WebView
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:30:43: error: 'Binding' is only available in macOS 10.15 or newer
12 | ///
13 | /// 內部透過本地 HTML template + JavaScript 將 Markdown 轉成 HTML,並把內容高度回傳給 SwiftUI,方便外部依照內容自動調整高度
14 | public struct WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing struct
15 |
16 | static let contentHeightName = "contentHeight" // JavaScript 回傳內容高度時使用的 message handler 名稱
:
28 | /// - dynamicHeight: WebView 實際內容高度,透過 Coordinator 回寫給 SwiftUI
29 | /// - manager: WebView取值管理器
30 | public init(markdown: String, height: Binding<CGFloat>, manager: Manager = .init()) {
| | `- error: 'Binding' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
31 | self.markdown = markdown
32 | self.manager = manager
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:38:32: error: cannot find type 'UIViewRepresentable' in scope
36 |
37 | // MARK: - UIViewRepresentable
38 | extension WWMarkdownWebViewUI: UIViewRepresentable {}
| `- error: cannot find type 'UIViewRepresentable' in scope
39 | public extension WWMarkdownWebViewUI {
40 |
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:53:30: error: cannot find type 'Context' in scope
51 | /// - 設定 navigationDelegate
52 | /// - 載入初始 HTML template
53 | func makeUIView(context: Context) -> WKWebView {
| `- error: cannot find type 'Context' in scope
54 |
55 | let webView = makeWebView(coordinator: context.coordinator)
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:66:54: error: cannot find type 'Context' in scope
64 | ///
65 | /// 這裡不重新建立 WebView,只更新顯示內容
66 | func updateUIView(_ webView: WKWebView, context: Context) {
| `- error: cannot find type 'Context' in scope
67 |
68 | context.coordinator.parent = self
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:32:9: error: setter for 'manager' is only available in macOS 10.15 or newer
12 | ///
13 | /// 內部透過本地 HTML template + JavaScript 將 Markdown 轉成 HTML,並把內容高度回傳給 SwiftUI,方便外部依照內容自動調整高度
14 | public struct WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing struct
15 |
16 | static let contentHeightName = "contentHeight" // JavaScript 回傳內容高度時使用的 message handler 名稱
:
28 | /// - dynamicHeight: WebView 實際內容高度,透過 Coordinator 回寫給 SwiftUI
29 | /// - manager: WebView取值管理器
30 | public init(markdown: String, height: Binding<CGFloat>, manager: Manager = .init()) {
| `- note: add '@available' attribute to enclosing initializer
31 | self.markdown = markdown
32 | self.manager = manager
| |- error: setter for 'manager' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
33 | _height = height
34 | }
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:17:9: note: expanded code originates here
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- note: in expansion of macro 'Observable' on property 'webView' here
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
+--- macro expansion @Observable ------------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+--------------------------------------------------------------------
18 |
19 | public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:111:23: error: 'defaultWebpagePreferences' is only available in macOS 10.15 or newer
90 |
91 | // MARK: - Private
92 | private extension WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing extension
93 |
94 | /// 建立 WKWebView 並完成基礎設定
:
100 | /// - 關閉 WebView 自己的捲動,交由外層 SwiftUI 控制
101 | /// - 載入本地 HTML template
102 | func makeWebView(coordinator: Coordinator) -> WKWebView {
| `- note: add '@available' attribute to enclosing instance method
103 |
104 | let htmlTemplate = Self.readHtmlTemplate() ?? ""
:
109 | let configuration = WKWebViewConfiguration()
110 | configuration.userContentController = contentController
111 | configuration.defaultWebpagePreferences.allowsContentJavaScript = true
| |- error: 'defaultWebpagePreferences' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
112 |
113 | let webView = WKWebView(frame: .zero, configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:111:49: error: 'allowsContentJavaScript' is only available in macOS 11.0 or newer
90 |
91 | // MARK: - Private
92 | private extension WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing extension
93 |
94 | /// 建立 WKWebView 並完成基礎設定
:
100 | /// - 關閉 WebView 自己的捲動,交由外層 SwiftUI 控制
101 | /// - 載入本地 HTML template
102 | func makeWebView(coordinator: Coordinator) -> WKWebView {
| `- note: add '@available' attribute to enclosing instance method
103 |
104 | let htmlTemplate = Self.readHtmlTemplate() ?? ""
:
109 | let configuration = WKWebViewConfiguration()
110 | configuration.userContentController = contentController
111 | configuration.defaultWebpagePreferences.allowsContentJavaScript = true
| |- error: 'allowsContentJavaScript' is only available in macOS 11.0 or newer
| `- note: add 'if #available' version check
112 |
113 | let webView = WKWebView(frame: .zero, configuration: configuration)
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:115:17: error: cannot assign to property: 'isOpaque' is a get-only property
113 | let webView = WKWebView(frame: .zero, configuration: configuration)
114 | webView.navigationDelegate = coordinator
115 | webView.isOpaque = false
| `- error: cannot assign to property: 'isOpaque' is a get-only property
116 | webView.backgroundColor = .clear
117 | webView.scrollView.isScrollEnabled = false
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:116:17: error: value of type 'WKWebView' has no member 'backgroundColor'
114 | webView.navigationDelegate = coordinator
115 | webView.isOpaque = false
116 | webView.backgroundColor = .clear
| `- error: value of type 'WKWebView' has no member 'backgroundColor'
117 | webView.scrollView.isScrollEnabled = false
118 | webView.scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:116:36: error: cannot infer contextual base in reference to member 'clear'
114 | webView.navigationDelegate = coordinator
115 | webView.isOpaque = false
116 | webView.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
117 | webView.scrollView.isScrollEnabled = false
118 | webView.scrollView.backgroundColor = .clear
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:117:17: error: value of type 'WKWebView' has no member 'scrollView'
115 | webView.isOpaque = false
116 | webView.backgroundColor = .clear
117 | webView.scrollView.isScrollEnabled = false
| `- error: value of type 'WKWebView' has no member 'scrollView'
118 | webView.scrollView.backgroundColor = .clear
119 | webView.loadHTMLString(htmlTemplate, baseURL: Bundle.module.resourceURL)
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:118:17: error: value of type 'WKWebView' has no member 'scrollView'
116 | webView.backgroundColor = .clear
117 | webView.scrollView.isScrollEnabled = false
118 | webView.scrollView.backgroundColor = .clear
| `- error: value of type 'WKWebView' has no member 'scrollView'
119 | webView.loadHTMLString(htmlTemplate, baseURL: Bundle.module.resourceURL)
120 |
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:118:47: error: cannot infer contextual base in reference to member 'clear'
116 | webView.backgroundColor = .clear
117 | webView.scrollView.isScrollEnabled = false
118 | webView.scrollView.backgroundColor = .clear
| `- error: cannot infer contextual base in reference to member 'clear'
119 | webView.loadHTMLString(htmlTemplate, baseURL: Bundle.module.resourceURL)
120 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[9/13] Compiling WWMarkdownWebViewUI Extension.swift
[10/13] Compiling WWMarkdownWebViewUI Handler.swift
[11/13] Emitting module WWMarkdownWebViewUI
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:14:6: error: 'Observable()' is only available in macOS 14.0 or newer
10 |
11 | // 管理 WebView 和 JS 結果的 ObservableObject
12 | public extension WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing extension
13 |
14 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
15 | final class Manager {
16 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:17:9: note: expanded code originates here
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- note: in expansion of macro 'Observable' on property 'webView' here
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
+--- macro expansion @Observable ------------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+--------------------------------------------------------------------
18 |
19 | public init() {}
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:20:5: note: expanded code originates here
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- note: in expansion of macro 'Observable' on class 'Manager' here
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
18 |
19 | public init() {}
20 | }
+--- macro expansion @Observable ------------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s19WWMarkdownWebViewUIAAV7Manager10ObservablefMm_6MemberfMu_>(
+--------------------------------------------------------------------
21 | }
22 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:17:39: note: expanded code originates here
13 |
14 | @Observable
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
+--- macro expansion @ObservationTracked ----------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
|2 | private var _webView: WKWebView?
+--------------------------------------------------------------------
18 |
19 | public init() {}
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:20:5: note: expanded code originates here
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- note: in expansion of macro 'Observable' on class 'Manager' here
15 | final class Manager {
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
18 |
19 | public init() {}
20 | }
+--- macro expansion @Observable ------------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s19WWMarkdownWebViewUIAAV7Manager10ObservablefMm_6MemberfMu_>(
+--------------------------------------------------------------------
21 | }
22 |
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:14:6: error: 'Observable()' is only available in macOS 14.0 or newer
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:20:6: error: 'Binding' is only available in macOS 10.15 or newer
12 | ///
13 | /// 內部透過本地 HTML template + JavaScript 將 Markdown 轉成 HTML,並把內容高度回傳給 SwiftUI,方便外部依照內容自動調整高度
14 | public struct WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing struct
15 |
16 | static let contentHeightName = "contentHeight" // JavaScript 回傳內容高度時使用的 message handler 名稱
:
18 | let markdown: String
19 |
20 | @Binding var height: CGFloat
| `- error: 'Binding' is only available in macOS 10.15 or newer
21 |
22 | @State var manager = Manager()
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:22:6: error: 'State' is only available in macOS 10.15 or newer
12 | ///
13 | /// 內部透過本地 HTML template + JavaScript 將 Markdown 轉成 HTML,並把內容高度回傳給 SwiftUI,方便外部依照內容自動調整高度
14 | public struct WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing struct
15 |
16 | static let contentHeightName = "contentHeight" // JavaScript 回傳內容高度時使用的 message handler 名稱
:
20 | @Binding var height: CGFloat
21 |
22 | @State var manager = Manager()
| `- error: 'State' is only available in macOS 10.15 or newer
23 |
24 | /// 建立 Markdown WebView
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:30:43: error: 'Binding' is only available in macOS 10.15 or newer
12 | ///
13 | /// 內部透過本地 HTML template + JavaScript 將 Markdown 轉成 HTML,並把內容高度回傳給 SwiftUI,方便外部依照內容自動調整高度
14 | public struct WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing struct
15 |
16 | static let contentHeightName = "contentHeight" // JavaScript 回傳內容高度時使用的 message handler 名稱
:
28 | /// - dynamicHeight: WebView 實際內容高度,透過 Coordinator 回寫給 SwiftUI
29 | /// - manager: WebView取值管理器
30 | public init(markdown: String, height: Binding<CGFloat>, manager: Manager = .init()) {
| | `- error: 'Binding' is only available in macOS 10.15 or newer
| `- note: add '@available' attribute to enclosing initializer
31 | self.markdown = markdown
32 | self.manager = manager
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:38:32: error: cannot find type 'UIViewRepresentable' in scope
36 |
37 | // MARK: - UIViewRepresentable
38 | extension WWMarkdownWebViewUI: UIViewRepresentable {}
| `- error: cannot find type 'UIViewRepresentable' in scope
39 | public extension WWMarkdownWebViewUI {
40 |
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:53:30: error: cannot find type 'Context' in scope
51 | /// - 設定 navigationDelegate
52 | /// - 載入初始 HTML template
53 | func makeUIView(context: Context) -> WKWebView {
| `- error: cannot find type 'Context' in scope
54 |
55 | let webView = makeWebView(coordinator: context.coordinator)
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/WWMarkdownWebViewUI.swift:66:54: error: cannot find type 'Context' in scope
64 | ///
65 | /// 這裡不重新建立 WebView,只更新顯示內容
66 | func updateUIView(_ webView: WKWebView, context: Context) {
| `- error: cannot find type 'Context' in scope
67 |
68 | context.coordinator.parent = self
[12/13] Compiling WWMarkdownWebViewUI Manager.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:32:22: warning: 'try' must precede 'await'
30 | guard let webView = webView else { return nil }
31 |
32 | let result = await try webView.evaluateJavaScript("getTextContent()")
| `- warning: 'try' must precede 'await'
33 | return result as? String
34 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:42:22: warning: 'try' must precede 'await'
40 | guard let webView = webView else { return nil }
41 |
42 | let result = await try webView.evaluateJavaScript("getHtmlContent()")
| `- warning: 'try' must precede 'await'
43 | return result as? String
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:14:6: error: 'Observable()' is only available in macOS 14.0 or newer
10 |
11 | // 管理 WebView 和 JS 結果的 ObservableObject
12 | public extension WWMarkdownWebViewUI {
| `- note: add '@available' attribute to enclosing extension
13 |
14 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
15 | final class Manager {
16 |
macro expansion @Observable:1:2: error: 'ObservationTracked()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:17:9: note: expanded code originates here
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- note: in expansion of macro 'Observable' on property 'webView' here
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
+--- macro expansion @Observable ------------------------------------
|1 | @ObservationTracked
| | `- error: 'ObservationTracked()' is only available in macOS 14.0 or newer
+--------------------------------------------------------------------
18 |
19 | public init() {}
macro expansion @Observable:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:20:5: note: expanded code originates here
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- note: in expansion of macro 'Observable' on class 'Manager' here
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
18 |
19 | public init() {}
20 | }
+--- macro expansion @Observable ------------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s19WWMarkdownWebViewUIAAV7Manager10ObservablefMm_6MemberfMu_>(
+--------------------------------------------------------------------
21 | }
22 |
macro expansion @ObservationTracked:1:2: error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:17:39: note: expanded code originates here
13 |
14 | @Observable
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
+--- macro expansion @ObservationTracked ----------------------------
|1 | @ObservationIgnored
| | `- error: 'ObservationIgnored()' is only available in macOS 14.0 or newer
|2 | private var _webView: WKWebView?
+--------------------------------------------------------------------
18 |
19 | public init() {}
macro expansion @Observable:1:70: error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
`- /Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:20:5: note: expanded code originates here
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- note: in expansion of macro 'Observable' on class 'Manager' here
15 | final class Manager {
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
18 |
19 | public init() {}
20 | }
+--- macro expansion @Observable ------------------------------------
| 1 | @ObservationIgnored private let _$observationRegistrar = Observation.ObservationRegistrar()
| | `- error: 'ObservationRegistrar' is only available in macOS 14.0 or newer
| 2 |
| 3 | internal nonisolated func access<$s19WWMarkdownWebViewUIAAV7Manager10ObservablefMm_6MemberfMu_>(
+--------------------------------------------------------------------
21 | }
22 |
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Manager.swift:14:6: error: 'Observable()' is only available in macOS 14.0 or newer
12 | public extension WWMarkdownWebViewUI {
13 |
14 | @Observable
| `- error: 'Observable()' is only available in macOS 14.0 or newer
15 | final class Manager {
| |- note: add '@available' attribute to enclosing class
| `- note: add '@available' attribute to enclosing class
16 |
17 | public var webView: WKWebView?
[13/13] Compiling WWMarkdownWebViewUI Coordinator.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Coordinator.swift:59:9: error: 'Task' is only available in macOS 10.15 or newer
46 |
47 | // MARK: - WKNavigationDelegate, WKScriptMessageHandler
48 | public extension WWMarkdownWebViewUI.Coordinator {
| `- note: add '@available' attribute to enclosing extension
49 |
50 | /// 接收 JavaScript 透過 `window.webkit.messageHandlers...postMessage(...)` 傳回的資料
:
53 | ///
54 | /// 由於 SwiftUI / UIKit 的畫面狀態更新應在主執行緒進行,這裡使用 `@MainActor` 切回主執行緒更新資料
55 | func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
| `- note: add '@available' attribute to enclosing instance method
56 |
57 | guard message.name == WWMarkdownWebViewUI.contentHeightName else { return }
58 |
59 | Task { @MainActor in
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
60 |
61 | if let height = message.body as? CGFloat { self.parent.height = height; return }
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Coordinator.swift:59:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
46 |
47 | // MARK: - WKNavigationDelegate, WKScriptMessageHandler
48 | public extension WWMarkdownWebViewUI.Coordinator {
| `- note: add '@available' attribute to enclosing extension
49 |
50 | /// 接收 JavaScript 透過 `window.webkit.messageHandlers...postMessage(...)` 傳回的資料
:
53 | ///
54 | /// 由於 SwiftUI / UIKit 的畫面狀態更新應在主執行緒進行,這裡使用 `@MainActor` 切回主執行緒更新資料
55 | func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
| `- note: add '@available' attribute to enclosing instance method
56 |
57 | guard message.name == WWMarkdownWebViewUI.contentHeightName else { return }
58 |
59 | Task { @MainActor in
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
60 |
61 | if let height = message.body as? CGFloat { self.parent.height = height; return }
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Coordinator.swift:61:56: error: setter for 'height' is only available in macOS 10.15 or newer
46 |
47 | // MARK: - WKNavigationDelegate, WKScriptMessageHandler
48 | public extension WWMarkdownWebViewUI.Coordinator {
| `- note: add '@available' attribute to enclosing extension
49 |
50 | /// 接收 JavaScript 透過 `window.webkit.messageHandlers...postMessage(...)` 傳回的資料
:
53 | ///
54 | /// 由於 SwiftUI / UIKit 的畫面狀態更新應在主執行緒進行,這裡使用 `@MainActor` 切回主執行緒更新資料
55 | func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
| `- note: add '@available' attribute to enclosing instance method
56 |
57 | guard message.name == WWMarkdownWebViewUI.contentHeightName else { return }
:
59 | Task { @MainActor in
60 |
61 | if let height = message.body as? CGFloat { self.parent.height = height; return }
| |- error: setter for 'height' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
62 | if let height = message.body as? Double { self.parent.height = height; return }
63 | if let height = message.body as? Int { self.parent.height = CGFloat(height); return }
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Coordinator.swift:62:55: error: setter for 'height' is only available in macOS 10.15 or newer
46 |
47 | // MARK: - WKNavigationDelegate, WKScriptMessageHandler
48 | public extension WWMarkdownWebViewUI.Coordinator {
| `- note: add '@available' attribute to enclosing extension
49 |
50 | /// 接收 JavaScript 透過 `window.webkit.messageHandlers...postMessage(...)` 傳回的資料
:
53 | ///
54 | /// 由於 SwiftUI / UIKit 的畫面狀態更新應在主執行緒進行,這裡使用 `@MainActor` 切回主執行緒更新資料
55 | func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
| `- note: add '@available' attribute to enclosing instance method
56 |
57 | guard message.name == WWMarkdownWebViewUI.contentHeightName else { return }
:
60 |
61 | if let height = message.body as? CGFloat { self.parent.height = height; return }
62 | if let height = message.body as? Double { self.parent.height = height; return }
| |- error: setter for 'height' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
63 | if let height = message.body as? Int { self.parent.height = CGFloat(height); return }
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWMarkdownWebViewUI/Utility/Coordinator.swift:63:52: error: setter for 'height' is only available in macOS 10.15 or newer
46 |
47 | // MARK: - WKNavigationDelegate, WKScriptMessageHandler
48 | public extension WWMarkdownWebViewUI.Coordinator {
| `- note: add '@available' attribute to enclosing extension
49 |
50 | /// 接收 JavaScript 透過 `window.webkit.messageHandlers...postMessage(...)` 傳回的資料
:
53 | ///
54 | /// 由於 SwiftUI / UIKit 的畫面狀態更新應在主執行緒進行,這裡使用 `@MainActor` 切回主執行緒更新資料
55 | func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
| `- note: add '@available' attribute to enclosing instance method
56 |
57 | guard message.name == WWMarkdownWebViewUI.contentHeightName else { return }
:
61 | if let height = message.body as? CGFloat { self.parent.height = height; return }
62 | if let height = message.body as? Double { self.parent.height = height; return }
63 | if let height = message.body as? Int { self.parent.height = CGFloat(height); return }
| |- error: setter for 'height' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
64 | }
65 | }
BUILD FAILURE 6.3 macosSpm