Build Information
Failed to build WWTextToSpeechManager, reference main (df771f), with Swift 6.3 for macOS (SPM) on 17 Aug 2026 09:58:53 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/WWTextToSpeechManager.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/William-Weng/WWTextToSpeechManager
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at df771f3 - Update ReadMe
Cloned https://github.com/William-Weng/WWTextToSpeechManager.git
Revision (git rev-parse @):
df771f3c39babb08234f3b49de6f3a637d12b361
SUCCESS checkout https://github.com/William-Weng/WWTextToSpeechManager.git at main
========================================
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": "wwtexttospeechmanager",
"name": "WWTextToSpeechManager",
"url": "https://github.com/William-Weng/WWTextToSpeechManager.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/WWTextToSpeechManager",
"traits": [
"default"
],
"dependencies": [
]
}
]
}
Fetching https://github.com/William-Weng/WWTextToSpeechManager.git
[1/52] Fetching wwtexttospeechmanager
Fetched https://github.com/William-Weng/WWTextToSpeechManager.git from cache (1.03s)
Creating working copy for https://github.com/William-Weng/WWTextToSpeechManager.git
Working copy of https://github.com/William-Weng/WWTextToSpeechManager.git resolved at main (df771f3)
warning: '.resolve-product-dependencies': dependency 'wwtexttospeechmanager' 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/WWTextToSpeechManager.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
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/5] Emitting module WWTextToSpeechManager
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:21:31: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
10 | /// 負責將文字轉換成語音播放
11 | @MainActor
12 | final public class WWTextToSpeechManager: NSObject {
| `- note: add '@available' attribute to enclosing class
13 |
14 | public var onStart: ((String) -> Void)? // 語音開始播放時的回呼
:
19 | public var onCancel: ((String) -> Void)? // 語音播放被取消時的回呼
20 |
21 | private let synthesizer = AVSpeechSynthesizer() // 語音合成器
| `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
22 |
23 | private let rate: Float // 語音播放速度
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:102:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
102 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
103 | Task { @MainActor in onStart?(utterance.speechString) }
104 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:102:84: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
102 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
103 | Task { @MainActor in onStart?(utterance.speechString) }
104 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:107:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
105 |
106 | /// 語音暫停
107 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
108 | Task { @MainActor in onPause?(utterance.speechString) }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:107:84: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
105 |
106 | /// 語音暫停
107 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
108 | Task { @MainActor in onPause?(utterance.speechString) }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:112:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
110 |
111 | /// 語音繼續播放
112 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
113 | Task { @MainActor in onContinue?(utterance.speechString) }
114 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:112:87: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
110 |
111 | /// 語音繼續播放
112 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
113 | Task { @MainActor in onContinue?(utterance.speechString) }
114 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:117:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
115 |
116 | /// 語音播放完成
117 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
118 | Task { @MainActor in onFinish?(utterance.speechString) }
119 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:117:85: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
115 |
116 | /// 語音播放完成
117 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
118 | Task { @MainActor in onFinish?(utterance.speechString) }
119 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:122:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
120 |
121 | /// 語音播放被取消
122 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
123 | Task { @MainActor in onCancel?(utterance.speechString) }
124 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:122:85: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
120 |
121 | /// 語音播放被取消
122 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
123 | Task { @MainActor in onCancel?(utterance.speechString) }
124 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:127:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
125 |
126 | /// 語音即將播放某個文字範圍
127 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
128 |
129 | let fullText = utterance.speechString as NSString
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:127:129: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
125 |
126 | /// 語音即將播放某個文字範圍
127 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
128 |
129 | let fullText = utterance.speechString as NSString
[4/5] Compiling WWTextToSpeechManager SpeechProgress.swift
[5/5] Compiling WWTextToSpeechManager WWTextToSpeechManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:21:31: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
10 | /// 負責將文字轉換成語音播放
11 | @MainActor
12 | final public class WWTextToSpeechManager: NSObject {
| `- note: add '@available' attribute to enclosing class
13 |
14 | public var onStart: ((String) -> Void)? // 語音開始播放時的回呼
:
19 | public var onCancel: ((String) -> Void)? // 語音播放被取消時的回呼
20 |
21 | private let synthesizer = AVSpeechSynthesizer() // 語音合成器
| `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
22 |
23 | private let rate: Float // 語音播放速度
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:102:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
102 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
103 | Task { @MainActor in onStart?(utterance.speechString) }
104 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:102:84: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
102 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
103 | Task { @MainActor in onStart?(utterance.speechString) }
104 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:107:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
105 |
106 | /// 語音暫停
107 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
108 | Task { @MainActor in onPause?(utterance.speechString) }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:107:84: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
105 |
106 | /// 語音暫停
107 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
108 | Task { @MainActor in onPause?(utterance.speechString) }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:112:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
110 |
111 | /// 語音繼續播放
112 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
113 | Task { @MainActor in onContinue?(utterance.speechString) }
114 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:112:87: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
110 |
111 | /// 語音繼續播放
112 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
113 | Task { @MainActor in onContinue?(utterance.speechString) }
114 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:117:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
115 |
116 | /// 語音播放完成
117 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
118 | Task { @MainActor in onFinish?(utterance.speechString) }
119 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:117:85: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
115 |
116 | /// 語音播放完成
117 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
118 | Task { @MainActor in onFinish?(utterance.speechString) }
119 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:122:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
120 |
121 | /// 語音播放被取消
122 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
123 | Task { @MainActor in onCancel?(utterance.speechString) }
124 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:122:85: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
120 |
121 | /// 語音播放被取消
122 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
123 | Task { @MainActor in onCancel?(utterance.speechString) }
124 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:127:43: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
125 |
126 | /// 語音即將播放某個文字範圍
127 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
128 |
129 | let fullText = utterance.speechString as NSString
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:127:129: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
125 |
126 | /// 語音即將播放某個文字範圍
127 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
| | `- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
128 |
129 | let fullText = utterance.speechString as NSString
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:67:25: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
54 |
55 | // MARK: - 播放控制
56 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
57 |
58 | /// 播放指定文字
:
61 | /// - text: 要播放的文字
62 | /// - language: 語言識別碼,例如 `en-US`、`zh-TW` 或 `ja-JP`
63 | func speak(text: String, language: String) {
| `- note: add '@available' attribute to enclosing instance method
64 |
65 | stop()
66 |
67 | let utterance = AVSpeechUtterance(string: text)
| |- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
68 |
69 | utterance.rate = rate
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:73:24: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
54 |
55 | // MARK: - 播放控制
56 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
57 |
58 | /// 播放指定文字
:
61 | /// - text: 要播放的文字
62 | /// - language: 語言識別碼,例如 `en-US`、`zh-TW` 或 `ja-JP`
63 | func speak(text: String, language: String) {
| `- note: add '@available' attribute to enclosing instance method
64 |
65 | stop()
:
71 | utterance.volume = volume
72 |
73 | if let voice = AVSpeechSynthesisVoice(language: language) { utterance.voice = voice }
| |- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
74 | synthesizer.speak(utterance)
75 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:103:9: error: 'Task' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
102 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
103 | Task { @MainActor in onStart?(utterance.speechString) }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
104 | }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:103:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
102 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didStart utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
103 | Task { @MainActor in onStart?(utterance.speechString) }
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
104 | }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:108:9: error: 'Task' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
105 |
106 | /// 語音暫停
107 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
108 | Task { @MainActor in onPause?(utterance.speechString) }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
109 | }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:108:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
105 |
106 | /// 語音暫停
107 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didPause utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
108 | Task { @MainActor in onPause?(utterance.speechString) }
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
109 | }
110 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:113:9: error: 'Task' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
110 |
111 | /// 語音繼續播放
112 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
113 | Task { @MainActor in onContinue?(utterance.speechString) }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
114 | }
115 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:113:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
110 |
111 | /// 語音繼續播放
112 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didContinue utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
113 | Task { @MainActor in onContinue?(utterance.speechString) }
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
114 | }
115 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:118:9: error: 'Task' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
115 |
116 | /// 語音播放完成
117 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
118 | Task { @MainActor in onFinish?(utterance.speechString) }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
119 | }
120 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:118:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
115 |
116 | /// 語音播放完成
117 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didFinish utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
118 | Task { @MainActor in onFinish?(utterance.speechString) }
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
119 | }
120 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:123:9: error: 'Task' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
120 |
121 | /// 語音播放被取消
122 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
123 | Task { @MainActor in onCancel?(utterance.speechString) }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
124 | }
125 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:123:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
120 |
121 | /// 語音播放被取消
122 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, didCancel utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
123 | Task { @MainActor in onCancel?(utterance.speechString) }
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
124 | }
125 |
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:143:9: error: 'Task' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
125 |
126 | /// 語音即將播放某個文字範圍
127 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
128 |
129 | let fullText = utterance.speechString as NSString
:
141 |
142 | let speechProgress = SpeechProgress(range: characterRange, text: currentText, progress: progress, fullText: utterance.speechString)
143 | Task { @MainActor in onProgress?(speechProgress) }
| |- error: 'Task' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
144 | }
145 | }
/Users/admin/builder/spi-builder-workspace/Sources/WWTextToSpeechManager/WWTextToSpeechManager.swift:143:9: error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
97 | extension WWTextToSpeechManager: AVSpeechSynthesizerDelegate {}
98 | nonisolated
99 | public extension WWTextToSpeechManager {
| `- note: add '@available' attribute to enclosing extension
100 |
101 | /// 語音開始播放
:
125 |
126 | /// 語音即將播放某個文字範圍
127 | func speechSynthesizer(_ synthesizer: AVSpeechSynthesizer, willSpeakRangeOfSpeechString characterRange: NSRange, utterance: AVSpeechUtterance) {
| `- note: add '@available' attribute to enclosing instance method
128 |
129 | let fullText = utterance.speechString as NSString
:
141 |
142 | let speechProgress = SpeechProgress(range: characterRange, text: currentText, progress: progress, fullText: utterance.speechString)
143 | Task { @MainActor in onProgress?(speechProgress) }
| |- error: 'init(name:priority:operation:)' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
144 | }
145 | }
BUILD FAILURE 6.3 macosSpm