Build Information
Failed to build Feedi, reference 1.1.0 (2e83c2), with Swift 6.3 for macOS (SPM) on 23 Oct 2026 19:07:45 UTC.
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/getfeedi/feedi-ios-sdk.git
Reference: 1.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/getfeedi/feedi-ios-sdk
* tag 1.1.0 -> FETCH_HEAD
HEAD is now at 2e83c2b feat: add built-in metadata opt-out for SDK 1.1.0
Cloned https://github.com/getfeedi/feedi-ios-sdk.git
Revision (git rev-parse @):
2e83c2b86e525a0c4f56e907d042f0ddb076d5cb
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/getfeedi/feedi-ios-sdk.git at 1.1.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.3
Building package at path: $PWD
https://github.com/getfeedi/feedi-ios-sdk.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.5.0.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Copying PrivacyInfo.xcprivacy
[1/3] Write sources
[2/3] Write swift-version-69A768CDF2A0BEE1.txt
[4/15] Compiling Feedi URL+StaticString.swift
[5/15] Compiling Feedi URLSessionHTTPTransport.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/URLSessionHTTPTransport.swift:15:50: error: 'Mutex' is only available in macOS 15.0 or newer
8 | }
9 |
10 | internal final class URLSessionHTTPTransport: HTTPTransport, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
11 | private enum Endpoint {
12 | static let productionFeedbackEndpoint = URL(staticString: "https://api.feedi.dev/v1/feedback")
13 | }
14 |
15 | private static let integrationTestEndpoint = Mutex<URL?>(nil)
| | `- error: 'Mutex' is only available in macOS 15.0 or newer
| `- note: add '@available' attribute to enclosing static property
16 |
17 | /// The per-request timeout. Feedback submission is a foreground, user-initiated
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/URLSessionHTTPTransport.swift:15:60: error: 'init(_:)' is only available in macOS 15.0 or newer
8 | }
9 |
10 | internal final class URLSessionHTTPTransport: HTTPTransport, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
11 | private enum Endpoint {
12 | static let productionFeedbackEndpoint = URL(staticString: "https://api.feedi.dev/v1/feedback")
13 | }
14 |
15 | private static let integrationTestEndpoint = Mutex<URL?>(nil)
| | `- error: 'init(_:)' is only available in macOS 15.0 or newer
| `- note: add '@available' attribute to enclosing static property
16 |
17 | /// The per-request timeout. Feedback submission is a foreground, user-initiated
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/URLSessionHTTPTransport.swift:55:50: error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
8 | }
9 |
10 | internal final class URLSessionHTTPTransport: HTTPTransport, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
11 | private enum Endpoint {
12 | static let productionFeedbackEndpoint = URL(staticString: "https://api.feedi.dev/v1/feedback")
:
36 | }
37 |
38 | internal func submitFeedback(_ request: HTTPTransportRequest) async throws -> HTTPTransportResponse {
| `- note: add '@available' attribute to enclosing instance method
39 | var urlRequest = URLRequest(url: feedbackEndpoint)
40 | urlRequest.httpMethod = "POST"
:
53 | )
54 |
55 | let (body, response) = try await session.data(for: urlRequest)
| |- error: 'data(for:delegate:)' is only available in macOS 12.0 or newer
| `- note: add 'if #available' version check
56 | let statusCode = (response as? HTTPURLResponse)?.statusCode ?? 0
57 |
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/URLSessionHTTPTransport.swift:62:33: error: 'withLock' is only available in macOS 15.0 or newer
8 | }
9 |
10 | internal final class URLSessionHTTPTransport: HTTPTransport, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
11 | private enum Endpoint {
12 | static let productionFeedbackEndpoint = URL(staticString: "https://api.feedi.dev/v1/feedback")
:
59 | }
60 |
61 | private static func currentFeedbackEndpoint() -> URL {
| `- note: add '@available' attribute to enclosing static method
62 | integrationTestEndpoint.withLock { endpoint in
| |- error: 'withLock' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
63 | endpoint ?? Endpoint.productionFeedbackEndpoint
64 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/URLSessionHTTPTransport.swift:68:33: error: 'withLock' is only available in macOS 15.0 or newer
8 | }
9 |
10 | internal final class URLSessionHTTPTransport: HTTPTransport, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
11 | private enum Endpoint {
12 | static let productionFeedbackEndpoint = URL(staticString: "https://api.feedi.dev/v1/feedback")
:
65 | }
66 |
67 | internal static func configureFeedbackEndpointForIntegrationTests(_ url: URL) {
| `- note: add '@available' attribute to enclosing static method
68 | integrationTestEndpoint.withLock { endpoint in
| |- error: 'withLock' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
69 | endpoint = url
70 | }
[6/16] Compiling Feedi HTTPTransport.swift
[7/16] Compiling Feedi FeediReceipt.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/16] Compiling Feedi FeediFeedbackSubmitting.swift
[9/16] Compiling Feedi FeediError.swift
[10/16] Compiling Feedi MetadataProvider.swift
[11/16] Emitting module Feedi
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:33: error: 'Mutex' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'Mutex' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:58: error: 'init(_:)' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'init(_:)' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/URLSessionHTTPTransport.swift:15:50: error: 'Mutex' is only available in macOS 15.0 or newer
8 | }
9 |
10 | internal final class URLSessionHTTPTransport: HTTPTransport, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
11 | private enum Endpoint {
12 | static let productionFeedbackEndpoint = URL(staticString: "https://api.feedi.dev/v1/feedback")
13 | }
14 |
15 | private static let integrationTestEndpoint = Mutex<URL?>(nil)
| | `- error: 'Mutex' is only available in macOS 15.0 or newer
| `- note: add '@available' attribute to enclosing static property
16 |
17 | /// The per-request timeout. Feedback submission is a foreground, user-initiated
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/URLSessionHTTPTransport.swift:15:60: error: 'init(_:)' is only available in macOS 15.0 or newer
8 | }
9 |
10 | internal final class URLSessionHTTPTransport: HTTPTransport, @unchecked Sendable {
| `- note: add '@available' attribute to enclosing class
11 | private enum Endpoint {
12 | static let productionFeedbackEndpoint = URL(staticString: "https://api.feedi.dev/v1/feedback")
13 | }
14 |
15 | private static let integrationTestEndpoint = Mutex<URL?>(nil)
| | `- error: 'init(_:)' is only available in macOS 15.0 or newer
| `- note: add '@available' attribute to enclosing static property
16 |
17 | /// The per-request timeout. Feedback submission is a foreground, user-initiated
[12/16] Compiling Feedi FeediClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:33: error: 'Mutex' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'Mutex' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:58: error: 'init(_:)' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'init(_:)' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:24:28: error: 'withLock' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
10 | private let transport: any HTTPTransport
:
19 | }
20 |
21 | internal func configure(apiKey: String, includeBuiltInMetadata: Bool = true) {
| `- note: add '@available' attribute to enclosing instance method
22 | let configuration = FeediConfiguration(apiKey: apiKey, includeBuiltInMetadata: includeBuiltInMetadata)
23 |
24 | self.configuration.withLock { currentConfiguration in
| |- error: 'withLock' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
25 | currentConfiguration = configuration
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:65:30: error: 'CancellationError' is only available in macOS 10.15 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
10 | private let transport: any HTTPTransport
:
37 | /// Throws other ``FeediError`` values for validation, request, or decoding failures,
38 | /// or `CancellationError` if the async operation is cancelled.
39 | public func submitFeedback(
| `- note: add '@available' attribute to enclosing instance method
40 | message: String,
41 | userEmail: String? = nil,
:
63 | )
64 | )
65 | } catch let error as CancellationError {
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
66 | throw error
67 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:65:30: error: 'CancellationError' is only available in macOS 10.15 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
10 | private let transport: any HTTPTransport
:
37 | /// Throws other ``FeediError`` values for validation, request, or decoding failures,
38 | /// or `CancellationError` if the async operation is cancelled.
39 | public func submitFeedback(
| `- note: add '@available' attribute to enclosing instance method
40 | message: String,
41 | userEmail: String? = nil,
:
63 | )
64 | )
65 | } catch let error as CancellationError {
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
66 | throw error
67 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:75:23: error: 'withLock' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
10 | private let transport: any HTTPTransport
:
72 | }
73 |
74 | private var currentConfiguration: FeediConfiguration? {
| `- note: add '@available' attribute to enclosing property
75 | configuration.withLock { currentConfiguration in
| |- error: 'withLock' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
76 | currentConfiguration
77 | }
[13/16] Compiling Feedi FeediConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:33: error: 'Mutex' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'Mutex' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:58: error: 'init(_:)' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'init(_:)' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:24:28: error: 'withLock' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
10 | private let transport: any HTTPTransport
:
19 | }
20 |
21 | internal func configure(apiKey: String, includeBuiltInMetadata: Bool = true) {
| `- note: add '@available' attribute to enclosing instance method
22 | let configuration = FeediConfiguration(apiKey: apiKey, includeBuiltInMetadata: includeBuiltInMetadata)
23 |
24 | self.configuration.withLock { currentConfiguration in
| |- error: 'withLock' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
25 | currentConfiguration = configuration
26 | }
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:65:30: error: 'CancellationError' is only available in macOS 10.15 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
10 | private let transport: any HTTPTransport
:
37 | /// Throws other ``FeediError`` values for validation, request, or decoding failures,
38 | /// or `CancellationError` if the async operation is cancelled.
39 | public func submitFeedback(
| `- note: add '@available' attribute to enclosing instance method
40 | message: String,
41 | userEmail: String? = nil,
:
63 | )
64 | )
65 | } catch let error as CancellationError {
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
66 | throw error
67 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:65:30: error: 'CancellationError' is only available in macOS 10.15 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
10 | private let transport: any HTTPTransport
:
37 | /// Throws other ``FeediError`` values for validation, request, or decoding failures,
38 | /// or `CancellationError` if the async operation is cancelled.
39 | public func submitFeedback(
| `- note: add '@available' attribute to enclosing instance method
40 | message: String,
41 | userEmail: String? = nil,
:
63 | )
64 | )
65 | } catch let error as CancellationError {
| |- error: 'CancellationError' is only available in macOS 10.15 or newer
| `- note: add 'if #available' version check
66 | throw error
67 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:75:23: error: 'withLock' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
10 | private let transport: any HTTPTransport
:
72 | }
73 |
74 | private var currentConfiguration: FeediConfiguration? {
| `- note: add '@available' attribute to enclosing property
75 | configuration.withLock { currentConfiguration in
| |- error: 'withLock' is only available in macOS 15.0 or newer
| `- note: add 'if #available' version check
76 | currentConfiguration
77 | }
[14/16] Compiling Feedi FeedbackPayload.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:33: error: 'Mutex' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'Mutex' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:58: error: 'init(_:)' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'init(_:)' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
[15/16] Compiling Feedi Feedi.swift
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:33: error: 'Mutex' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'Mutex' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
/Users/admin/builder/spi-builder-workspace/Sources/Feedi/FeediClient.swift:9:58: error: 'init(_:)' is only available in macOS 15.0 or newer
6 | /// Use ``Feedi/shared`` when app code needs a concrete client. App code that
7 | /// only submits feedback can depend on ``FeediFeedbackSubmitting`` instead.
8 | public final class FeediClient: Sendable {
| `- note: add '@available' attribute to enclosing class
9 | private let configuration = Mutex<FeediConfiguration?>(nil)
| `- error: 'init(_:)' is only available in macOS 15.0 or newer
10 | private let transport: any HTTPTransport
11 | private let metadataProvider: MetadataProvider
[16/16] Compiling Feedi resource_bundle_accessor.swift
BUILD FAILURE 6.3 macosSpm