The Swift Package Index logo.Swift Package Index

Build Information

Failed to build HueEntertainmentSwift, reference main (3124c6), with Swift 6.3 for macOS (SPM) on 13 Apr 2026 08:31:24 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nakajima/HueEntertainmentSwift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/nakajima/HueEntertainmentSwift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 3124c6f bump
Cloned https://github.com/nakajima/HueEntertainmentSwift.git
Revision (git rev-parse @):
3124c6f4724aad5b5006b3d72d1022457584e5df
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/nakajima/HueEntertainmentSwift.git at main
Fetching https://github.com/apple/swift-docc-plugin.git
[1/2271] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin.git from cache (1.16s)
Computing version for https://github.com/apple/swift-docc-plugin.git
Computed https://github.com/apple/swift-docc-plugin.git at 1.0.0 (1.84s)
Creating working copy for https://github.com/apple/swift-docc-plugin.git
Working copy of https://github.com/apple/swift-docc-plugin.git resolved at 1.0.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "hueentertainmentswift",
      "name": "HueEntertainmentSwift",
      "url": "https://github.com/nakajima/HueEntertainmentSwift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/HueEntertainmentSwift",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/nakajima/HueEntertainmentSwift.git
[6/525] Fetching hueentertainmentswift
Fetched https://github.com/nakajima/HueEntertainmentSwift.git from cache (0.68s)
Creating working copy for https://github.com/nakajima/HueEntertainmentSwift.git
Working copy of https://github.com/nakajima/HueEntertainmentSwift.git resolved at main (3124c6f)
warning: '.resolve-product-dependencies': dependency 'hueentertainmentswift' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/nakajima/HueEntertainmentSwift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version--6988338F2F200930.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/16] Compiling HueEntertainmentSwift String.swift
[6/16] Compiling HueEntertainmentSwift HueSession+Settings.swift
[7/16] Compiling HueEntertainmentSwift JSONTypes.swift
[8/16] Emitting module HueEntertainmentSwift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/AreaUpdate.swift:13:29: error: 'Color' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, *)
12 | struct AreaUpdate {
   |        `- note: add '@available' attribute to enclosing struct
13 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
14 | 	var animation: Animation
15 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:21:19: error: 'Color' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add '@available' attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       |           `- error: 'Color' is only available in macOS 10.15 or newer
   |       `- note: add '@available' attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/HueSession.swift:45:25: error: 'NWConnection' is only available in macOS 10.14 or newer
 13 |  */
 14 | @available(iOS 14.0, *)
 15 | public class HueSession: NSObject, URLSessionDelegate {
    |              `- note: add '@available' attribute to enclosing class
 16 | 	/**
 17 | 	 The local network IP of your bridge. Can be set by calling ``findIP()``.
    :
 43 |
 44 | 	/// The connection used to send UDP messages to the bridge.
 45 | 	public var connection: NWConnection?
    |                         `- error: 'NWConnection' is only available in macOS 10.14 or newer
 46 |
 47 | 	/// The entertainment area (configured in the Hue app) to be controlled
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Message.swift:15:29: error: 'Color' is only available in macOS 10.15 or newer
11 | /// A UDP message used by the hue entertainment API (v2).
12 | @available(iOS 14.0, *)
13 | public struct Message {
   |               `- note: add '@available' attribute to enclosing struct
14 | 	var area: HueEntertainmentArea
15 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
16 | 	var forcedBrightness: Double?
17 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Message.swift:26:59: error: 'Color' is only available in macOS 10.15 or newer
11 | /// A UDP message used by the hue entertainment API (v2).
12 | @available(iOS 14.0, *)
13 | public struct Message {
   |               `- note: add '@available' attribute to enclosing struct
14 | 	var area: HueEntertainmentArea
15 | 	var channelColors: [UInt8: Color]
   :
24 | 	}
25 |
26 | 	init(area: HueEntertainmentArea, channelColors: [UInt8 : Color], forcedBrightness: Double? = nil) {
   |  |                                                        `- error: 'Color' is only available in macOS 10.15 or newer
   |  `- note: add '@available' attribute to enclosing initializer
27 | 		self.area = area
28 | 		self.channelColors = channelColors
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:80:23: error: cannot find type 'UIColor' in scope
 78 |
 79 | 	@available(iOS 14, *)
 80 | 	public init(uiColor: UIColor, forcedBrightness: Double? = nil) {
    |                       `- error: cannot find type 'UIColor' in scope
 81 | 		self.gamut = GamutC
 82 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:97:21: error: 'Color' is only available in macOS 10.15 or newer
 15 | /// Handles coversions from Swift ``UIColor`` and ``SwiftUI.Color`` to the XY system used by Hue.
 16 | @available(iOS 13.0, *)
 17 | public struct XYBrightness {
    |               `- note: add '@available' attribute to enclosing struct
 18 | 	/// Determines what set of colors are available, depending on what devices you have
 19 | 	public struct Gamut {
    :
 95 |
 96 | 	@available(iOS 14.0, *)
 97 | 	public init(color: Color, forcedBrightness: Double? = nil) {
    |         |           `- error: 'Color' is only available in macOS 10.15 or newer
    |         `- note: add '@available' attribute to enclosing initializer
 98 | 		self.init(uiColor: UIColor(color), forcedBrightness: forcedBrightness)
 99 | 	}
[9/16] Compiling HueEntertainmentSwift HueSession+HTTP.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+HTTP.swift:53:31: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
 9 |
10 | @available(iOS 14.0, *)
11 | extension HueSession {
   | `- note: add '@available' attribute to enclosing extension
12 | 	struct DummyCodable: Codable {}
13 |
   :
34 | 	}
35 |
36 | 	func makeRawRequest(method: String, path: String, configuration: ((inout URLRequest) async throws -> Void)? = nil) async throws -> (Data, URLResponse) {
   |       `- note: add '@available' attribute to enclosing instance method
37 | 		guard let ip = ip else {
38 | 			throw HueError.requestError("NO IP")
   :
51 | 		}
52 |
53 | 		return try await urlsession.data(for: request)
   |                               |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
   |                               `- note: add 'if #available' version check
54 | 	}
55 |
[10/16] Compiling HueEntertainmentSwift HueSession+Control.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:21:19: error: 'Color' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add '@available' attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       |           `- error: 'Color' is only available in macOS 10.15 or newer
   |       `- note: add '@available' attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:26:34: error: 'Color' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add '@available' attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       `- note: add '@available' attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
24 | 		}
25 |
26 | 		let colors = colors.isEmpty ? [Color.white] : colors.shuffled()
   |                                  |- error: 'Color' is only available in macOS 10.15 or newer
   |                                  `- note: add 'if #available' version check
27 |
28 | 		var channelColors: [UInt8: Color] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:26:40: error: 'white' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add '@available' attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       `- note: add '@available' attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
24 | 		}
25 |
26 | 		let colors = colors.isEmpty ? [Color.white] : colors.shuffled()
   |                                        |- error: 'white' is only available in macOS 10.15 or newer
   |                                        `- note: add 'if #available' version check
27 |
28 | 		var channelColors: [UInt8: Color] = [:]
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Control.swift:28:30: error: 'Color' is only available in macOS 10.15 or newer
11 |
12 | @available(iOS 14.0, *)
13 | public extension HueSession {
   |        `- note: add '@available' attribute to enclosing extension
14 | 	/**
15 | 	 Turns on lights.
   :
19 | 	 */
20 |
21 | 	func on(colors: [Color], ramp: Double = 0) {
   |       `- note: add '@available' attribute to enclosing instance method
22 | 		guard let area = area, let channels = area.channels else {
23 | 			return
   :
26 | 		let colors = colors.isEmpty ? [Color.white] : colors.shuffled()
27 |
28 | 		var channelColors: [UInt8: Color] = [:]
   |                              |- error: 'Color' is only available in macOS 10.15 or newer
   |                              `- note: add 'if #available' version check
29 | 		for (i, channel) in channels.enumerated() {
30 | 			channelColors[channel.channel_id] = colors[i % colors.count]
[11/16] Compiling HueEntertainmentSwift Message.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Message.swift:15:29: error: 'Color' is only available in macOS 10.15 or newer
11 | /// A UDP message used by the hue entertainment API (v2).
12 | @available(iOS 14.0, *)
13 | public struct Message {
   |               `- note: add '@available' attribute to enclosing struct
14 | 	var area: HueEntertainmentArea
15 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
16 | 	var forcedBrightness: Double?
17 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Message.swift:26:59: error: 'Color' is only available in macOS 10.15 or newer
11 | /// A UDP message used by the hue entertainment API (v2).
12 | @available(iOS 14.0, *)
13 | public struct Message {
   |               `- note: add '@available' attribute to enclosing struct
14 | 	var area: HueEntertainmentArea
15 | 	var channelColors: [UInt8: Color]
   :
24 | 	}
25 |
26 | 	init(area: HueEntertainmentArea, channelColors: [UInt8 : Color], forcedBrightness: Double? = nil) {
   |  |                                                        `- error: 'Color' is only available in macOS 10.15 or newer
   |  `- note: add '@available' attribute to enclosing initializer
27 | 		self.area = area
28 | 		self.channelColors = channelColors
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:80:23: error: cannot find type 'UIColor' in scope
 78 |
 79 | 	@available(iOS 14, *)
 80 | 	public init(uiColor: UIColor, forcedBrightness: Double? = nil) {
    |                       `- error: cannot find type 'UIColor' in scope
 81 | 		self.gamut = GamutC
 82 |
[12/16] Compiling HueEntertainmentSwift HueSession.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/HueSession.swift:45:25: error: 'NWConnection' is only available in macOS 10.14 or newer
 13 |  */
 14 | @available(iOS 14.0, *)
 15 | public class HueSession: NSObject, URLSessionDelegate {
    |              `- note: add '@available' attribute to enclosing class
 16 | 	/**
 17 | 	 The local network IP of your bridge. Can be set by calling ``findIP()``.
    :
 43 |
 44 | 	/// The connection used to send UDP messages to the bridge.
 45 | 	public var connection: NWConnection?
    |                         `- error: 'NWConnection' is only available in macOS 10.14 or newer
 46 |
 47 | 	/// The entertainment area (configured in the Hue app) to be controlled
[13/16] Compiling HueEntertainmentSwift HueSession+Animation.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:36: error: 'IPv4Address' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                    |- error: 'IPv4Address' is only available in macOS 10.14 or newer
    |                                    `- note: add 'if #available' version check
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:28:17: error: 'NWProtocolTLS' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
 27 |
 28 | 		let options = NWProtocolTLS.Options()
    |                 |- error: 'NWProtocolTLS' is only available in macOS 10.14 or newer
    |                 `- note: add 'if #available' version check
 29 |
 30 | 		let clientKeyBytes = clientKey.hexToBytes
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:34:3: error: 'sec_protocol_options_append_tls_ciphersuite' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 32 | 		let pskIdentity = appID.data(using: .utf8)!.withUnsafeBytes { DispatchData(bytes: $0) } as __DispatchData
 33 |
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
    |   |- error: 'sec_protocol_options_append_tls_ciphersuite' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:35:3: error: 'sec_protocol_options_add_pre_shared_key' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 33 |
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
    |   |- error: 'sec_protocol_options_add_pre_shared_key' is only available in macOS 10.14 or newer
    |   `- note: add 'if #available' version check
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:36:3: error: 'sec_protocol_options_set_min_tls_protocol_version' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
    |   |- error: 'sec_protocol_options_set_min_tls_protocol_version' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:37:3: error: 'sec_protocol_options_set_max_tls_protocol_version' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
    |   |- error: 'sec_protocol_options_set_max_tls_protocol_version' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
 39 | 			complete(true)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:38:3: error: 'sec_protocol_options_set_verify_block' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
    |   |- error: 'sec_protocol_options_set_verify_block' is only available in macOS 10.14 or newer
    |   `- note: add 'if #available' version check
 39 | 			complete(true)
 40 | 		}, queue)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:42:20: error: 'NWConnection' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 40 | 		}, queue)
 41 |
 42 | 		let connection = NWConnection(host: NWEndpoint.Host.ipv4(address), port: 2100, using: .init(dtls: options))
    |                    |- error: 'NWConnection' is only available in macOS 10.14 or newer
    |                    `- note: add 'if #available' version check
 43 |
 44 | 		connection.stateUpdateHandler = { [weak self] state in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:42:39: error: 'NWEndpoint' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 40 | 		}, queue)
 41 |
 42 | 		let connection = NWConnection(host: NWEndpoint.Host.ipv4(address), port: 2100, using: .init(dtls: options))
    |                                       |- error: 'NWEndpoint' is only available in macOS 10.14 or newer
    |                                       `- note: add 'if #available' version check
 43 |
 44 | 		connection.stateUpdateHandler = { [weak self] state in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:49:4: warning: switch must be exhaustive
 47 | 			}
 48 |
 49 | 			switch state {
    |    |- warning: switch must be exhaustive
    |    |- note: add missing case: '.setup'
    |    |- note: add missing case: '.waiting(_)'
    |    |- note: add missing case: '.preparing'
    |    `- note: add missing cases
 50 | 			case .ready:
 51 | 				self.connection = connection
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:13: warning: variable 'ip' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |             `- warning: variable 'ip' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:26: warning: variable 'address' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                          `- warning: variable 'address' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:57: warning: variable 'clientKey' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                         `- warning: variable 'clientKey' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:89: warning: variable 'appID' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                                                         `- warning: variable 'appID' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:113: warning: variable 'username' was never used; consider replacing with '_' or removing it [#no-usage]
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                                                                                 `- warning: variable 'username' was never used; consider replacing with '_' or removing it [#no-usage]
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:54:21: warning: immutable value 'err' was never used; consider replacing with '_' or removing it [#no-usage]
 52 | 			case .cancelled:
 53 | 				self.connection = nil
 54 | 			case let .failed(err): connection.cancel()
    |                     `- warning: immutable value 'err' was never used; consider replacing with '_' or removing it [#no-usage]
 55 | 			@unknown default:
 56 | 				print("??")
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:69:40: error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
 65 | 	 of calling this repeatedly, as you can run into rate-limiting issues.
 66 | 	 */
 67 | 	func findIP() async throws {
    |       `- note: add '@available' attribute to enclosing instance method
 68 | 		let url = URL(string: "https://discovery.meethue.com")!
 69 | 		let (data, _) = try await urlsession.data(from: url)
    |                                        |- error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
    |                                        `- note: add 'if #available' version check
 70 | 		let bridgeResponse = try JSONDecoder().decode([HueBridgeResponse].self, from: data)
 71 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:89:41: error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
 80 | 	 Helper to see if bridge is accessible.
 81 | 	 */
 82 | 	func check() async throws -> Bool {
    |       `- note: add '@available' attribute to enclosing instance method
 83 | 		guard let ip = ip else {
 84 | 			return false
    :
 87 | 		let url = URL(string: "https://\(ip)/api/0/config")!
 88 | 		do {
 89 | 			let (data, _) = try await urlsession.data(from: url)
    |                                         |- error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
    |                                         `- note: add 'if #available' version check
 90 | 			_ = try JSONDecoder().decode(HueBridgeCheck.self, from: data)
 91 | 		} catch {
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:131:15: error: 'value(forHTTPHeaderField:)' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
102 | 	 > Important: This method requires the user to press the link button on their Hue bridge. If the link button has not been pressed, a ``linkButtonNotPressedError`` error will be thrown.
103 | 	 */
104 | 	func login(device: String) async throws {
    |       `- note: add '@available' attribute to enclosing instance method
105 | 		let bridgeResponse: [BridgeKeyResponse]? = try await post("api", data: BridgeKeyRequest(devicetype: device, generateclientkey: true))
106 |
    :
129 |
130 | 		let res = response as! HTTPURLResponse
131 | 		appID = res.value(forHTTPHeaderField: "hue-application-id")
    |               |- error: 'value(forHTTPHeaderField:)' is only available in macOS 10.15 or newer
    |               `- note: add 'if #available' version check
132 | 	}
133 | }
[14/16] Compiling HueEntertainmentSwift HueSession+Auth.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:36: error: 'IPv4Address' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                    |- error: 'IPv4Address' is only available in macOS 10.14 or newer
    |                                    `- note: add 'if #available' version check
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:28:17: error: 'NWProtocolTLS' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
 27 |
 28 | 		let options = NWProtocolTLS.Options()
    |                 |- error: 'NWProtocolTLS' is only available in macOS 10.14 or newer
    |                 `- note: add 'if #available' version check
 29 |
 30 | 		let clientKeyBytes = clientKey.hexToBytes
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:34:3: error: 'sec_protocol_options_append_tls_ciphersuite' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 32 | 		let pskIdentity = appID.data(using: .utf8)!.withUnsafeBytes { DispatchData(bytes: $0) } as __DispatchData
 33 |
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
    |   |- error: 'sec_protocol_options_append_tls_ciphersuite' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:35:3: error: 'sec_protocol_options_add_pre_shared_key' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 33 |
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
    |   |- error: 'sec_protocol_options_add_pre_shared_key' is only available in macOS 10.14 or newer
    |   `- note: add 'if #available' version check
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:36:3: error: 'sec_protocol_options_set_min_tls_protocol_version' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 34 | 		sec_protocol_options_append_tls_ciphersuite(options.securityProtocolOptions, tls_ciphersuite_t(rawValue: TLS_PSK_WITH_AES_128_GCM_SHA256)!)
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
    |   |- error: 'sec_protocol_options_set_min_tls_protocol_version' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:37:3: error: 'sec_protocol_options_set_max_tls_protocol_version' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 35 | 		sec_protocol_options_add_pre_shared_key(options.securityProtocolOptions, psk, pskIdentity)
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
    |   |- error: 'sec_protocol_options_set_max_tls_protocol_version' is only available in macOS 10.15 or newer
    |   `- note: add 'if #available' version check
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
 39 | 			complete(true)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:38:3: error: 'sec_protocol_options_set_verify_block' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 36 | 		sec_protocol_options_set_min_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 37 | 		sec_protocol_options_set_max_tls_protocol_version(options.securityProtocolOptions, .DTLSv12)
 38 | 		sec_protocol_options_set_verify_block(options.securityProtocolOptions, { (_: sec_protocol_metadata_t, _: sec_trust_t, complete: @escaping sec_protocol_verify_complete_t) in
    |   |- error: 'sec_protocol_options_set_verify_block' is only available in macOS 10.14 or newer
    |   `- note: add 'if #available' version check
 39 | 			complete(true)
 40 | 		}, queue)
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:42:20: error: 'NWConnection' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 40 | 		}, queue)
 41 |
 42 | 		let connection = NWConnection(host: NWEndpoint.Host.ipv4(address), port: 2100, using: .init(dtls: options))
    |                    |- error: 'NWConnection' is only available in macOS 10.14 or newer
    |                    `- note: add 'if #available' version check
 43 |
 44 | 		connection.stateUpdateHandler = { [weak self] state in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:42:39: error: 'NWEndpoint' is only available in macOS 10.14 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
 22 | 	 */
 23 | 	func connect() throws {
    |       `- note: add '@available' attribute to enclosing instance method
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
 25 | 			throw HueError.connectionError("Could not connect")
    :
 40 | 		}, queue)
 41 |
 42 | 		let connection = NWConnection(host: NWEndpoint.Host.ipv4(address), port: 2100, using: .init(dtls: options))
    |                                       |- error: 'NWEndpoint' is only available in macOS 10.14 or newer
    |                                       `- note: add 'if #available' version check
 43 |
 44 | 		connection.stateUpdateHandler = { [weak self] state in
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:49:4: warning: switch must be exhaustive
 47 | 			}
 48 |
 49 | 			switch state {
    |    |- warning: switch must be exhaustive
    |    |- note: add missing case: '.setup'
    |    |- note: add missing case: '.waiting(_)'
    |    |- note: add missing case: '.preparing'
    |    `- note: add missing cases
 50 | 			case .ready:
 51 | 				self.connection = connection
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:13: warning: variable 'ip' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |             `- warning: variable 'ip' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:26: warning: variable 'address' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                          `- warning: variable 'address' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:57: warning: variable 'clientKey' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                         `- warning: variable 'clientKey' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:89: warning: variable 'appID' was never mutated; consider changing to 'let' constant
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                                                         `- warning: variable 'appID' was never mutated; consider changing to 'let' constant
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:24:113: warning: variable 'username' was never used; consider replacing with '_' or removing it [#no-usage]
 22 | 	 */
 23 | 	func connect() throws {
 24 | 		guard var ip = ip, var address = IPv4Address(ip), var clientKey = self.clientKey, var appID = self.appID, var username = self.username else {
    |                                                                                                                 `- warning: variable 'username' was never used; consider replacing with '_' or removing it [#no-usage]
 25 | 			throw HueError.connectionError("Could not connect")
 26 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:54:21: warning: immutable value 'err' was never used; consider replacing with '_' or removing it [#no-usage]
 52 | 			case .cancelled:
 53 | 				self.connection = nil
 54 | 			case let .failed(err): connection.cancel()
    |                     `- warning: immutable value 'err' was never used; consider replacing with '_' or removing it [#no-usage]
 55 | 			@unknown default:
 56 | 				print("??")
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:69:40: error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
 65 | 	 of calling this repeatedly, as you can run into rate-limiting issues.
 66 | 	 */
 67 | 	func findIP() async throws {
    |       `- note: add '@available' attribute to enclosing instance method
 68 | 		let url = URL(string: "https://discovery.meethue.com")!
 69 | 		let (data, _) = try await urlsession.data(from: url)
    |                                        |- error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
    |                                        `- note: add 'if #available' version check
 70 | 		let bridgeResponse = try JSONDecoder().decode([HueBridgeResponse].self, from: data)
 71 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:89:41: error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
 80 | 	 Helper to see if bridge is accessible.
 81 | 	 */
 82 | 	func check() async throws -> Bool {
    |       `- note: add '@available' attribute to enclosing instance method
 83 | 		guard let ip = ip else {
 84 | 			return false
    :
 87 | 		let url = URL(string: "https://\(ip)/api/0/config")!
 88 | 		do {
 89 | 			let (data, _) = try await urlsession.data(from: url)
    |                                         |- error: 'data(from:delegate:)' is only available in macOS 12.0 or newer
    |                                         `- note: add 'if #available' version check
 90 | 			_ = try JSONDecoder().decode(HueBridgeCheck.self, from: data)
 91 | 		} catch {
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/Extensions/HueSession+Auth.swift:131:15: error: 'value(forHTTPHeaderField:)' is only available in macOS 10.15 or newer
 17 |
 18 | @available(iOS 14.0, *)
 19 | public extension HueSession {
    |        `- note: add '@available' attribute to enclosing extension
 20 | 	/**
 21 | 	 Establishes a ``connection`` to the bridge and allows you to stream to it.
    :
102 | 	 > Important: This method requires the user to press the link button on their Hue bridge. If the link button has not been pressed, a ``linkButtonNotPressedError`` error will be thrown.
103 | 	 */
104 | 	func login(device: String) async throws {
    |       `- note: add '@available' attribute to enclosing instance method
105 | 		let bridgeResponse: [BridgeKeyResponse]? = try await post("api", data: BridgeKeyRequest(devicetype: device, generateclientkey: true))
106 |
    :
129 |
130 | 		let res = response as! HTTPURLResponse
131 | 		appID = res.value(forHTTPHeaderField: "hue-application-id")
    |               |- error: 'value(forHTTPHeaderField:)' is only available in macOS 10.15 or newer
    |               `- note: add 'if #available' version check
132 | 	}
133 | }
[15/16] Compiling HueEntertainmentSwift Animation.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/AreaUpdate.swift:13:29: error: 'Color' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, *)
12 | struct AreaUpdate {
   |        `- note: add '@available' attribute to enclosing struct
13 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
14 | 	var animation: Animation
15 |
[16/16] Compiling HueEntertainmentSwift AreaUpdate.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/AreaUpdate.swift:13:29: error: 'Color' is only available in macOS 10.15 or newer
10 |
11 | @available(iOS 14.0, *)
12 | struct AreaUpdate {
   |        `- note: add '@available' attribute to enclosing struct
13 | 	var channelColors: [UInt8: Color]
   |                             `- error: 'Color' is only available in macOS 10.15 or newer
14 | 	var animation: Animation
15 |
[17/17] Compiling HueEntertainmentSwift XYBrightness.swift
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:80:23: error: cannot find type 'UIColor' in scope
 78 |
 79 | 	@available(iOS 14, *)
 80 | 	public init(uiColor: UIColor, forcedBrightness: Double? = nil) {
    |                       `- error: cannot find type 'UIColor' in scope
 81 | 		self.gamut = GamutC
 82 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:97:21: error: 'Color' is only available in macOS 10.15 or newer
 15 | /// Handles coversions from Swift ``UIColor`` and ``SwiftUI.Color`` to the XY system used by Hue.
 16 | @available(iOS 13.0, *)
 17 | public struct XYBrightness {
    |               `- note: add '@available' attribute to enclosing struct
 18 | 	/// Determines what set of colors are available, depending on what devices you have
 19 | 	public struct Gamut {
    :
 95 |
 96 | 	@available(iOS 14.0, *)
 97 | 	public init(color: Color, forcedBrightness: Double? = nil) {
    |         |           `- error: 'Color' is only available in macOS 10.15 or newer
    |         `- note: add '@available' attribute to enclosing initializer
 98 | 		self.init(uiColor: UIColor(color), forcedBrightness: forcedBrightness)
 99 | 	}
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:98:22: error: cannot find 'UIColor' in scope
 96 | 	@available(iOS 14.0, *)
 97 | 	public init(color: Color, forcedBrightness: Double? = nil) {
 98 | 		self.init(uiColor: UIColor(color), forcedBrightness: forcedBrightness)
    |                      `- error: cannot find 'UIColor' in scope
 99 | 	}
100 |
/Users/admin/builder/spi-builder-workspace/Sources/HueEntertainmentSwift/XYBrightness.swift:98:12: error: incorrect argument label in call (have 'uiColor:forcedBrightness:', expected 'color:forcedBrightness:')
 96 | 	@available(iOS 14.0, *)
 97 | 	public init(color: Color, forcedBrightness: Double? = nil) {
 98 | 		self.init(uiColor: UIColor(color), forcedBrightness: forcedBrightness)
    |            `- error: incorrect argument label in call (have 'uiColor:forcedBrightness:', expected 'color:forcedBrightness:')
 99 | 	}
100 |
BUILD FAILURE 6.3 macosSpm