Build Information
Failed to build OEVoice, reference main (5d00dc), with Swift 6.2 for macOS (SPM) on 8 Sep 2026 07:11:24 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.0.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ryanlintott/OEVoice.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ryanlintott/OEVoice
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 5d00dc8 Merge pull request #2 from ryanlintott/ci/swift-6-0-xcode-probe
Cloned https://github.com/ryanlintott/OEVoice.git
Revision (git rev-parse @):
5d00dc8b709683f5d73d044ee5402f829fb4a782
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ryanlintott/OEVoice.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/ryanlintott/OEVoice.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.3.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--3CB7CFEC50E0D141.txt
[3/12] Compiling OEVoice OEVoice.swift
[4/12] Compiling OEVoice OEVoiceError.swift
[5/12] Compiling OEVoice SpecialCharacter.swift
[6/12] Compiling OEVoice AttributedString-extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:10:20: error: 'AttributedString' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:35:18: error: 'AttributedString' is only available in macOS 12 or newer
33 | }
34 |
35 | public extension AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing extension
36 | /// Adds accessible phonetic pronunciation for specified phrases.
37 | /// - Parameter phrases: Dictionary of phrases and ipa pronunciations for those phrases
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:20:30: error: 'characters' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
18 | var searchOffset = 0
19 |
20 | while searchOffset < characters.count {
| |- error: 'characters' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
21 | let searchStart = characters.index(characters.startIndex, offsetBy: searchOffset)
22 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:20:41: error: conformance of 'AttributedString.CharacterView' to 'Collection' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
18 | var searchOffset = 0
19 |
20 | while searchOffset < characters.count {
| |- error: conformance of 'AttributedString.CharacterView' to 'Collection' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
21 | let searchStart = characters.index(characters.startIndex, offsetBy: searchOffset)
22 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:21:31: error: 'characters' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
19 |
20 | while searchOffset < characters.count {
21 | let searchStart = characters.index(characters.startIndex, offsetBy: searchOffset)
| |- error: 'characters' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
22 |
23 | guard let range = self[searchStart...].range(of: phrase) else { return }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:21:42: error: conformance of 'AttributedString.CharacterView' to 'BidirectionalCollection' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
19 |
20 | while searchOffset < characters.count {
21 | let searchStart = characters.index(characters.startIndex, offsetBy: searchOffset)
| |- error: conformance of 'AttributedString.CharacterView' to 'BidirectionalCollection' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
22 |
23 | guard let range = self[searchStart...].range(of: phrase) else { return }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:21:48: error: 'characters' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
19 |
20 | while searchOffset < characters.count {
21 | let searchStart = characters.index(characters.startIndex, offsetBy: searchOffset)
| |- error: 'characters' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
22 |
23 | guard let range = self[searchStart...].range(of: phrase) else { return }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:21:59: error: 'startIndex' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
19 |
20 | while searchOffset < characters.count {
21 | let searchStart = characters.index(characters.startIndex, offsetBy: searchOffset)
| |- error: 'startIndex' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
22 |
23 | guard let range = self[searchStart...].range(of: phrase) else { return }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:23:31: error: 'subscript(_:)' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
21 | let searchStart = characters.index(characters.startIndex, offsetBy: searchOffset)
22 |
23 | guard let range = self[searchStart...].range(of: phrase) else { return }
| |- error: 'subscript(_:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
24 |
25 | // Measured before the mutation as indices may not survive one
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:23:52: error: 'range(of:options:locale:)' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
21 | let searchStart = characters.index(characters.startIndex, offsetBy: searchOffset)
22 |
23 | guard let range = self[searchStart...].range(of: phrase) else { return }
| |- error: 'range(of:options:locale:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
24 |
25 | // Measured before the mutation as indices may not survive one
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:26:30: error: 'characters' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
24 |
25 | // Measured before the mutation as indices may not survive one
26 | let nextOffset = characters.distance(from: characters.startIndex, to: range.upperBound)
| |- error: 'characters' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
27 |
28 | self[range].accessibilitySpeechPhoneticNotation = phonetic
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:26:41: error: conformance of 'AttributedString.CharacterView' to 'BidirectionalCollection' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
24 |
25 | // Measured before the mutation as indices may not survive one
26 | let nextOffset = characters.distance(from: characters.startIndex, to: range.upperBound)
| |- error: conformance of 'AttributedString.CharacterView' to 'BidirectionalCollection' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
27 |
28 | self[range].accessibilitySpeechPhoneticNotation = phonetic
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:26:56: error: 'characters' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
24 |
25 | // Measured before the mutation as indices may not survive one
26 | let nextOffset = characters.distance(from: characters.startIndex, to: range.upperBound)
| |- error: 'characters' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
27 |
28 | self[range].accessibilitySpeechPhoneticNotation = phonetic
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:26:67: error: 'startIndex' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
24 |
25 | // Measured before the mutation as indices may not survive one
26 | let nextOffset = characters.distance(from: characters.startIndex, to: range.upperBound)
| |- error: 'startIndex' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
27 |
28 | self[range].accessibilitySpeechPhoneticNotation = phonetic
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:28:13: error: 'subscript(dynamicMember:)' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
26 | let nextOffset = characters.distance(from: characters.startIndex, to: range.upperBound)
27 |
28 | self[range].accessibilitySpeechPhoneticNotation = phonetic
| |- error: 'subscript(dynamicMember:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
29 |
30 | searchOffset = nextOffset
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:28:13: error: 'subscript(_:)' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
13 | /// - phonetic: IPA pronunciation applied to each occurrence.
14 | /// - phrase: Phrase to find. An empty phrase does nothing.
15 | mutating func setPhoneticNotation(_ phonetic: String, forOccurrencesOf phrase: String) {
| `- note: add '@available' attribute to enclosing instance method
16 | guard !phrase.isEmpty else { return }
17 |
:
26 | let nextOffset = characters.distance(from: characters.startIndex, to: range.upperBound)
27 |
28 | self[range].accessibilitySpeechPhoneticNotation = phonetic
| |- error: 'subscript(_:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
29 |
30 | searchOffset = nextOffset
<unknown>:0: error: 'subscript(dynamicMember:)' is only available in macOS 12.0 or newer
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:88:13: error: 'subscript(dynamicMember:)' is only available in macOS 12 or newer
33 | }
34 |
35 | public extension AttributedString {
| `- note: add '@available' attribute to enclosing extension
36 | /// Adds accessible phonetic pronunciation for specified phrases.
37 | /// - Parameter phrases: Dictionary of phrases and ipa pronunciations for those phrases
:
78 | /// - voice: Voice used to adjust the ipa pronunciation
79 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
80 | func accessibilityOldEnglishIPA(_ ipa: String?, voice: OEVoice = .default) -> Self {
| `- note: add '@available' attribute to enclosing instance method
81 | var attributedString = self
82 |
:
86 | // attributedString.languageIdentifier = "en-US"
87 | // apply ipa pronunciation
88 | attributedString.accessibilitySpeechPhoneticNotation = phonetic
| |- error: 'subscript(dynamicMember:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
89 | }
90 |
<unknown>:0: error: 'subscript(dynamicMember:)' is only available in macOS 12.0 or newer
[7/12] Compiling OEVoice NSAttributedString-extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/NSAttributedString-extensions.swift:43:45: error: type 'NSAttributedString.Key' has no member 'accessibilitySpeechIPANotation'
41 | let attributedString = self
42 |
43 | let ipaKey = NSAttributedString.Key.accessibilitySpeechIPANotation
| `- error: type 'NSAttributedString.Key' has no member 'accessibilitySpeechIPANotation'
44 |
45 | phrases.forEach { (phrase, ipa) in
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/NSAttributedString-extensions.swift:56:22: error: type 'NSAttributedString.Key' has no member 'accessibilityTextCustom'
54 | attributedString.addAttributes([
55 | ipaKey: phonetic,
56 | .accessibilityTextCustom: ["Old English"],
| `- error: type 'NSAttributedString.Key' has no member 'accessibilityTextCustom'
57 | .accessibilitySpeechLanguage: OEVoice.preferredLanguage
58 | ], range: range)
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/NSAttributedString-extensions.swift:57:22: error: type 'NSAttributedString.Key' has no member 'accessibilitySpeechLanguage'
55 | ipaKey: phonetic,
56 | .accessibilityTextCustom: ["Old English"],
57 | .accessibilitySpeechLanguage: OEVoice.preferredLanguage
| `- error: type 'NSAttributedString.Key' has no member 'accessibilitySpeechLanguage'
58 | ], range: range)
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/NSAttributedString-extensions.swift:75:58: error: type 'NSAttributedString.Key' has no member 'accessibilitySpeechIPANotation'
73 | func setSpeechIPAMatchingAccessibilityIPA() {
74 | let range = NSMakeRange(0, length)
75 | let accessibilityIPAKey = NSAttributedString.Key.accessibilitySpeechIPANotation
| `- error: type 'NSAttributedString.Key' has no member 'accessibilitySpeechIPANotation'
76 | let pronunciationIPAKey = NSAttributedString.Key(rawValue: AVSpeechSynthesisIPANotationAttribute)
77 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/NSAttributedString-extensions.swift:76:68: error: 'AVSpeechSynthesisIPANotationAttribute' is only available in macOS 10.14 or newer
33 | }
34 |
35 | public extension NSMutableAttributedString {
| `- note: add '@available' attribute to enclosing extension
36 | func accessibilityOldEnglishIPA(_ phrases: [String: String], voice: OEVoice = .default) -> Self {
37 | guard self.length > 0 else {
:
71 | }
72 |
73 | func setSpeechIPAMatchingAccessibilityIPA() {
| `- note: add '@available' attribute to enclosing instance method
74 | let range = NSMakeRange(0, length)
75 | let accessibilityIPAKey = NSAttributedString.Key.accessibilitySpeechIPANotation
76 | let pronunciationIPAKey = NSAttributedString.Key(rawValue: AVSpeechSynthesisIPANotationAttribute)
| |- error: 'AVSpeechSynthesisIPANotationAttribute' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
77 |
78 | // Ranges are collected first so the string is not modified while it's being enumerated
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/13] Emitting module OEVoice
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVAudioSession+setSpeechSession.swift:10:18: error: 'AVAudioSession' is unavailable in macOS
8 | import AVFoundation
9 |
10 | public extension AVAudioSession {
| `- error: 'AVAudioSession' is unavailable in macOS
11 | /// Sets audioSession to play on mute, pause other spoken audio and duck anything else.
12 | func setSpeechSession() throws {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:29:12: note: 'AVAudioSession' has been explicitly marked unavailable here
27 | NS_SWIFT_SENDABLE
28 | API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos)
29 | @interface AVAudioSession : NSObject {
| `- note: 'AVAudioSession' has been explicitly marked unavailable here
30 | @private
31 | void *_impl;
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:47:54: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
45 | /// - voice: Voice to use
46 | /// - willSpeak: Runs just before speech and includes exact string to be spoken.
47 | public func speakIPA(_ ipaString: String, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
48 | let mutableAttributedString = NSMutableAttributedString(string: ipaString)
49 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:69:43: error: 'AttributedString' is only available in macOS 12 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
67 | }
68 |
69 | public func speak(_ attributedString: AttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
70 | speak(NSMutableAttributedString(attributedString), voice: voice, willSpeak: willSpeak)
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:69:68: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
67 | }
68 |
69 | public func speak(_ attributedString: AttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
70 | speak(NSMutableAttributedString(attributedString), voice: voice, willSpeak: willSpeak)
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:73:84: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
71 | }
72 |
73 | public func speak(_ mutableAttributedString: NSMutableAttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
74 | // Copied so speaking does not alter the string that was supplied
75 | let stringToSpeak = NSMutableAttributedString(attributedString: mutableAttributedString)
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:11:38: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:56:24: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
54 | /// Init from AVSpeechSynthesisVoice
55 | /// - Parameter voice: voice
56 | init? (from voice: AVSpeechSynthesisVoice) {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing initializer
57 | self.init(from: voice.identifier)
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:67:16: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
65 | }
66 |
67 | var voice: AVSpeechSynthesisVoice? {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing property
68 | // speechVoices() is expensive so it's only called once
69 | let installedIdentifiers = AVSpeechSynthesisVoice.speechVoices().map(\.identifier)
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:97:36: error: 'AttributedString' is only available in macOS 12 or newer
94 | }
95 |
96 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
97 | func speak(_ attributedString: AttributedString, synthesizer: AVSpeechSynthesizerIPA, willSpeak: ((String) -> Void)? = nil) throws {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
98 | try Self.speak(attributedString, oeVoice: self, synthesizer: synthesizer, willSpeak: willSpeak)
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:101:43: error: 'AttributedString' is only available in macOS 12 or newer
94 | }
95 |
96 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
97 | func speak(_ attributedString: AttributedString, synthesizer: AVSpeechSynthesizerIPA, willSpeak: ((String) -> Void)? = nil) throws {
98 | try Self.speak(attributedString, oeVoice: self, synthesizer: synthesizer, willSpeak: willSpeak)
99 | }
100 |
101 | static func speak(_ attributedString: AttributedString, oeVoice: OEVoice = .default, synthesizer: AVSpeechSynthesizerIPA, force: Bool = false, willSpeak: ((String) -> Void)? = nil) throws {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing static method
102 | guard let voice = oeVoice.voice else {
103 | throw OEVoiceError.voiceNotFound
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:10:20: error: 'AttributedString' is only available in macOS 12 or newer
8 | import Foundation
9 |
10 | internal extension AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing extension
11 | /// Applies an IPA pronunciation to every occurrence of a phrase.
12 | /// - Parameters:
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/AttributedString-extensions.swift:35:18: error: 'AttributedString' is only available in macOS 12 or newer
33 | }
34 |
35 | public extension AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing extension
36 | /// Adds accessible phonetic pronunciation for specified phrases.
37 | /// - Parameter phrases: Dictionary of phrases and ipa pronunciations for those phrases
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:51:93: error: 'AttributedString' is only available in macOS 12 or newer
41 | }
42 |
43 | public extension String {
| `- note: add '@available' attribute to enclosing extension
44 | /// Create an `AttributedString` with accessible Old English IPA pronunciation for specified phrases.
45 | /// WARNING: User voice may not match supported OEVoice so pronunciations may be incorrect
:
49 | /// - voice: Voice used to adjust the ipa pronunciations
50 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
51 | func oldEnglishIPAAttributed(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
52 | AttributedString(self).accessibilityOldEnglishIPA(phrases, voice: voice)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:62:80: error: 'AttributedString' is only available in macOS 12 or newer
41 | }
42 |
43 | public extension String {
| `- note: add '@available' attribute to enclosing extension
44 | /// Create an `AttributedString` with accessible Old English IPA pronunciation for specified phrases.
45 | /// WARNING: User voice may not match supported OEVoice so pronunciations may be incorrect
:
60 | /// - voice: Voice used to adjust the ipa pronunciation
61 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
62 | func oldEnglishIPAAttributed(_ ipa: String?, voice: OEVoice = .default) -> AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
63 | AttributedString(self).accessibilityOldEnglishIPA(ipa, voice: voice)
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:83:86: error: 'AttributedString' is only available in macOS 12 or newer
75 | }
76 |
77 | public extension String {
| `- note: add '@available' attribute to enclosing extension
78 | /// Adds accessible phonetic pronunciation for specified phrases.
79 | /// - Parameters:
:
81 | /// - voice: Unused. Pronunciations are applied as supplied, without voice adjustments.
82 | /// - Returns: `AttributedString` with accessible phonetic pronunciations for specified phrases
83 | func accessibilityIPA(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
84 | AttributedString(self).accessibilityIPA(phrases)
85 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:94:96: error: 'AttributedString' is only available in macOS 12 or newer
75 | }
76 |
77 | public extension String {
| `- note: add '@available' attribute to enclosing extension
78 | /// Adds accessible phonetic pronunciation for specified phrases.
79 | /// - Parameters:
:
92 | /// - voice: Voice used to adjust the ipa pronunciations
93 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
94 | func accessibilityOldEnglishIPA(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
95 | AttributedString(self).accessibilityOldEnglishIPA(phrases, voice: voice)
96 | }
[9/13] Compiling OEVoice AVSpeechSynthesizerIPA.swift
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:47:54: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
45 | /// - voice: Voice to use
46 | /// - willSpeak: Runs just before speech and includes exact string to be spoken.
47 | public func speakIPA(_ ipaString: String, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
48 | let mutableAttributedString = NSMutableAttributedString(string: ipaString)
49 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:69:43: error: 'AttributedString' is only available in macOS 12 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
67 | }
68 |
69 | public func speak(_ attributedString: AttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
70 | speak(NSMutableAttributedString(attributedString), voice: voice, willSpeak: willSpeak)
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:69:68: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
67 | }
68 |
69 | public func speak(_ attributedString: AttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
70 | speak(NSMutableAttributedString(attributedString), voice: voice, willSpeak: willSpeak)
71 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:73:84: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
71 | }
72 |
73 | public func speak(_ mutableAttributedString: NSMutableAttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing instance method
74 | // Copied so speaking does not alter the string that was supplied
75 | let stringToSpeak = NSMutableAttributedString(attributedString: mutableAttributedString)
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:11:38: error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| | `- error: 'AVSpeechSynthesizer' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:28:19: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
14 | public init(language: String) {
| `- note: add '@available' attribute to enclosing initializer
15 | self.language = language
16 | super.init()
:
26 | // Force AVSpeechSynthesizer to speak.
27 | // This most likely initializes some internal language setting that references the first preferredLanguage in UserDefaults.
28 | speak(AVSpeechUtterance(string: ""))
| |- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
29 | stopSpeaking(at: .immediate)
30 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:51:65: error: 'AVSpeechSynthesisIPANotationAttribute' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
45 | /// - voice: Voice to use
46 | /// - willSpeak: Runs just before speech and includes exact string to be spoken.
47 | public func speakIPA(_ ipaString: String, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| `- note: add '@available' attribute to enclosing instance method
48 | let mutableAttributedString = NSMutableAttributedString(string: ipaString)
49 |
50 | let range = NSString(string: ipaString).range(of: ipaString)
51 | let pronunciationKey = NSAttributedString.Key(rawValue: AVSpeechSynthesisIPANotationAttribute)
| |- error: 'AVSpeechSynthesisIPANotationAttribute' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
52 | mutableAttributedString.setAttributes([pronunciationKey: ipaString], range: range)
53 | print(mutableAttributedString.attributes(at: 0, longestEffectiveRange: nil, in: range))
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:55:25: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
45 | /// - voice: Voice to use
46 | /// - willSpeak: Runs just before speech and includes exact string to be spoken.
47 | public func speakIPA(_ ipaString: String, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| `- note: add '@available' attribute to enclosing instance method
48 | let mutableAttributedString = NSMutableAttributedString(string: ipaString)
49 |
:
53 | print(mutableAttributedString.attributes(at: 0, longestEffectiveRange: nil, in: range))
54 |
55 | let utterance = AVSpeechUtterance(attributedString: mutableAttributedString)
| |- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
56 | print(utterance.attributedSpeechString.attributes(at: 0, longestEffectiveRange: nil, in: range))
57 | utterance.voice = voice
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:55:25: error: 'init(attributedString:)' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
45 | /// - voice: Voice to use
46 | /// - willSpeak: Runs just before speech and includes exact string to be spoken.
47 | public func speakIPA(_ ipaString: String, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| `- note: add '@available' attribute to enclosing instance method
48 | let mutableAttributedString = NSMutableAttributedString(string: ipaString)
49 |
:
53 | print(mutableAttributedString.attributes(at: 0, longestEffectiveRange: nil, in: range))
54 |
55 | let utterance = AVSpeechUtterance(attributedString: mutableAttributedString)
| |- error: 'init(attributedString:)' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
56 | print(utterance.attributedSpeechString.attributes(at: 0, longestEffectiveRange: nil, in: range))
57 | utterance.voice = voice
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:56:25: error: 'attributedSpeechString' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
45 | /// - voice: Voice to use
46 | /// - willSpeak: Runs just before speech and includes exact string to be spoken.
47 | public func speakIPA(_ ipaString: String, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| `- note: add '@available' attribute to enclosing instance method
48 | let mutableAttributedString = NSMutableAttributedString(string: ipaString)
49 |
:
54 |
55 | let utterance = AVSpeechUtterance(attributedString: mutableAttributedString)
56 | print(utterance.attributedSpeechString.attributes(at: 0, longestEffectiveRange: nil, in: range))
| |- error: 'attributedSpeechString' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
57 | utterance.voice = voice
58 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:65:55: error: 'identifier' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
45 | /// - voice: Voice to use
46 | /// - willSpeak: Runs just before speech and includes exact string to be spoken.
47 | public func speakIPA(_ ipaString: String, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| `- note: add '@available' attribute to enclosing instance method
48 | let mutableAttributedString = NSMutableAttributedString(string: ipaString)
49 |
:
63 |
64 | willSpeak?(utterance.speechString)
65 | print("speakIPA: \(ipaString), voice: \(voice.identifier), language: \(voice.language), AVLanguage: \(language), preferredLanguages: \(Locale.preferredLanguages)")
| |- error: 'identifier' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
66 | speak(utterance)
67 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:70:15: error: 'init(_:)' is only available in macOS 12 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
67 | }
68 |
69 | public func speak(_ attributedString: AttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| `- note: add '@available' attribute to enclosing instance method
70 | speak(NSMutableAttributedString(attributedString), voice: voice, willSpeak: willSpeak)
| |- error: 'init(_:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
71 | }
72 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:78:25: error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
71 | }
72 |
73 | public func speak(_ mutableAttributedString: NSMutableAttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| `- note: add '@available' attribute to enclosing instance method
74 | // Copied so speaking does not alter the string that was supplied
75 | let stringToSpeak = NSMutableAttributedString(attributedString: mutableAttributedString)
76 | stringToSpeak.setSpeechIPAMatchingAccessibilityIPA()
77 |
78 | let utterance = AVSpeechUtterance(attributedString: stringToSpeak)
| |- error: 'AVSpeechUtterance' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
79 | utterance.voice = voice
80 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA.swift:78:25: error: 'init(attributedString:)' is only available in macOS 10.14 or newer
9 | import AVFoundation
10 |
11 | public class AVSpeechSynthesizerIPA: AVSpeechSynthesizer {
| `- note: add '@available' attribute to enclosing class
12 | let language: String
13 |
:
71 | }
72 |
73 | public func speak(_ mutableAttributedString: NSMutableAttributedString, voice: AVSpeechSynthesisVoice, willSpeak: ((String) -> Void)? = nil) {
| `- note: add '@available' attribute to enclosing instance method
74 | // Copied so speaking does not alter the string that was supplied
75 | let stringToSpeak = NSMutableAttributedString(attributedString: mutableAttributedString)
76 | stringToSpeak.setSpeechIPAMatchingAccessibilityIPA()
77 |
78 | let utterance = AVSpeechUtterance(attributedString: stringToSpeak)
| |- error: 'init(attributedString:)' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
79 | utterance.voice = voice
80 |
[10/13] Compiling OEVoice OEVoice+AVFoundation.swift
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:56:24: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
54 | /// Init from AVSpeechSynthesisVoice
55 | /// - Parameter voice: voice
56 | init? (from voice: AVSpeechSynthesisVoice) {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing initializer
57 | self.init(from: voice.identifier)
58 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:67:16: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
65 | }
66 |
67 | var voice: AVSpeechSynthesisVoice? {
| | `- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add '@available' attribute to enclosing property
68 | // speechVoices() is expensive so it's only called once
69 | let installedIdentifiers = AVSpeechSynthesisVoice.speechVoices().map(\.identifier)
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:97:36: error: 'AttributedString' is only available in macOS 12 or newer
94 | }
95 |
96 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
97 | func speak(_ attributedString: AttributedString, synthesizer: AVSpeechSynthesizerIPA, willSpeak: ((String) -> Void)? = nil) throws {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
98 | try Self.speak(attributedString, oeVoice: self, synthesizer: synthesizer, willSpeak: willSpeak)
99 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:101:43: error: 'AttributedString' is only available in macOS 12 or newer
94 | }
95 |
96 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
97 | func speak(_ attributedString: AttributedString, synthesizer: AVSpeechSynthesizerIPA, willSpeak: ((String) -> Void)? = nil) throws {
98 | try Self.speak(attributedString, oeVoice: self, synthesizer: synthesizer, willSpeak: willSpeak)
99 | }
100 |
101 | static func speak(_ attributedString: AttributedString, oeVoice: OEVoice = .default, synthesizer: AVSpeechSynthesizerIPA, force: Bool = false, willSpeak: ((String) -> Void)? = nil) throws {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing static method
102 | guard let voice = oeVoice.voice else {
103 | throw OEVoiceError.voiceNotFound
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:57:31: error: 'identifier' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
54 | /// Init from AVSpeechSynthesisVoice
55 | /// - Parameter voice: voice
56 | init? (from voice: AVSpeechSynthesisVoice) {
| `- note: add '@available' attribute to enclosing initializer
57 | self.init(from: voice.identifier)
| |- error: 'identifier' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
58 | }
59 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:69:36: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
65 | }
66 |
67 | var voice: AVSpeechSynthesisVoice? {
| `- note: add '@available' attribute to enclosing property
68 | // speechVoices() is expensive so it's only called once
69 | let installedIdentifiers = AVSpeechSynthesisVoice.speechVoices().map(\.identifier)
| |- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
70 |
71 | if installedIdentifiers.contains(identifier) {
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:69:80: error: 'identifier' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
65 | }
66 |
67 | var voice: AVSpeechSynthesisVoice? {
| `- note: add '@available' attribute to enclosing property
68 | // speechVoices() is expensive so it's only called once
69 | let installedIdentifiers = AVSpeechSynthesisVoice.speechVoices().map(\.identifier)
| |- error: 'identifier' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
70 |
71 | if installedIdentifiers.contains(identifier) {
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:72:20: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
65 | }
66 |
67 | var voice: AVSpeechSynthesisVoice? {
| `- note: add '@available' attribute to enclosing property
68 | // speechVoices() is expensive so it's only called once
69 | let installedIdentifiers = AVSpeechSynthesisVoice.speechVoices().map(\.identifier)
70 |
71 | if installedIdentifiers.contains(identifier) {
72 | return AVSpeechSynthesisVoice(identifier: identifier)
| |- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
73 | } else if let legacyIdentifier = installedIdentifiers.first(where: { legacyIdentifiers.contains($0) }) {
74 | return AVSpeechSynthesisVoice(identifier: legacyIdentifier)
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:72:20: error: 'init(identifier:)' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
65 | }
66 |
67 | var voice: AVSpeechSynthesisVoice? {
| `- note: add '@available' attribute to enclosing property
68 | // speechVoices() is expensive so it's only called once
69 | let installedIdentifiers = AVSpeechSynthesisVoice.speechVoices().map(\.identifier)
70 |
71 | if installedIdentifiers.contains(identifier) {
72 | return AVSpeechSynthesisVoice(identifier: identifier)
| |- error: 'init(identifier:)' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
73 | } else if let legacyIdentifier = installedIdentifiers.first(where: { legacyIdentifiers.contains($0) }) {
74 | return AVSpeechSynthesisVoice(identifier: legacyIdentifier)
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:74:20: error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
65 | }
66 |
67 | var voice: AVSpeechSynthesisVoice? {
| `- note: add '@available' attribute to enclosing property
68 | // speechVoices() is expensive so it's only called once
69 | let installedIdentifiers = AVSpeechSynthesisVoice.speechVoices().map(\.identifier)
:
72 | return AVSpeechSynthesisVoice(identifier: identifier)
73 | } else if let legacyIdentifier = installedIdentifiers.first(where: { legacyIdentifiers.contains($0) }) {
74 | return AVSpeechSynthesisVoice(identifier: legacyIdentifier)
| |- error: 'AVSpeechSynthesisVoice' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
75 | }
76 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/OEVoice+AVFoundation.swift:74:20: error: 'init(identifier:)' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension OEVoice {
| `- note: add '@available' attribute to enclosing extension
11 | static let idPrefix = "com.apple.ttsbundle."
12 | static let preferredLanguage = "en-US"
:
65 | }
66 |
67 | var voice: AVSpeechSynthesisVoice? {
| `- note: add '@available' attribute to enclosing property
68 | // speechVoices() is expensive so it's only called once
69 | let installedIdentifiers = AVSpeechSynthesisVoice.speechVoices().map(\.identifier)
:
72 | return AVSpeechSynthesisVoice(identifier: identifier)
73 | } else if let legacyIdentifier = installedIdentifiers.first(where: { legacyIdentifiers.contains($0) }) {
74 | return AVSpeechSynthesisVoice(identifier: legacyIdentifier)
| |- error: 'init(identifier:)' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
75 | }
76 | return nil
[11/13] Compiling OEVoice AVSpeechSynthesizerIPA+OE.swift
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA+OE.swift:17:36: error: 'init(identifier:)' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension AVSpeechSynthesizerIPA {
| `- note: add '@available' attribute to enclosing extension
11 | static var oeVoiceSupported: AVSpeechSynthesizerIPA {
12 | AVSpeechSynthesizerIPA(preferredLanguages: OEVoice.supportedLanguages)
13 | }
14 |
15 | func speakOETest1() {
| `- note: add '@available' attribute to enclosing instance method
16 | // This should sound like "wath"
17 | speakIPA("waːθ", voice: .init(identifier: "com.apple.ttsbundle.siri_Nicky_en-US_compact")!)
| |- error: 'init(identifier:)' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
18 | }
19 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVSpeechSynthesizerIPA+OE.swift:22:36: error: 'init(identifier:)' is only available in macOS 10.14 or newer
8 | import AVFoundation
9 |
10 | public extension AVSpeechSynthesizerIPA {
| `- note: add '@available' attribute to enclosing extension
11 | static var oeVoiceSupported: AVSpeechSynthesizerIPA {
12 | AVSpeechSynthesizerIPA(preferredLanguages: OEVoice.supportedLanguages)
:
18 | }
19 |
20 | func speakOETest2() {
| `- note: add '@available' attribute to enclosing instance method
21 | // This should sound like "wath"
22 | speakIPA("blɛnd", voice: .init(identifier: "com.apple.ttsbundle.siri_Nicky_en-US_compact")!)
| |- error: 'init(identifier:)' is only available in macOS 10.14 or newer
| `- note: add 'if #available' version check
23 | }
24 | }
[12/13] Compiling OEVoice AVAudioSession+setSpeechSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVAudioSession+setSpeechSession.swift:10:18: error: 'AVAudioSession' is unavailable in macOS
8 | import AVFoundation
9 |
10 | public extension AVAudioSession {
| `- error: 'AVAudioSession' is unavailable in macOS
11 | /// Sets audioSession to play on mute, pause other spoken audio and duck anything else.
12 | func setSpeechSession() throws {
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:29:12: note: 'AVAudioSession' has been explicitly marked unavailable here
27 | NS_SWIFT_SENDABLE
28 | API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos)
29 | @interface AVAudioSession : NSObject {
| `- note: 'AVAudioSession' has been explicitly marked unavailable here
30 | @private
31 | void *_impl;
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVAudioSession+setSpeechSession.swift:13:18: error: 'setCategory(_:options:)' is unavailable in macOS
11 | /// Sets audioSession to play on mute, pause other spoken audio and duck anything else.
12 | func setSpeechSession() throws {
13 | try self.setCategory(.playback, options: [.interruptSpokenAudioAndMixWithOthers, .duckOthers])
| `- error: 'setCategory(_:options:)' is unavailable in macOS
14 | }
15 | }
AVFAudio.AVAudioSession.setCategory:3:13: note: 'setCategory(_:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 | open func setCategory(_ category: AVAudioSession.Category, options: AVAudioSession.CategoryOptions = []) throws}
| `- note: 'setCategory(_:options:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVAudioSession+setSpeechSession.swift:13:31: error: 'playback' is unavailable in macOS
11 | /// Sets audioSession to play on mute, pause other spoken audio and duck anything else.
12 | func setSpeechSession() throws {
13 | try self.setCategory(.playback, options: [.interruptSpokenAudioAndMixWithOthers, .duckOthers])
| `- error: 'playback' is unavailable in macOS
14 | }
15 | }
/Applications/Xcode-26.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.2.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSessionTypes.h:100:40: note: 'playback' has been explicitly marked unavailable here
98 |
99 | /*! Use this category for music tracks.*/
100 | OS_EXPORT AVAudioSessionCategory const AVAudioSessionCategoryPlayback API_AVAILABLE(ios(3.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
| `- note: 'playback' has been explicitly marked unavailable here
101 |
102 | /*! Use this category when recording audio. */
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/AVAudioSession+setSpeechSession.swift:13:52: error: 'interruptSpokenAudioAndMixWithOthers' is unavailable in macOS
11 | /// Sets audioSession to play on mute, pause other spoken audio and duck anything else.
12 | func setSpeechSession() throws {
13 | try self.setCategory(.playback, options: [.interruptSpokenAudioAndMixWithOthers, .duckOthers])
| `- error: 'interruptSpokenAudioAndMixWithOthers' is unavailable in macOS
14 | }
15 | }
AVFAudio.AVAudioSession.CategoryOptions.interruptSpokenAudioAndMixWithOthers:4:23: note: 'interruptSpokenAudioAndMixWithOthers' has been explicitly marked unavailable here
2 | struct CategoryOptions {
3 | @available(macOS, unavailable)
4 | public static var interruptSpokenAudioAndMixWithOthers: AVAudioSession.CategoryOptions { get } }
| `- note: 'interruptSpokenAudioAndMixWithOthers' has been explicitly marked unavailable here
5 | }
6 |
[13/13] Compiling OEVoice String-extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:51:93: error: 'AttributedString' is only available in macOS 12 or newer
41 | }
42 |
43 | public extension String {
| `- note: add '@available' attribute to enclosing extension
44 | /// Create an `AttributedString` with accessible Old English IPA pronunciation for specified phrases.
45 | /// WARNING: User voice may not match supported OEVoice so pronunciations may be incorrect
:
49 | /// - voice: Voice used to adjust the ipa pronunciations
50 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
51 | func oldEnglishIPAAttributed(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
52 | AttributedString(self).accessibilityOldEnglishIPA(phrases, voice: voice)
53 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:62:80: error: 'AttributedString' is only available in macOS 12 or newer
41 | }
42 |
43 | public extension String {
| `- note: add '@available' attribute to enclosing extension
44 | /// Create an `AttributedString` with accessible Old English IPA pronunciation for specified phrases.
45 | /// WARNING: User voice may not match supported OEVoice so pronunciations may be incorrect
:
60 | /// - voice: Voice used to adjust the ipa pronunciation
61 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
62 | func oldEnglishIPAAttributed(_ ipa: String?, voice: OEVoice = .default) -> AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
63 | AttributedString(self).accessibilityOldEnglishIPA(ipa, voice: voice)
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:83:86: error: 'AttributedString' is only available in macOS 12 or newer
75 | }
76 |
77 | public extension String {
| `- note: add '@available' attribute to enclosing extension
78 | /// Adds accessible phonetic pronunciation for specified phrases.
79 | /// - Parameters:
:
81 | /// - voice: Unused. Pronunciations are applied as supplied, without voice adjustments.
82 | /// - Returns: `AttributedString` with accessible phonetic pronunciations for specified phrases
83 | func accessibilityIPA(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
84 | AttributedString(self).accessibilityIPA(phrases)
85 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:94:96: error: 'AttributedString' is only available in macOS 12 or newer
75 | }
76 |
77 | public extension String {
| `- note: add '@available' attribute to enclosing extension
78 | /// Adds accessible phonetic pronunciation for specified phrases.
79 | /// - Parameters:
:
92 | /// - voice: Voice used to adjust the ipa pronunciations
93 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
94 | func accessibilityOldEnglishIPA(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| | `- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add '@available' attribute to enclosing instance method
95 | AttributedString(self).accessibilityOldEnglishIPA(phrases, voice: voice)
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:52:9: error: 'AttributedString' is only available in macOS 12 or newer
41 | }
42 |
43 | public extension String {
| `- note: add '@available' attribute to enclosing extension
44 | /// Create an `AttributedString` with accessible Old English IPA pronunciation for specified phrases.
45 | /// WARNING: User voice may not match supported OEVoice so pronunciations may be incorrect
:
49 | /// - voice: Voice used to adjust the ipa pronunciations
50 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
51 | func oldEnglishIPAAttributed(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| `- note: add '@available' attribute to enclosing instance method
52 | AttributedString(self).accessibilityOldEnglishIPA(phrases, voice: voice)
| |- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
53 | }
54 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:52:9: error: 'init(_:attributes:)' is only available in macOS 12 or newer
41 | }
42 |
43 | public extension String {
| `- note: add '@available' attribute to enclosing extension
44 | /// Create an `AttributedString` with accessible Old English IPA pronunciation for specified phrases.
45 | /// WARNING: User voice may not match supported OEVoice so pronunciations may be incorrect
:
49 | /// - voice: Voice used to adjust the ipa pronunciations
50 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
51 | func oldEnglishIPAAttributed(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| `- note: add '@available' attribute to enclosing instance method
52 | AttributedString(self).accessibilityOldEnglishIPA(phrases, voice: voice)
| |- error: 'init(_:attributes:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
53 | }
54 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:63:9: error: 'AttributedString' is only available in macOS 12 or newer
41 | }
42 |
43 | public extension String {
| `- note: add '@available' attribute to enclosing extension
44 | /// Create an `AttributedString` with accessible Old English IPA pronunciation for specified phrases.
45 | /// WARNING: User voice may not match supported OEVoice so pronunciations may be incorrect
:
60 | /// - voice: Voice used to adjust the ipa pronunciation
61 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
62 | func oldEnglishIPAAttributed(_ ipa: String?, voice: OEVoice = .default) -> AttributedString {
| `- note: add '@available' attribute to enclosing instance method
63 | AttributedString(self).accessibilityOldEnglishIPA(ipa, voice: voice)
| |- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:63:9: error: 'init(_:attributes:)' is only available in macOS 12 or newer
41 | }
42 |
43 | public extension String {
| `- note: add '@available' attribute to enclosing extension
44 | /// Create an `AttributedString` with accessible Old English IPA pronunciation for specified phrases.
45 | /// WARNING: User voice may not match supported OEVoice so pronunciations may be incorrect
:
60 | /// - voice: Voice used to adjust the ipa pronunciation
61 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
62 | func oldEnglishIPAAttributed(_ ipa: String?, voice: OEVoice = .default) -> AttributedString {
| `- note: add '@available' attribute to enclosing instance method
63 | AttributedString(self).accessibilityOldEnglishIPA(ipa, voice: voice)
| |- error: 'init(_:attributes:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:84:9: error: 'AttributedString' is only available in macOS 12 or newer
75 | }
76 |
77 | public extension String {
| `- note: add '@available' attribute to enclosing extension
78 | /// Adds accessible phonetic pronunciation for specified phrases.
79 | /// - Parameters:
:
81 | /// - voice: Unused. Pronunciations are applied as supplied, without voice adjustments.
82 | /// - Returns: `AttributedString` with accessible phonetic pronunciations for specified phrases
83 | func accessibilityIPA(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| `- note: add '@available' attribute to enclosing instance method
84 | AttributedString(self).accessibilityIPA(phrases)
| |- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
85 | }
86 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:84:9: error: 'init(_:attributes:)' is only available in macOS 12 or newer
75 | }
76 |
77 | public extension String {
| `- note: add '@available' attribute to enclosing extension
78 | /// Adds accessible phonetic pronunciation for specified phrases.
79 | /// - Parameters:
:
81 | /// - voice: Unused. Pronunciations are applied as supplied, without voice adjustments.
82 | /// - Returns: `AttributedString` with accessible phonetic pronunciations for specified phrases
83 | func accessibilityIPA(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| `- note: add '@available' attribute to enclosing instance method
84 | AttributedString(self).accessibilityIPA(phrases)
| |- error: 'init(_:attributes:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
85 | }
86 |
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:95:9: error: 'AttributedString' is only available in macOS 12 or newer
75 | }
76 |
77 | public extension String {
| `- note: add '@available' attribute to enclosing extension
78 | /// Adds accessible phonetic pronunciation for specified phrases.
79 | /// - Parameters:
:
92 | /// - voice: Voice used to adjust the ipa pronunciations
93 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
94 | func accessibilityOldEnglishIPA(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| `- note: add '@available' attribute to enclosing instance method
95 | AttributedString(self).accessibilityOldEnglishIPA(phrases, voice: voice)
| |- error: 'AttributedString' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OEVoice/extensions/String-extensions.swift:95:9: error: 'init(_:attributes:)' is only available in macOS 12 or newer
75 | }
76 |
77 | public extension String {
| `- note: add '@available' attribute to enclosing extension
78 | /// Adds accessible phonetic pronunciation for specified phrases.
79 | /// - Parameters:
:
92 | /// - voice: Voice used to adjust the ipa pronunciations
93 | /// - Returns: `AttributedString` with accessible Old Egnlish IPA pronunciations for specified phrases
94 | func accessibilityOldEnglishIPA(_ phrases: [String: String], voice: OEVoice = .default) -> AttributedString {
| `- note: add '@available' attribute to enclosing instance method
95 | AttributedString(self).accessibilityOldEnglishIPA(phrases, voice: voice)
| |- error: 'init(_:attributes:)' is only available in macOS 12 or newer
| `- note: add 'if #available' version check
96 | }
97 | }
BUILD FAILURE 6.2 macosSpm