The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Siwf, reference main (1796dd), with Swift 6.3 for macOS (SPM) on 15 Apr 2026 23:50:07 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/ProjectLibertyLabs/siwf-sdk-ios.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ProjectLibertyLabs/siwf-sdk-ios
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 1796ddd add uri to callback params (#30)
Cloned https://github.com/ProjectLibertyLabs/siwf-sdk-ios.git
Revision (git rev-parse @):
1796ddd13c576a47ba4460b324915373001a499e
SUCCESS checkout https://github.com/ProjectLibertyLabs/siwf-sdk-ios.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "siwf-sdk-ios",
      "name": "Siwf",
      "url": "https://github.com/ProjectLibertyLabs/siwf-sdk-ios.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/siwf-sdk-ios",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/ProjectLibertyLabs/siwf-sdk-ios.git
[1/452] Fetching siwf-sdk-ios
Fetched https://github.com/ProjectLibertyLabs/siwf-sdk-ios.git from cache (0.72s)
Creating working copy for https://github.com/ProjectLibertyLabs/siwf-sdk-ios.git
Working copy of https://github.com/ProjectLibertyLabs/siwf-sdk-ios.git resolved at main (1796ddd)
warning: '.resolve-product-dependencies': dependency 'siwf-sdk-ios' 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/ProjectLibertyLabs/siwf-sdk-ios.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--6988338F2F200930.txt
[3/14] Compiling Siwf SiwfAuthRequest.swift
[4/14] Compiling Siwf Utils.swift
[5/14] Compiling Siwf SiwfUIModels.swift
[6/14] Compiling Siwf SiwfModels.swift
[7/14] Compiling Siwf Siwf.swift
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Siwf.swift:17:6: error: 'Published' is only available in macOS 10.15 or newer
12 |  * Object containing helper functions for Sign-In With Frequency (SIWF) authentication.
13 |  */
14 | public class Siwf: ObservableObject {
   |              `- note: add '@available' attribute to enclosing class
15 |     // Singleton to support closing the button when the redirect happens
16 |     public static let shared = Siwf()
17 |     @Published var safariViewActive = false
   |      `- error: 'Published' is only available in macOS 10.15 or newer
18 |
19 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Siwf.swift:14:20: error: 'ObservableObject' is only available in macOS 10.15 or newer
12 |  * Object containing helper functions for Sign-In With Frequency (SIWF) authentication.
13 |  */
14 | public class Siwf: ObservableObject {
   |              |     `- error: 'ObservableObject' is only available in macOS 10.15 or newer
   |              `- note: add '@available' attribute to enclosing class
15 |     // Singleton to support closing the button when the redirect happens
16 |     public static let shared = Siwf()
<unknown>:0: error: cannot convert value of type 'KeyPath<Siwf, Bool>' to expected argument type 'ReferenceWritableKeyPath<Siwf, Bool>'
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Siwf.swift:64:9: error: setter for 'safariViewActive' is only available in macOS 10.15 or newer
12 |  * Object containing helper functions for Sign-In With Frequency (SIWF) authentication.
13 |  */
14 | public class Siwf: ObservableObject {
   |              `- note: add '@available' attribute to enclosing class
15 |     // Singleton to support closing the button when the redirect happens
16 |     public static let shared = Siwf()
   :
43 |      * @param processAuthorization - A closure that handles the extracted authorization code.
44 |      */
45 |     public static func handleRedirectUrl(incomingUrl: URL, redirectUrl: URL, processAuthorization: (_ authorizationCode: String, _ authorizationUri: URL) -> Void) -> Void {
   |                        `- note: add '@available' attribute to enclosing static method
46 |         // No active safari view? Cannot be us
47 |         if !shared.safariViewActive {
   :
62 |         debugPrint("Captured authorizationCode: \(authorizationCode)")
63 |         // Trigger the closing of any button's SafariView
64 |         shared.safariViewActive = false
   |         |- error: setter for 'safariViewActive' is only available in macOS 10.15 or newer
   |         `- note: add 'if #available' version check
65 |         // TODO: Do we want to swap the authorizationCode for the full payload?
66 |         // Trigger the callback
[8/14] Compiling Siwf GetAssets.swift
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetAssets.swift:38:56: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
31 |
32 | /// Fetches assets JSON from the remote server and returns remote assets
33 | func getRemoteAssets() async throws -> Assets? {
   |      `- note: add '@available' attribute to enclosing global function
34 |     let assetsURL = URL(string: "https://projectlibertylabs.github.io/siwf/v2/assets/assets.json")!
35 |     var request = URLRequest(url: assetsURL)
36 |     request.httpMethod = "GET"
37 |
38 |     let (data, response) = try await URLSession.shared.data(for: request)
   |                                                        |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
   |                                                        `- note: add 'if #available' version check
39 |
40 |     guard let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 else {
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:15:20: error: cannot find type 'UIImage' in scope
13 |     var textColor: Color
14 |     var borderColor: Color
15 |     var logoImage: UIImage?
   |                    `- error: cannot find type 'UIImage' in scope
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:12:26: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
   |                          `- error: 'Color' is only available in macOS 10.15 or newer
13 |     var textColor: Color
14 |     var borderColor: Color
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:13:20: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
13 |     var textColor: Color
   |                    `- error: 'Color' is only available in macOS 10.15 or newer
14 |     var borderColor: Color
15 |     var logoImage: UIImage?
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:14:22: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
13 |     var textColor: Color
14 |     var borderColor: Color
   |                      `- error: 'Color' is only available in macOS 10.15 or newer
15 |     var logoImage: UIImage?
16 | }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:20:24: error: 'Color' is only available in macOS 10.15 or newer
16 | }
17 |
18 | func getButtonStyle(mode: SiwfButtonMode, assets: Assets) -> ButtonStyles {
   |      `- note: add '@available' attribute to enclosing global function
19 |     let title = assets.content.title
20 |     let primaryColor = Color(hex: assets.colors.primary)
   |                        |- error: 'Color' is only available in macOS 10.15 or newer
   |                        `- note: add 'if #available' version check
21 |     let darkColor = Color(hex: assets.colors.dark)
22 |     let lightColor = Color(hex: assets.colors.light)
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:21:21: error: 'Color' is only available in macOS 10.15 or newer
16 | }
17 |
18 | func getButtonStyle(mode: SiwfButtonMode, assets: Assets) -> ButtonStyles {
   |      `- note: add '@available' attribute to enclosing global function
19 |     let title = assets.content.title
20 |     let primaryColor = Color(hex: assets.colors.primary)
21 |     let darkColor = Color(hex: assets.colors.dark)
   |                     |- error: 'Color' is only available in macOS 10.15 or newer
   |                     `- note: add 'if #available' version check
22 |     let lightColor = Color(hex: assets.colors.light)
23 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:22:22: error: 'Color' is only available in macOS 10.15 or newer
16 | }
17 |
18 | func getButtonStyle(mode: SiwfButtonMode, assets: Assets) -> ButtonStyles {
   |      `- note: add '@available' attribute to enclosing global function
19 |     let title = assets.content.title
20 |     let primaryColor = Color(hex: assets.colors.primary)
21 |     let darkColor = Color(hex: assets.colors.dark)
22 |     let lightColor = Color(hex: assets.colors.light)
   |                      |- error: 'Color' is only available in macOS 10.15 or newer
   |                      `- note: add 'if #available' version check
23 |
24 |     switch mode {
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/DecodeAssets.swift:15:57: error: cannot find type 'UIImage' in scope
13 | /// - Parameter base64String: The Base64-encoded image string.
14 | /// - Returns: The decoded `UIImage`, or `nil` if decoding fails.
15 | public func decodeBase64Image(base64String: String?) -> UIImage? {
   |                                                         `- error: cannot find type 'UIImage' in scope
16 |     guard let base64String = base64String, !base64String.isEmpty else {
17 |         print("⚠️ Base64 string is empty or nil.")
[9/14] Compiling Siwf GetButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetAssets.swift:38:56: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
31 |
32 | /// Fetches assets JSON from the remote server and returns remote assets
33 | func getRemoteAssets() async throws -> Assets? {
   |      `- note: add '@available' attribute to enclosing global function
34 |     let assetsURL = URL(string: "https://projectlibertylabs.github.io/siwf/v2/assets/assets.json")!
35 |     var request = URLRequest(url: assetsURL)
36 |     request.httpMethod = "GET"
37 |
38 |     let (data, response) = try await URLSession.shared.data(for: request)
   |                                                        |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
   |                                                        `- note: add 'if #available' version check
39 |
40 |     guard let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 else {
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:15:20: error: cannot find type 'UIImage' in scope
13 |     var textColor: Color
14 |     var borderColor: Color
15 |     var logoImage: UIImage?
   |                    `- error: cannot find type 'UIImage' in scope
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:12:26: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
   |                          `- error: 'Color' is only available in macOS 10.15 or newer
13 |     var textColor: Color
14 |     var borderColor: Color
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:13:20: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
13 |     var textColor: Color
   |                    `- error: 'Color' is only available in macOS 10.15 or newer
14 |     var borderColor: Color
15 |     var logoImage: UIImage?
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:14:22: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
13 |     var textColor: Color
14 |     var borderColor: Color
   |                      `- error: 'Color' is only available in macOS 10.15 or newer
15 |     var logoImage: UIImage?
16 | }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:20:24: error: 'Color' is only available in macOS 10.15 or newer
16 | }
17 |
18 | func getButtonStyle(mode: SiwfButtonMode, assets: Assets) -> ButtonStyles {
   |      `- note: add '@available' attribute to enclosing global function
19 |     let title = assets.content.title
20 |     let primaryColor = Color(hex: assets.colors.primary)
   |                        |- error: 'Color' is only available in macOS 10.15 or newer
   |                        `- note: add 'if #available' version check
21 |     let darkColor = Color(hex: assets.colors.dark)
22 |     let lightColor = Color(hex: assets.colors.light)
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:21:21: error: 'Color' is only available in macOS 10.15 or newer
16 | }
17 |
18 | func getButtonStyle(mode: SiwfButtonMode, assets: Assets) -> ButtonStyles {
   |      `- note: add '@available' attribute to enclosing global function
19 |     let title = assets.content.title
20 |     let primaryColor = Color(hex: assets.colors.primary)
21 |     let darkColor = Color(hex: assets.colors.dark)
   |                     |- error: 'Color' is only available in macOS 10.15 or newer
   |                     `- note: add 'if #available' version check
22 |     let lightColor = Color(hex: assets.colors.light)
23 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:22:22: error: 'Color' is only available in macOS 10.15 or newer
16 | }
17 |
18 | func getButtonStyle(mode: SiwfButtonMode, assets: Assets) -> ButtonStyles {
   |      `- note: add '@available' attribute to enclosing global function
19 |     let title = assets.content.title
20 |     let primaryColor = Color(hex: assets.colors.primary)
21 |     let darkColor = Color(hex: assets.colors.dark)
22 |     let lightColor = Color(hex: assets.colors.light)
   |                      |- error: 'Color' is only available in macOS 10.15 or newer
   |                      `- note: add 'if #available' version check
23 |
24 |     switch mode {
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/DecodeAssets.swift:15:57: error: cannot find type 'UIImage' in scope
13 | /// - Parameter base64String: The Base64-encoded image string.
14 | /// - Returns: The decoded `UIImage`, or `nil` if decoding fails.
15 | public func decodeBase64Image(base64String: String?) -> UIImage? {
   |                                                         `- error: cannot find type 'UIImage' in scope
16 |     guard let base64String = base64String, !base64String.isEmpty else {
17 |         print("⚠️ Base64 string is empty or nil.")
error: emit-module command failed with exit code 1 (use -v to see invocation)
[10/14] Emitting module Siwf
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/DecodeAssets.swift:15:57: error: cannot find type 'UIImage' in scope
13 | /// - Parameter base64String: The Base64-encoded image string.
14 | /// - Returns: The decoded `UIImage`, or `nil` if decoding fails.
15 | public func decodeBase64Image(base64String: String?) -> UIImage? {
   |                                                         `- error: cannot find type 'UIImage' in scope
16 |     guard let base64String = base64String, !base64String.isEmpty else {
17 |         print("⚠️ Base64 string is empty or nil.")
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:15:20: error: cannot find type 'UIImage' in scope
13 |     var textColor: Color
14 |     var borderColor: Color
15 |     var logoImage: UIImage?
   |                    `- error: cannot find type 'UIImage' in scope
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:12:26: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
   |                          `- error: 'Color' is only available in macOS 10.15 or newer
13 |     var textColor: Color
14 |     var borderColor: Color
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:13:20: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
13 |     var textColor: Color
   |                    `- error: 'Color' is only available in macOS 10.15 or newer
14 |     var borderColor: Color
15 |     var logoImage: UIImage?
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:14:22: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public struct ButtonStyles {
   |               `- note: add '@available' attribute to enclosing struct
11 |     var title: String
12 |     var backgroundColor: Color
13 |     var textColor: Color
14 |     var borderColor: Color
   |                      `- error: 'Color' is only available in macOS 10.15 or newer
15 |     var logoImage: UIImage?
16 | }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/HexToRGB.swift:10:18: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public extension Color {
   |        |         `- error: 'Color' is only available in macOS 10.15 or newer
   |        `- note: add '@available' attribute to enclosing extension
11 |     init(hex: String) {
12 |         var hexSanitized = hex.trimmingCharacters(in: .whitespacesAndNewlines)
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:17:100: error: cannot find type 'SFSafariViewController' in scope
15 |     }
16 |
17 |     public func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
   |                                                                                                    `- error: cannot find type 'SFSafariViewController' in scope
18 |         return SFSafariViewController(url: url)
19 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:17:47: error: cannot find type 'UIViewControllerRepresentableContext' in scope
15 |     }
16 |
17 |     public func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
   |                                               `- error: cannot find type 'UIViewControllerRepresentableContext' in scope
18 |         return SFSafariViewController(url: url)
19 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:21:60: error: cannot find type 'SFSafariViewController' in scope
19 |     }
20 |
21 |     public func updateUIViewController(_ uiViewController: SFSafariViewController, context: UIViewControllerRepresentableContext<SafariView>) {}
   |                                                            `- error: cannot find type 'SFSafariViewController' in scope
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:21:93: error: cannot find type 'UIViewControllerRepresentableContext' in scope
19 |     }
20 |
21 |     public func updateUIViewController(_ uiViewController: SFSafariViewController, context: UIViewControllerRepresentableContext<SafariView>) {}
   |                                                                                             `- error: cannot find type 'UIViewControllerRepresentableContext' in scope
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:10:27: error: cannot find type 'UIViewControllerRepresentable' in scope
 8 | /// - Parameters:
 9 | ///   - url: The URL to be loaded in the Safari view.
10 | public struct SafariView: UIViewControllerRepresentable {
   |                           `- error: cannot find type 'UIViewControllerRepresentable' in scope
11 |     public let url: URL
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Siwf.swift:17:6: error: 'Published' is only available in macOS 10.15 or newer
12 |  * Object containing helper functions for Sign-In With Frequency (SIWF) authentication.
13 |  */
14 | public class Siwf: ObservableObject {
   |              `- note: add '@available' attribute to enclosing class
15 |     // Singleton to support closing the button when the redirect happens
16 |     public static let shared = Siwf()
17 |     @Published var safariViewActive = false
   |      `- error: 'Published' is only available in macOS 10.15 or newer
18 |
19 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Siwf.swift:14:20: error: 'ObservableObject' is only available in macOS 10.15 or newer
12 |  * Object containing helper functions for Sign-In With Frequency (SIWF) authentication.
13 |  */
14 | public class Siwf: ObservableObject {
   |              |     `- error: 'ObservableObject' is only available in macOS 10.15 or newer
   |              `- note: add '@available' attribute to enclosing class
15 |     // Singleton to support closing the button when the redirect happens
16 |     public static let shared = Siwf()
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:13:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
12 |
13 |     @ObservedObject private var siwfCoordinator = Siwf.shared
   |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
14 |     @State public var showSafariView: Bool = false
15 |     @State private var buttonStyle: ButtonStyles
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:14:6: error: 'State' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
12 |
13 |     @ObservedObject private var siwfCoordinator = Siwf.shared
14 |     @State public var showSafariView: Bool = false
   |      `- error: 'State' is only available in macOS 10.15 or newer
15 |     @State private var buttonStyle: ButtonStyles
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:15:6: error: 'State' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
   :
13 |     @ObservedObject private var siwfCoordinator = Siwf.shared
14 |     @State public var showSafariView: Bool = false
15 |     @State private var buttonStyle: ButtonStyles
   |      `- error: 'State' is only available in macOS 10.15 or newer
16 |
17 |     public init(
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:26:27: error: 'View' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
   :
24 |        }
25 |
26 |     public var body: some View {
   |                |          `- error: 'View' is only available in macOS 10.15 or newer
   |                `- note: add '@available' attribute to enclosing property
27 |         Button(action: {
28 |             debugPrint("SIWF Button tapped. Opening authentication URL: \(authUrl.absoluteString)")
[11/14] Compiling Siwf HexToRGB.swift
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/HexToRGB.swift:10:18: error: 'Color' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public extension Color {
   |        |         `- error: 'Color' is only available in macOS 10.15 or newer
   |        `- note: add '@available' attribute to enclosing extension
11 |     init(hex: String) {
12 |         var hexSanitized = hex.trimmingCharacters(in: .whitespacesAndNewlines)
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/HexToRGB.swift:24:25: error: 'clear' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public extension Color {
   |        `- note: add '@available' attribute to enclosing extension
11 |     init(hex: String) {
   |     `- note: add '@available' attribute to enclosing initializer
12 |         var hexSanitized = hex.trimmingCharacters(in: .whitespacesAndNewlines)
13 |
   :
22 |
23 |         guard hexSanitized.count == 6, let rgbValue = UInt64(hexSanitized, radix: 16) else {
24 |                 self = .clear
   |                         |- error: 'clear' is only available in macOS 10.15 or newer
   |                         `- note: add 'if #available' version check
25 |                 return
26 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/HexToRGB.swift:32:14: error: 'init(_:red:green:blue:opacity:)' is only available in macOS 10.15 or newer
 8 | import SwiftUI
 9 |
10 | public extension Color {
   |        `- note: add '@available' attribute to enclosing extension
11 |     init(hex: String) {
   |     `- note: add '@available' attribute to enclosing initializer
12 |         var hexSanitized = hex.trimmingCharacters(in: .whitespacesAndNewlines)
13 |
   :
30 |         let blue = Double(rgbValue & 0xFF) / 255.0
31 |
32 |         self.init(red: red, green: green, blue: blue)
   |              |- error: 'init(_:red:green:blue:opacity:)' is only available in macOS 10.15 or newer
   |              `- note: add 'if #available' version check
33 |     }
34 | }
[12/15] Compiling Siwf SafariView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:17:100: error: cannot find type 'SFSafariViewController' in scope
15 |     }
16 |
17 |     public func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
   |                                                                                                    `- error: cannot find type 'SFSafariViewController' in scope
18 |         return SFSafariViewController(url: url)
19 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:17:47: error: cannot find type 'UIViewControllerRepresentableContext' in scope
15 |     }
16 |
17 |     public func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
   |                                               `- error: cannot find type 'UIViewControllerRepresentableContext' in scope
18 |         return SFSafariViewController(url: url)
19 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:21:60: error: cannot find type 'SFSafariViewController' in scope
19 |     }
20 |
21 |     public func updateUIViewController(_ uiViewController: SFSafariViewController, context: UIViewControllerRepresentableContext<SafariView>) {}
   |                                                            `- error: cannot find type 'SFSafariViewController' in scope
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:21:93: error: cannot find type 'UIViewControllerRepresentableContext' in scope
19 |     }
20 |
21 |     public func updateUIViewController(_ uiViewController: SFSafariViewController, context: UIViewControllerRepresentableContext<SafariView>) {}
   |                                                                                             `- error: cannot find type 'UIViewControllerRepresentableContext' in scope
22 | }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:10:27: error: cannot find type 'UIViewControllerRepresentable' in scope
 8 | /// - Parameters:
 9 | ///   - url: The URL to be loaded in the Safari view.
10 | public struct SafariView: UIViewControllerRepresentable {
   |                           `- error: cannot find type 'UIViewControllerRepresentable' in scope
11 |     public let url: URL
12 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/SafariView.swift:18:16: error: cannot find 'SFSafariViewController' in scope
16 |
17 |     public func makeUIViewController(context: UIViewControllerRepresentableContext<SafariView>) -> SFSafariViewController {
18 |         return SFSafariViewController(url: url)
   |                `- error: cannot find 'SFSafariViewController' in scope
19 |     }
20 |
[13/15] Compiling Siwf AuthLoginUtils.swift
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/AuthLoginUtils.swift:61:33: warning: enum case 'siwfSignedRequest' has 3 associated values; matching them as a tuple is deprecated [#deprecation]
59 |     let encodedSignedRequest = switch authRequest.signedRequest {
60 |         case .siwfEncodedSignedRequest(let siwfEncodedSignedRequest): siwfEncodedSignedRequest
61 |         case .siwfSignedRequest(let siwfSignedRequest): encodeSignedRequest(SiwfSignedRequest(requestedSignatures: siwfSignedRequest.requestedSignatures, requestedCredentials: siwfSignedRequest.requestedCredentials))
   |                                 `- warning: enum case 'siwfSignedRequest' has 3 associated values; matching them as a tuple is deprecated [#deprecation]
62 |     }
63 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Models/SiwfAuthRequest.swift:28:10: note: 'siwfSignedRequest(requestedSignatures:requestedCredentials:applicationContext:)' declared here
26 | public enum SignedRequest {
27 |     case siwfEncodedSignedRequest(encodedSignedRequest: String)
28 |     case siwfSignedRequest(
   |          `- note: 'siwfSignedRequest(requestedSignatures:requestedCredentials:applicationContext:)' declared here
29 |         requestedSignatures: SiwfRequestedSignature,
30 |         requestedCredentials: [SiwfRequestedCredential] = [],
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/AuthLoginUtils.swift:78:15: warning: variable 'finalUri' was never mutated; consider changing to 'let' constant
76 |     urlComponents.queryItems = queryItems + [URLQueryItem(name: "signedRequest", value: encodedSignedRequest)]
77 |
78 |     guard var finalUri = urlComponents.url else {
   |               `- warning: variable 'finalUri' was never mutated; consider changing to 'let' constant
79 |             fatalError("❌ Failed to correctly parse endpoint")
80 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/DecodeAssets.swift:15:57: error: cannot find type 'UIImage' in scope
13 | /// - Parameter base64String: The Base64-encoded image string.
14 | /// - Returns: The decoded `UIImage`, or `nil` if decoding fails.
15 | public func decodeBase64Image(base64String: String?) -> UIImage? {
   |                                                         `- error: cannot find type 'UIImage' in scope
16 |     guard let base64String = base64String, !base64String.isEmpty else {
17 |         print("⚠️ Base64 string is empty or nil.")
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/DecodeAssets.swift:26:23: error: cannot find 'UIImage' in scope
24 |     }
25 |
26 |     guard let image = UIImage(data: imageData) else {
   |                       `- error: cannot find 'UIImage' in scope
27 |         print("❌ Error: Unable to create UIImage from data.")
28 |         return nil
[14/15] Compiling Siwf DecodeAssets.swift
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/AuthLoginUtils.swift:61:33: warning: enum case 'siwfSignedRequest' has 3 associated values; matching them as a tuple is deprecated [#deprecation]
59 |     let encodedSignedRequest = switch authRequest.signedRequest {
60 |         case .siwfEncodedSignedRequest(let siwfEncodedSignedRequest): siwfEncodedSignedRequest
61 |         case .siwfSignedRequest(let siwfSignedRequest): encodeSignedRequest(SiwfSignedRequest(requestedSignatures: siwfSignedRequest.requestedSignatures, requestedCredentials: siwfSignedRequest.requestedCredentials))
   |                                 `- warning: enum case 'siwfSignedRequest' has 3 associated values; matching them as a tuple is deprecated [#deprecation]
62 |     }
63 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Models/SiwfAuthRequest.swift:28:10: note: 'siwfSignedRequest(requestedSignatures:requestedCredentials:applicationContext:)' declared here
26 | public enum SignedRequest {
27 |     case siwfEncodedSignedRequest(encodedSignedRequest: String)
28 |     case siwfSignedRequest(
   |          `- note: 'siwfSignedRequest(requestedSignatures:requestedCredentials:applicationContext:)' declared here
29 |         requestedSignatures: SiwfRequestedSignature,
30 |         requestedCredentials: [SiwfRequestedCredential] = [],
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/AuthLoginUtils.swift:78:15: warning: variable 'finalUri' was never mutated; consider changing to 'let' constant
76 |     urlComponents.queryItems = queryItems + [URLQueryItem(name: "signedRequest", value: encodedSignedRequest)]
77 |
78 |     guard var finalUri = urlComponents.url else {
   |               `- warning: variable 'finalUri' was never mutated; consider changing to 'let' constant
79 |             fatalError("❌ Failed to correctly parse endpoint")
80 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/DecodeAssets.swift:15:57: error: cannot find type 'UIImage' in scope
13 | /// - Parameter base64String: The Base64-encoded image string.
14 | /// - Returns: The decoded `UIImage`, or `nil` if decoding fails.
15 | public func decodeBase64Image(base64String: String?) -> UIImage? {
   |                                                         `- error: cannot find type 'UIImage' in scope
16 |     guard let base64String = base64String, !base64String.isEmpty else {
17 |         print("⚠️ Base64 string is empty or nil.")
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/DecodeAssets.swift:26:23: error: cannot find 'UIImage' in scope
24 |     }
25 |
26 |     guard let image = UIImage(data: imageData) else {
   |                       `- error: cannot find 'UIImage' in scope
27 |         print("❌ Error: Unable to create UIImage from data.")
28 |         return nil
[15/15] Compiling Siwf SiwfButton.swift
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:13:6: error: 'ObservedObject' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
12 |
13 |     @ObservedObject private var siwfCoordinator = Siwf.shared
   |      `- error: 'ObservedObject' is only available in macOS 10.15 or newer
14 |     @State public var showSafariView: Bool = false
15 |     @State private var buttonStyle: ButtonStyles
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:14:6: error: 'State' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
12 |
13 |     @ObservedObject private var siwfCoordinator = Siwf.shared
14 |     @State public var showSafariView: Bool = false
   |      `- error: 'State' is only available in macOS 10.15 or newer
15 |     @State private var buttonStyle: ButtonStyles
16 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:15:6: error: 'State' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
   :
13 |     @ObservedObject private var siwfCoordinator = Siwf.shared
14 |     @State public var showSafariView: Bool = false
15 |     @State private var buttonStyle: ButtonStyles
   |      `- error: 'State' is only available in macOS 10.15 or newer
16 |
17 |     public init(
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:26:27: error: 'View' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
   :
24 |        }
25 |
26 |     public var body: some View {
   |                |          `- error: 'View' is only available in macOS 10.15 or newer
   |                `- note: add '@available' attribute to enclosing property
27 |         Button(action: {
28 |             debugPrint("SIWF Button tapped. Opening authentication URL: \(authUrl.absoluteString)")
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/Helpers/GetButtonStyle.swift:15:20: error: cannot find type 'UIImage' in scope
13 |     var textColor: Color
14 |     var borderColor: Color
15 |     var logoImage: UIImage?
   |                    `- error: cannot find type 'UIImage' in scope
16 | }
17 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:23:27: error: 'State' is only available in macOS 10.15 or newer
 7 | ///   - mode: The visual style of the button (Primary, Dark, Light).
 8 | ///   - authUrl: The authentication URL that the button triggers.
 9 | public struct SiwfButton: View {
   |               `- note: add '@available' attribute to enclosing struct
10 |     let mode: SiwfButtonMode
11 |     let authUrl: URL
   :
15 |     @State private var buttonStyle: ButtonStyles
16 |
17 |     public init(
   |            `- note: add '@available' attribute to enclosing initializer
18 |            mode: SiwfButtonMode,
19 |            authUrl: URL
   :
21 |            self.mode = mode
22 |            self.authUrl = authUrl
23 |            _buttonStyle = State(initialValue: getButtonStyle(mode: mode, assets: getLocalAssets()))
   |                           |- error: 'State' is only available in macOS 10.15 or newer
   |                           `- note: add 'if #available' version check
24 |        }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:33:36: error: referencing subscript 'subscript(dynamicMember:)' requires wrapper 'Binding<ButtonStyles>'
31 |         }) {
32 |             HStack(spacing: 10) {
33 |                 if let logoImage = buttonStyle.logoImage {
   |                                    `- error: referencing subscript 'subscript(dynamicMember:)' requires wrapper 'Binding<ButtonStyles>'
34 |                     Image(uiImage: logoImage)
35 |                         .resizable()
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:56:17: error: static method 'buildExpression' requires that 'SafariView' conform to 'View'
54 |             .cornerRadius(24)
55 |             .sheet(isPresented: $showSafariView) {
56 |                 SafariView(url: authUrl)
   |                 `- error: static method 'buildExpression' requires that 'SafariView' conform to 'View'
57 |             }
58 |         }
SwiftUI.ViewBuilder.buildExpression:2:20: note: where 'Content' = 'SafariView'
1 | struct ViewBuilder {
2 | public static func buildExpression<Content>(_ content: Content) -> Content where Content : View}
  |                    `- note: where 'Content' = 'SafariView'
3 |
BUILD FAILURE 6.3 macosSpm