Build Information
Successful build of Crossdeck, reference main (9e8303), with Swift 6.4 for macOS (SPM) on 27 Sep 2026 17:49:42 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Crossdeckhq/crossdeck-swift.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Crossdeckhq/crossdeck-swift
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 9e8303b docs: add SECURITY.md with a private disclosure route
Cloned https://github.com/Crossdeckhq/crossdeck-swift.git
Revision (git rev-parse @):
9e8303b6f8646a89e22b267365afc0076a20b3ba
SUCCESS checkout https://github.com/Crossdeckhq/crossdeck-swift.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/Crossdeckhq/crossdeck-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 95]
[Planning deferred tasks]
[33 / 42] Crossdeck_Crossdeck
[33 / 42]
[34 / 43] Crossdeck
[44 / 123]
[47 / 123]
[55 / 123]
[57 / 123]
[58 / 123]
[63 / 123]
[65 / 123]
[67 / 123]
[71 / 123]
[76 / 123]
[79 / 123]
[81 / 123]
[82 / 123]
[94 / 123]
[96 / 123]
[97 / 123]
[100 / 123]
[102 / 123]
[114 / 123] Crossdeck
[115 / 123] Crossdeck
[120 / 123] Crossdeck
Build complete! (11.10 sec)
/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Crossdeck.swift:1237:13: [1;33mwarning: [1;39minitialization of immutable value 'appIdValue' was never used; consider replacing with assignment to '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m1235 |[0;0m // setter above — server-side merge is best-effort).
[0;36m1236 |[0;0m let snapshot = identity.snapshotSync()
[0;36m1237 |[0;0m let appIdValue = options.appId
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of immutable value 'appIdValue' was never used; consider replacing with assignment to '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m1238 |[0;0m let envValue = options.environment.rawValue
[0;36m1239 |[0;0m // Traits to wire format: stringify every value (the wire
/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Crossdeck.swift:1238:13: [1;33mwarning: [1;39minitialization of immutable value 'envValue' was never used; consider replacing with assignment to '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m1236 |[0;0m let snapshot = identity.snapshotSync()
[0;36m1237 |[0;0m let appIdValue = options.appId
[0;36m1238 |[0;0m let envValue = options.environment.rawValue
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of immutable value 'envValue' was never used; consider replacing with assignment to '_' or removing it[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
[0;36m1239 |[0;0m // Traits to wire format: stringify every value (the wire
[0;36m1240 |[0;0m // shape is Dictionary<String, String>; complex types get
/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Crossdeck.swift:1725:23: [1;33mwarning: [1;39minstance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1723 |[0;0m return
[0;36m1724 |[0;0m }
[0;36m1725 |[0;0m resettingLock.lock()
[0;36m|[0;0m `- [1;33mwarning: [1;39minstance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1726 |[0;0m _isResetting = true
[0;36m1727 |[0;0m resettingLock.unlock()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:15:1: [1;39mnote: [1;39m'lock()' declared here[0;0m
[0;36m13 |[0;0m
[0;36m14 |[0;0m /// Attempts to acquire a lock, blocking a thread's execution until the lock can be acquired.
[0;36m15 |[0;0m - (void)lock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
[0;36m|[0;0m `- [1;39mnote: [1;39m'lock()' declared here[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m /// Relinquishes a previously acquired lock.
/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Crossdeck.swift:1727:23: [1;33mwarning: [1;39minstance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1725 |[0;0m resettingLock.lock()
[0;36m1726 |[0;0m _isResetting = true
[0;36m1727 |[0;0m resettingLock.unlock()
[0;36m|[0;0m `- [1;33mwarning: [1;39minstance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1728 |[0;0m defer {
[0;36m1729 |[0;0m resettingLock.lock()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:18:1: [1;39mnote: [1;39m'unlock()' declared here[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m /// Relinquishes a previously acquired lock.
[0;36m18 |[0;0m - (void)unlock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
[0;36m|[0;0m `- [1;39mnote: [1;39m'unlock()' declared here[0;0m
[0;36m19 |[0;0m
[0;36m20 |[0;0m @end
/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Crossdeck.swift:1729:27: [1;33mwarning: [1;39minstance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1727 |[0;0m resettingLock.unlock()
[0;36m1728 |[0;0m defer {
[0;36m1729 |[0;0m resettingLock.lock()
[0;36m|[0;0m `- [1;33mwarning: [1;39minstance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1730 |[0;0m _isResetting = false
[0;36m1731 |[0;0m resettingLock.unlock()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:15:1: [1;39mnote: [1;39m'lock()' declared here[0;0m
[0;36m13 |[0;0m
[0;36m14 |[0;0m /// Attempts to acquire a lock, blocking a thread's execution until the lock can be acquired.
[0;36m15 |[0;0m - (void)lock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
[0;36m|[0;0m `- [1;39mnote: [1;39m'lock()' declared here[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m /// Relinquishes a previously acquired lock.
/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Crossdeck.swift:1731:27: [1;33mwarning: [1;39minstance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1729 |[0;0m resettingLock.lock()
[0;36m1730 |[0;0m _isResetting = false
[0;36m1731 |[0;0m resettingLock.unlock()
[0;36m|[0;0m `- [1;33mwarning: [1;39minstance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1732 |[0;0m }
[0;36m1733 |[0;0m
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:18:1: [1;39mnote: [1;39m'unlock()' declared here[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m /// Relinquishes a previously acquired lock.
[0;36m18 |[0;0m - (void)unlock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
[0;36m|[0;0m `- [1;39mnote: [1;39m'unlock()' declared here[0;0m
[0;36m19 |[0;0m
[0;36m20 |[0;0m @end
/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Crossdeck.swift:1769:31: [1;33mwarning: [1;39minstance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1767 |[0;0m Task {
[0;36m1768 |[0;0m defer {
[0;36m1769 |[0;0m resettingLock.lock()
[0;36m|[0;0m `- [1;33mwarning: [1;39minstance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1770 |[0;0m _isResetting = false
[0;36m1771 |[0;0m resettingLock.unlock()
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:15:1: [1;39mnote: [1;39m'lock()' declared here[0;0m
[0;36m13 |[0;0m
[0;36m14 |[0;0m /// Attempts to acquire a lock, blocking a thread's execution until the lock can be acquired.
[0;36m15 |[0;0m - (void)lock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
[0;36m|[0;0m `- [1;39mnote: [1;39m'lock()' declared here[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m /// Relinquishes a previously acquired lock.
/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Crossdeck.swift:1771:31: [1;33mwarning: [1;39minstance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1769 |[0;0m resettingLock.lock()
[0;36m1770 |[0;0m _isResetting = false
[0;36m1771 |[0;0m resettingLock.unlock()
[0;36m|[0;0m `- [1;33mwarning: [1;39minstance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode[0;0m
[0;36m1772 |[0;0m }
[0;36m1773 |[0;0m // Only churn the anonymousId on a REAL logout (see reset() above).
/Applications/Xcode-27.0.0-Release.Candidate.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX27.0.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:18:1: [1;39mnote: [1;39m'unlock()' declared here[0;0m
[0;36m16 |[0;0m
[0;36m17 |[0;0m /// Relinquishes a previously acquired lock.
[0;36m18 |[0;0m - (void)unlock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
[0;36m|[0;0m `- [1;39mnote: [1;39m'unlock()' declared here[0;0m
[0;36m19 |[0;0m
[0;36m20 |[0;0m @end
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Crossdeck",
"name" : "Crossdeck",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "Crossdeck",
"targets" : [
"Crossdeck"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CrossdeckTests",
"module_type" : "SwiftTarget",
"name" : "CrossdeckTests",
"path" : "Tests/CrossdeckTests",
"sources" : [
"AppAccountTokenDerivationTests.swift",
"AppAccountTokenLifecycleTests.swift",
"AsyncLifecycleTests.swift",
"AutoTrackProductMapTests.swift",
"BreadcrumbsTests.swift",
"ConsentTests.swift",
"ContractFailedSchemaLockTests.swift",
"CrossdeckPublicAPITests.swift",
"CrossdeckTests.swift",
"DurableDeviceIdTests.swift",
"EntitlementCacheIsolationTests.swift",
"EntitlementCacheTests.swift",
"EntitlementResolutionTests.swift",
"ErrorsTests.swift",
"EventPropertyMergeTests.swift",
"EventQueueTests.swift",
"EventValidationTests.swift",
"HttpRetryAndIdempotencyTests.swift",
"HttpTests.swift",
"IdempotencyKeyTests.swift",
"IdentityTests.swift",
"LifecycleObserverCleanupTests.swift",
"PendingPurchaseQueueTests.swift",
"PublicAPIInputSafetyTests.swift",
"RetryPolicyTests.swift",
"SuperPropertiesTests.swift"
],
"target_dependencies" : [
"Crossdeck"
],
"type" : "test"
},
{
"c99name" : "Crossdeck",
"module_type" : "SwiftTarget",
"name" : "Crossdeck",
"path" : "Sources/Crossdeck",
"product_memberships" : [
"Crossdeck"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Crossdeck/Resources/contracts.json",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"AppAccountTokenDerivation.swift",
"AppleEntitlementSync.swift",
"AppleLocalEntitlements.swift",
"AppleProductMap.swift",
"AutoTrack.swift",
"Breadcrumbs.swift",
"Consent.swift",
"Contracts.swift",
"Crossdeck.swift",
"Debug.swift",
"DeepLink.swift",
"DeviceInfo.swift",
"DurableDeviceId.swift",
"EntitlementCache.swift",
"EntitlementResolution.swift",
"ErrorCapture.swift",
"Errors.swift",
"EventPropertyMerge.swift",
"EventQueue.swift",
"EventValidation.swift",
"Http.swift",
"IdempotencyKey.swift",
"Identity.swift",
"PendingPurchaseQueue.swift",
"PerformanceVitals.swift",
"PurchaseAutoTrack.swift",
"PurchaseSyncEffects.swift",
"Reachability.swift",
"RetryPolicy.swift",
"ServerEndpoints.swift",
"StackParser.swift",
"Storage.swift",
"SuperProperties.swift",
"SwiftUIEnvironment.swift",
"_DiagnosticTelemetry.swift",
"_Version.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.