The Swift Package Index logo.Swift Package Index

Build Information

Failed to build Siwf, reference main (1796dd), with Swift 6.2 for macOS (SPM) on 23 Jun 2025 10:50:42 UTC.

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.64.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
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/ProjectLibertyLabs/siwf-sdk-ios.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-1EA4D86E10B52AF.txt
[3/14] Compiling Siwf SiwfUIModels.swift
[4/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:27:15: error: incorrect argument label in call (have 'action:_:', expected 'role:action:')
25 |
26 |     public var body: some View {
27 |         Button(action: {
   |               `- error: incorrect argument label in call (have 'action:_:', expected 'role:action:')
28 |             debugPrint("SIWF Button tapped. Opening authentication URL: \(authUrl.absoluteString)")
29 |             self.showSafariView = true
/Users/admin/builder/spi-builder-workspace/Sources/Siwf/SiwfButton.swift:31:12: error: trailing closure passed to parameter of type 'ButtonRole' that does not accept a closure
29 |             self.showSafariView = true
30 |             siwfCoordinator.safariViewActive = true
31 |         }) {
   |            `- error: trailing closure passed to parameter of type 'ButtonRole' that does not accept a closure
32 |             HStack(spacing: 10) {
33 |                 if let logoImage = buttonStyle.logoImage {
SwiftUI.Button.init:2:24: note: 'init(role:action:)' declared here
1 | generic struct Button {
2 | @preconcurrency public init(role: ButtonRole, action: @escaping @MainActor () -> Void)}
  |                        `- note: 'init(role:action:)' declared here
3 |
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/15] 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)")
[6/15] 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 | }
[7/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
[8/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
[9/15] 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.")
[10/15] 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.")
[11/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 |
[12/15] Compiling Siwf SiwfAuthRequest.swift
[13/15] Compiling Siwf Utils.swift
[14/15] Compiling Siwf SiwfModels.swift
[15/15] 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
BUILD FAILURE 6.2 macosSpm