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 arm64Build 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