The Swift Package Index logo.Swift Package Index

Build Information

Failed to build WWNormalizeAudioPlayer, reference main (7302b0), with Swift 6.1 for macOS (SPM) on 17 Feb 2026 22:29:28 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/William-Weng/WWNormalizeAudioPlayer.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/William-Weng/WWNormalizeAudioPlayer
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 7302b0a - 改用fps設定更新率
Cloned https://github.com/William-Weng/WWNormalizeAudioPlayer.git
Revision (git rev-parse @):
7302b0a04004bfa4404fad0668b0ff4c6c483eb7
SUCCESS checkout https://github.com/William-Weng/WWNormalizeAudioPlayer.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/William-Weng/WWNormalizeAudioPlayer.git
https://github.com/William-Weng/WWNormalizeAudioPlayer.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "WWNormalizeAudioPlayer",
  "name" : "WWNormalizeAudioPlayer",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "WWNormalizeAudioPlayer",
      "targets" : [
        "WWNormalizeAudioPlayer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "WWNormalizeAudioPlayer",
      "module_type" : "SwiftTarget",
      "name" : "WWNormalizeAudioPlayer",
      "path" : "Sources/WWNormalizeAudioPlayer",
      "product_memberships" : [
        "WWNormalizeAudioPlayer"
      ],
      "sources" : [
        "Utility/Constant.swift",
        "Utility/Extension.swift",
        "Utility/Protocol.swift",
        "WWNormalizeAudioPlayer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/7] Compiling WWNormalizeAudioPlayer Constant.swift
[4/7] Compiling WWNormalizeAudioPlayer Protocol.swift
[5/7] Compiling WWNormalizeAudioPlayer Extension.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:27:35: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                   `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:66: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                  `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:95: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                                               `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:139: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                                                                                           `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:12:18: error: 'AVAudioSession' is unavailable in macOS
 10 |
 11 | // MARK - AVAudioSession
 12 | public extension AVAudioSession {
    |                  `- error: 'AVAudioSession' is unavailable in macOS
 13 |
 14 |     /// 檢查系統音量 + 是否靜音
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:16:31: error: 'outputVolume' is unavailable in macOS
 14 |     /// 檢查系統音量 + 是否靜音
 15 |     func _systemParameter() -> (outputVolume: Float, isOtherAudioPlaying: Bool)  {
 16 |         return (outputVolume: outputVolume, isOtherAudioPlaying: isOtherAudioPlaying)
    |                               `- error: 'outputVolume' is unavailable in macOS
 17 |     }
 18 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:415:28: note: 'outputVolume' has been explicitly marked unavailable here
413 |
414 | /// The current output volume. Value in range [0.0, 1.0]. Is key-value observable.
415 | @property (readonly) float outputVolume API_AVAILABLE(ios(6.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                            `- note: 'outputVolume' has been explicitly marked unavailable here
416 |
417 | /// The prompt style is a hint to sessions using AVAudioSessionModeVoicePrompt to alter the type of
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:16:66: error: 'isOtherAudioPlaying' is unavailable in macOS
 14 |     /// 檢查系統音量 + 是否靜音
 15 |     func _systemParameter() -> (outputVolume: Float, isOtherAudioPlaying: Bool)  {
 16 |         return (outputVolume: outputVolume, isOtherAudioPlaying: isOtherAudioPlaying)
    |                                                                  `- error: 'isOtherAudioPlaying' is unavailable in macOS
 17 |     }
 18 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:402:55: note: 'isOtherAudioPlaying' has been explicitly marked unavailable here
400 |     application is playing.
401 | */
402 | @property (readonly, getter=isOtherAudioPlaying) BOOL otherAudioPlaying API_AVAILABLE(ios(6.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                                       `- note: 'isOtherAudioPlaying' has been explicitly marked unavailable here
403 |
404 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:30:17: error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 28 |
 29 |         do {
 30 |             try setCategory(category, mode: mode, policy: policy, options: options)
    |                 `- error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 31 |             try setActive(isActive)
 32 |             return .success(true)
AVFAudio.AVAudioSession.setCategory:3:13: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws}
  |             `- note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:31:17: error: 'setActive' is unavailable in Swift
 29 |         do {
 30 |             try setCategory(category, mode: mode, policy: policy, options: options)
 31 |             try setActive(isActive)
    |                 `- error: 'setActive' is unavailable in Swift
 32 |             return .success(true)
 33 |         } catch {
AVFAudio.AVAudioSession.setActive:4:13: note: 'setActive' has been explicitly marked unavailable here
2 | @available(macOS, unavailable)
3 |   @available(*, unavailable, message: "Not available in Swift")
4 |   open func setActive(_ active: Bool) throws}
  |             `- note: 'setActive' has been explicitly marked unavailable here
5 |
[6/7] Emitting module WWNormalizeAudioPlayer
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:27:35: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                   `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:66: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                  `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:95: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                                               `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:139: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                                                                                           `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:12:18: error: 'AVAudioSession' is unavailable in macOS
 10 |
 11 | // MARK - AVAudioSession
 12 | public extension AVAudioSession {
    |                  `- error: 'AVAudioSession' is unavailable in macOS
 13 |
 14 |     /// 檢查系統音量 + 是否靜音
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:22:35: error: 'CADisplayLink' is only available in macOS 14.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 20 |     private var equalizerNode: AVAudioUnitEQ?
 21 |
 22 |     private weak var displayLink: CADisplayLink?
    |                                   `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
 23 |
 24 |     public var volume: Float {
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:41: error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                         `- error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:61: error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                                             `- error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:61: error: 'init(minimum:maximum:preferred:)' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                                             `- error: 'init(minimum:maximum:preferred:)' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:137:40: error: 'CADisplayLink' is only available in macOS 14.0 or newer
131 |
132 | // MARK: - 小工具
133 | @objc private extension WWNormalizeAudioPlayer {
    |               `- note: add @available attribute to enclosing extension
134 |
135 |     /// 更新音樂播放時間
136 |     /// - Parameter displayLink: CADisplayLink
137 |     func updatePlayTime(_ displayLink: CADisplayLink) {
    |          |                             `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |          `- note: add @available attribute to enclosing instance method
138 |
139 |         do {
[7/7] Compiling WWNormalizeAudioPlayer WWNormalizeAudioPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:22:35: error: 'CADisplayLink' is only available in macOS 14.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 20 |     private var equalizerNode: AVAudioUnitEQ?
 21 |
 22 |     private weak var displayLink: CADisplayLink?
    |                                   `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
 23 |
 24 |     public var volume: Float {
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:41: error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                         `- error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:61: error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                                             `- error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:61: error: 'init(minimum:maximum:preferred:)' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                                             `- error: 'init(minimum:maximum:preferred:)' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:137:40: error: 'CADisplayLink' is only available in macOS 14.0 or newer
131 |
132 | // MARK: - 小工具
133 | @objc private extension WWNormalizeAudioPlayer {
    |               `- note: add @available attribute to enclosing extension
134 |
135 |     /// 更新音樂播放時間
136 |     /// - Parameter displayLink: CADisplayLink
137 |     func updatePlayTime(_ displayLink: CADisplayLink) {
    |          |                             `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |          `- note: add @available attribute to enclosing instance method
138 |
139 |         do {
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:68:17: error: 'Task' is only available in macOS 10.15 or newer
 38 |
 39 | // MARK: - 公開函式
 40 | public extension WWNormalizeAudioPlayer {
    |        `- note: add @available attribute to enclosing extension
 41 |
 42 |     /// [播放音樂](https://cloud.tencent.com/developer/ask/sof/111888173)
    :
 45 |     ///   - targetDB: 正規化目標值
 46 |     ///   - callbackType: 回傳結束的時機
 47 |     func play(with url: URL, targetDB: Float? = -1.0, callbackType: AVAudioPlayerNodeCompletionCallbackType = .dataPlayedBack) {
    |          `- note: add @available attribute to enclosing instance method
 48 |
 49 |         guard let audioEngine = audioEngine,
    :
 66 |
 67 |             playerNode._schedule(audioFile: audioFile, callbackType: callbackType) { [self] type in
 68 |                 Task { @MainActor in delegate?.audioPlayer(self, callbackType: type, didFinishPlaying: audioFile) }
    |                 |- error: 'Task' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 69 |             }
 70 |
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:68:17: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 38 |
 39 | // MARK: - 公開函式
 40 | public extension WWNormalizeAudioPlayer {
    |        `- note: add @available attribute to enclosing extension
 41 |
 42 |     /// [播放音樂](https://cloud.tencent.com/developer/ask/sof/111888173)
    :
 45 |     ///   - targetDB: 正規化目標值
 46 |     ///   - callbackType: 回傳結束的時機
 47 |     func play(with url: URL, targetDB: Float? = -1.0, callbackType: AVAudioPlayerNodeCompletionCallbackType = .dataPlayedBack) {
    |          `- note: add @available attribute to enclosing instance method
 48 |
 49 |         guard let audioEngine = audioEngine,
    :
 66 |
 67 |             playerNode._schedule(audioFile: audioFile, callbackType: callbackType) { [self] type in
 68 |                 Task { @MainActor in delegate?.audioPlayer(self, callbackType: type, didFinishPlaying: audioFile) }
    |                 |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 69 |             }
 70 |
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:196:25: warning: instance will be immediately deallocated because property 'displayLink' is 'weak'
 20 |     private var equalizerNode: AVAudioUnitEQ?
 21 |
 22 |     private weak var displayLink: CADisplayLink?
    |                      `- note: 'displayLink' declared here
 23 |
 24 |     public var volume: Float {
    :
194 |
195 |         if let preferredFrameRateRange = preferredFrameRateRange {
196 |             displayLink = CADisplayLink(target: self, selector: #selector(updatePlayTime(_:)))
    |                         |- warning: instance will be immediately deallocated because property 'displayLink' is 'weak'
    |                         `- note: a strong reference is required to prevent the instance from being deallocated
197 |             displayLink?.add(to: .main, forMode: .common)
198 |             displayLink?.preferredFrameRateRange = preferredFrameRateRange
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:196:27: error: 'CADisplayLink' is only available in macOS 14.0 or newer
153 |
154 | // MARK: - 小工具
155 | private extension WWNormalizeAudioPlayer {
    |         `- note: add @available attribute to enclosing extension
156 |
157 |     /// 初始化音樂引擎
    :
189 |
190 |     /// 開始計時
191 |     func startTimer() {
    |          `- note: add @available attribute to enclosing instance method
192 |
193 |         stopTimer()
194 |
195 |         if let preferredFrameRateRange = preferredFrameRateRange {
196 |             displayLink = CADisplayLink(target: self, selector: #selector(updatePlayTime(_:)))
    |                           |- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                           `- note: add 'if #available' version check
197 |             displayLink?.add(to: .main, forMode: .common)
198 |             displayLink?.preferredFrameRateRange = preferredFrameRateRange
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:196:27: error: 'init(target:selector:)' is unavailable in macOS
194 |
195 |         if let preferredFrameRateRange = preferredFrameRateRange {
196 |             displayLink = CADisplayLink(target: self, selector: #selector(updatePlayTime(_:)))
    |                           `- error: 'init(target:selector:)' is unavailable in macOS
197 |             displayLink?.add(to: .main, forMode: .common)
198 |             displayLink?.preferredFrameRateRange = preferredFrameRateRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:32:1: note: 'init(target:selector:)' has been explicitly marked unavailable here
 30 |  * For macOS, see NSView/NSWindow/NSScreen.displayLink(withTarget:selector:). */
 31 |
 32 | + (CADisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel
    | `- note: 'init(target:selector:)' has been explicitly marked unavailable here
 33 |     API_UNAVAILABLE(macos);
 34 |
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/6] Compiling WWNormalizeAudioPlayer Constant.swift
[3/6] Emitting module WWNormalizeAudioPlayer
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:27:35: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                   `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:66: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                  `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:95: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                                               `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:139: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                                                                                           `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:12:18: error: 'AVAudioSession' is unavailable in macOS
 10 |
 11 | // MARK - AVAudioSession
 12 | public extension AVAudioSession {
    |                  `- error: 'AVAudioSession' is unavailable in macOS
 13 |
 14 |     /// 檢查系統音量 + 是否靜音
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:22:35: error: 'CADisplayLink' is only available in macOS 14.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 20 |     private var equalizerNode: AVAudioUnitEQ?
 21 |
 22 |     private weak var displayLink: CADisplayLink?
    |                                   `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
 23 |
 24 |     public var volume: Float {
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:41: error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                         `- error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:61: error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                                             `- error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:61: error: 'init(minimum:maximum:preferred:)' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                                             `- error: 'init(minimum:maximum:preferred:)' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:137:40: error: 'CADisplayLink' is only available in macOS 14.0 or newer
131 |
132 | // MARK: - 小工具
133 | @objc private extension WWNormalizeAudioPlayer {
    |               `- note: add @available attribute to enclosing extension
134 |
135 |     /// 更新音樂播放時間
136 |     /// - Parameter displayLink: CADisplayLink
137 |     func updatePlayTime(_ displayLink: CADisplayLink) {
    |          |                             `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |          `- note: add @available attribute to enclosing instance method
138 |
139 |         do {
[4/6] Compiling WWNormalizeAudioPlayer Protocol.swift
[5/6] Compiling WWNormalizeAudioPlayer Extension.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:27:35: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                   `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:66: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                  `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:95: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                                               `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:27:139: error: 'AVAudioSession' is unavailable in macOS
 25 |     ///   - isActive: Bool
 26 |     /// - Returns: Result<Bool, Error>
 27 |     func _setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions, isActive: Bool) -> Result<Bool, Error> {
    |                                                                                                                                           `- error: 'AVAudioSession' is unavailable in macOS
 28 |
 29 |         do {
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:12:18: error: 'AVAudioSession' is unavailable in macOS
 10 |
 11 | // MARK - AVAudioSession
 12 | public extension AVAudioSession {
    |                  `- error: 'AVAudioSession' is unavailable in macOS
 13 |
 14 |     /// 檢查系統音量 + 是否靜音
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.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/WWNormalizeAudioPlayer/Utility/Extension.swift:16:31: error: 'outputVolume' is unavailable in macOS
 14 |     /// 檢查系統音量 + 是否靜音
 15 |     func _systemParameter() -> (outputVolume: Float, isOtherAudioPlaying: Bool)  {
 16 |         return (outputVolume: outputVolume, isOtherAudioPlaying: isOtherAudioPlaying)
    |                               `- error: 'outputVolume' is unavailable in macOS
 17 |     }
 18 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:415:28: note: 'outputVolume' has been explicitly marked unavailable here
413 |
414 | /// The current output volume. Value in range [0.0, 1.0]. Is key-value observable.
415 | @property (readonly) float outputVolume API_AVAILABLE(ios(6.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                            `- note: 'outputVolume' has been explicitly marked unavailable here
416 |
417 | /// The prompt style is a hint to sessions using AVAudioSessionModeVoicePrompt to alter the type of
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:16:66: error: 'isOtherAudioPlaying' is unavailable in macOS
 14 |     /// 檢查系統音量 + 是否靜音
 15 |     func _systemParameter() -> (outputVolume: Float, isOtherAudioPlaying: Bool)  {
 16 |         return (outputVolume: outputVolume, isOtherAudioPlaying: isOtherAudioPlaying)
    |                                                                  `- error: 'isOtherAudioPlaying' is unavailable in macOS
 17 |     }
 18 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AVFAudio.framework/Headers/AVAudioSession.h:402:55: note: 'isOtherAudioPlaying' has been explicitly marked unavailable here
400 |     application is playing.
401 | */
402 | @property (readonly, getter=isOtherAudioPlaying) BOOL otherAudioPlaying API_AVAILABLE(ios(6.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);
    |                                                       `- note: 'isOtherAudioPlaying' has been explicitly marked unavailable here
403 |
404 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:30:17: error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 28 |
 29 |         do {
 30 |             try setCategory(category, mode: mode, policy: policy, options: options)
    |                 `- error: 'setCategory(_:mode:policy:options:)' is unavailable in macOS
 31 |             try setActive(isActive)
 32 |             return .success(true)
AVFAudio.AVAudioSession.setCategory:3:13: note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
1 | class AVAudioSession {
2 | @available(macOS, unavailable)
3 |   open func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws}
  |             `- note: 'setCategory(_:mode:policy:options:)' has been explicitly marked unavailable here
4 |
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/Utility/Extension.swift:31:17: error: 'setActive' is unavailable in Swift
 29 |         do {
 30 |             try setCategory(category, mode: mode, policy: policy, options: options)
 31 |             try setActive(isActive)
    |                 `- error: 'setActive' is unavailable in Swift
 32 |             return .success(true)
 33 |         } catch {
AVFAudio.AVAudioSession.setActive:4:13: note: 'setActive' has been explicitly marked unavailable here
2 | @available(macOS, unavailable)
3 |   @available(*, unavailable, message: "Not available in Swift")
4 |   open func setActive(_ active: Bool) throws}
  |             `- note: 'setActive' has been explicitly marked unavailable here
5 |
[6/6] Compiling WWNormalizeAudioPlayer WWNormalizeAudioPlayer.swift
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:22:35: error: 'CADisplayLink' is only available in macOS 14.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 20 |     private var equalizerNode: AVAudioUnitEQ?
 21 |
 22 |     private weak var displayLink: CADisplayLink?
    |                                   `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
 23 |
 24 |     public var volume: Float {
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:41: error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                         `- error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:61: error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                                             `- error: 'CAFrameRateRange' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:29:61: error: 'init(minimum:maximum:preferred:)' is only available in macOS 12.0 or newer
 10 |
 11 | // MARK: - 音量正規化聲音播放器
 12 | open class WWNormalizeAudioPlayer {
    |            `- note: add @available attribute to enclosing class
 13 |
 14 |     public weak var delegate: Deleagte?
    :
 27 |     }
 28 |
 29 |     public var preferredFrameRateRange: CAFrameRateRange? = CAFrameRateRange(minimum: 5, maximum: 5)
    |                                                             `- error: 'init(minimum:maximum:preferred:)' is only available in macOS 12.0 or newer
 30 |
 31 |     public init() { initAudioEngine() }
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:137:40: error: 'CADisplayLink' is only available in macOS 14.0 or newer
131 |
132 | // MARK: - 小工具
133 | @objc private extension WWNormalizeAudioPlayer {
    |               `- note: add @available attribute to enclosing extension
134 |
135 |     /// 更新音樂播放時間
136 |     /// - Parameter displayLink: CADisplayLink
137 |     func updatePlayTime(_ displayLink: CADisplayLink) {
    |          |                             `- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |          `- note: add @available attribute to enclosing instance method
138 |
139 |         do {
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:68:17: error: 'Task' is only available in macOS 10.15 or newer
 38 |
 39 | // MARK: - 公開函式
 40 | public extension WWNormalizeAudioPlayer {
    |        `- note: add @available attribute to enclosing extension
 41 |
 42 |     /// [播放音樂](https://cloud.tencent.com/developer/ask/sof/111888173)
    :
 45 |     ///   - targetDB: 正規化目標值
 46 |     ///   - callbackType: 回傳結束的時機
 47 |     func play(with url: URL, targetDB: Float? = -1.0, callbackType: AVAudioPlayerNodeCompletionCallbackType = .dataPlayedBack) {
    |          `- note: add @available attribute to enclosing instance method
 48 |
 49 |         guard let audioEngine = audioEngine,
    :
 66 |
 67 |             playerNode._schedule(audioFile: audioFile, callbackType: callbackType) { [self] type in
 68 |                 Task { @MainActor in delegate?.audioPlayer(self, callbackType: type, didFinishPlaying: audioFile) }
    |                 |- error: 'Task' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 69 |             }
 70 |
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:68:17: error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
 38 |
 39 | // MARK: - 公開函式
 40 | public extension WWNormalizeAudioPlayer {
    |        `- note: add @available attribute to enclosing extension
 41 |
 42 |     /// [播放音樂](https://cloud.tencent.com/developer/ask/sof/111888173)
    :
 45 |     ///   - targetDB: 正規化目標值
 46 |     ///   - callbackType: 回傳結束的時機
 47 |     func play(with url: URL, targetDB: Float? = -1.0, callbackType: AVAudioPlayerNodeCompletionCallbackType = .dataPlayedBack) {
    |          `- note: add @available attribute to enclosing instance method
 48 |
 49 |         guard let audioEngine = audioEngine,
    :
 66 |
 67 |             playerNode._schedule(audioFile: audioFile, callbackType: callbackType) { [self] type in
 68 |                 Task { @MainActor in delegate?.audioPlayer(self, callbackType: type, didFinishPlaying: audioFile) }
    |                 |- error: 'init(priority:operation:)' is only available in macOS 10.15 or newer
    |                 `- note: add 'if #available' version check
 69 |             }
 70 |
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:196:25: warning: instance will be immediately deallocated because property 'displayLink' is 'weak'
 20 |     private var equalizerNode: AVAudioUnitEQ?
 21 |
 22 |     private weak var displayLink: CADisplayLink?
    |                      `- note: 'displayLink' declared here
 23 |
 24 |     public var volume: Float {
    :
194 |
195 |         if let preferredFrameRateRange = preferredFrameRateRange {
196 |             displayLink = CADisplayLink(target: self, selector: #selector(updatePlayTime(_:)))
    |                         |- warning: instance will be immediately deallocated because property 'displayLink' is 'weak'
    |                         `- note: a strong reference is required to prevent the instance from being deallocated
197 |             displayLink?.add(to: .main, forMode: .common)
198 |             displayLink?.preferredFrameRateRange = preferredFrameRateRange
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:196:27: error: 'CADisplayLink' is only available in macOS 14.0 or newer
153 |
154 | // MARK: - 小工具
155 | private extension WWNormalizeAudioPlayer {
    |         `- note: add @available attribute to enclosing extension
156 |
157 |     /// 初始化音樂引擎
    :
189 |
190 |     /// 開始計時
191 |     func startTimer() {
    |          `- note: add @available attribute to enclosing instance method
192 |
193 |         stopTimer()
194 |
195 |         if let preferredFrameRateRange = preferredFrameRateRange {
196 |             displayLink = CADisplayLink(target: self, selector: #selector(updatePlayTime(_:)))
    |                           |- error: 'CADisplayLink' is only available in macOS 14.0 or newer
    |                           `- note: add 'if #available' version check
197 |             displayLink?.add(to: .main, forMode: .common)
198 |             displayLink?.preferredFrameRateRange = preferredFrameRateRange
/Users/admin/builder/spi-builder-workspace/Sources/WWNormalizeAudioPlayer/WWNormalizeAudioPlayer.swift:196:27: error: 'init(target:selector:)' is unavailable in macOS
194 |
195 |         if let preferredFrameRateRange = preferredFrameRateRange {
196 |             displayLink = CADisplayLink(target: self, selector: #selector(updatePlayTime(_:)))
    |                           `- error: 'init(target:selector:)' is unavailable in macOS
197 |             displayLink?.add(to: .main, forMode: .common)
198 |             displayLink?.preferredFrameRateRange = preferredFrameRateRange
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CADisplayLink.h:32:1: note: 'init(target:selector:)' has been explicitly marked unavailable here
 30 |  * For macOS, see NSView/NSWindow/NSScreen.displayLink(withTarget:selector:). */
 31 |
 32 | + (CADisplayLink *)displayLinkWithTarget:(id)target selector:(SEL)sel
    | `- note: 'init(target:selector:)' has been explicitly marked unavailable here
 33 |     API_UNAVAILABLE(macos);
 34 |
BUILD FAILURE 6.1 macosSpm