Build Information
Successful build of SpendOwl, reference main (b679b6), with Swift 6.0 for macOS (SPM) on 24 Feb 2026 05:57:03 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/spendowl/spendowl-ios.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/spendowl/spendowl-ios
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at b679b61 chore: bump version to 1.1.0
Cloned https://github.com/spendowl/spendowl-ios.git
Revision (git rev-parse @):
b679b611f27544da5b2e54528c0641b9e41e6139
SUCCESS checkout https://github.com/spendowl/spendowl-ios.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/spendowl/spendowl-ios.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[0/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-5BDAB9E9C0126B9D.txt
[4/16] Compiling SpendOwl Version.swift
[5/16] Compiling SpendOwl KeychainHelper.swift
[6/17] Compiling SpendOwl SpendOwlError.swift
[7/17] Compiling SpendOwl Defaults.swift
[8/17] Compiling SpendOwl EventQueue.swift
[9/17] Compiling SpendOwl resource_bundle_accessor.swift
[10/17] Compiling SpendOwl SpendOwl.swift
[11/17] Compiling SpendOwl Configuration.swift
[12/17] Compiling SpendOwl Logger.swift
[13/17] Compiling SpendOwl AttributionResult.swift
[14/17] Compiling SpendOwl AttributionService.swift
[15/17] Emitting module SpendOwl
[16/17] Compiling SpendOwl APIClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:232:14: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
230 | /// enqueued during the network call.
231 | private func sendEnqueuedEvents() async {
232 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
233 | guard !_isSending else {
234 | lock.unlock()
Foundation.NSLock:11:15: note: 'lock()' declared here
9 | open var name: String? { get set }
10 | public init()
11 | open func lock()
| `- note: 'lock()' declared here
12 | open func unlock()
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:234:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
232 | lock.lock()
233 | guard !_isSending else {
234 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
235 | return
236 | }
Foundation.NSLock:12:15: note: 'unlock()' declared here
10 | public init()
11 | open func lock()
12 | open func unlock()
| `- note: 'unlock()' declared here
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:238:14: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
236 | }
237 | _isSending = true
238 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
239 |
240 | defer {
Foundation.NSLock:12:15: note: 'unlock()' declared here
10 | public init()
11 | open func lock()
12 | open func unlock()
| `- note: 'unlock()' declared here
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:241:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
239 |
240 | defer {
241 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
242 | _isSending = false
243 | lock.unlock()
Foundation.NSLock:11:15: note: 'lock()' declared here
9 | open var name: String? { get set }
10 | public init()
11 | open func lock()
| `- note: 'lock()' declared here
12 | open func unlock()
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:243:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
241 | lock.lock()
242 | _isSending = false
243 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
244 | }
245 |
Foundation.NSLock:12:15: note: 'unlock()' declared here
10 | public init()
11 | open func lock()
12 | open func unlock()
| `- note: 'unlock()' declared here
13 | }
[17/17] Compiling SpendOwl PurchaseTracker.swift
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:232:14: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
230 | /// enqueued during the network call.
231 | private func sendEnqueuedEvents() async {
232 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
233 | guard !_isSending else {
234 | lock.unlock()
Foundation.NSLock:11:15: note: 'lock()' declared here
9 | open var name: String? { get set }
10 | public init()
11 | open func lock()
| `- note: 'lock()' declared here
12 | open func unlock()
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:234:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
232 | lock.lock()
233 | guard !_isSending else {
234 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
235 | return
236 | }
Foundation.NSLock:12:15: note: 'unlock()' declared here
10 | public init()
11 | open func lock()
12 | open func unlock()
| `- note: 'unlock()' declared here
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:238:14: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
236 | }
237 | _isSending = true
238 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
239 |
240 | defer {
Foundation.NSLock:12:15: note: 'unlock()' declared here
10 | public init()
11 | open func lock()
12 | open func unlock()
| `- note: 'unlock()' declared here
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:241:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
239 |
240 | defer {
241 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
242 | _isSending = false
243 | lock.unlock()
Foundation.NSLock:11:15: note: 'lock()' declared here
9 | open var name: String? { get set }
10 | public init()
11 | open func lock()
| `- note: 'lock()' declared here
12 | open func unlock()
13 | }
/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/Purchases/PurchaseTracker.swift:243:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
241 | lock.lock()
242 | _isSending = false
243 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
244 | }
245 |
Foundation.NSLock:12:15: note: 'unlock()' declared here
10 | public init()
11 | open func lock()
12 | open func unlock()
| `- note: 'unlock()' declared here
13 | }
Build complete! (8.58s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SpendOwl",
"name" : "SpendOwl",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "SpendOwl",
"targets" : [
"SpendOwl"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "SpendOwlTests",
"module_type" : "SwiftTarget",
"name" : "SpendOwlTests",
"path" : "Tests/SpendOwlTests",
"sources" : [
"SpendOwlTests.swift"
],
"target_dependencies" : [
"SpendOwl"
],
"type" : "test"
},
{
"c99name" : "SpendOwl",
"module_type" : "SwiftTarget",
"name" : "SpendOwl",
"path" : "Sources/SpendOwl",
"product_memberships" : [
"SpendOwl"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SpendOwl/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Attribution/AttributionResult.swift",
"Attribution/AttributionService.swift",
"Configuration.swift",
"Logger.swift",
"Network/APIClient.swift",
"Purchases/PurchaseTracker.swift",
"SpendOwl.swift",
"SpendOwlError.swift",
"Storage/Defaults.swift",
"Storage/EventQueue.swift",
"Storage/KeychainHelper.swift",
"Version.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.