The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Amplitude-Swift, reference main (b6dd7d), with Swift 6.1 for macOS (SPM) on 21 Apr 2026 04:54:34 UTC.

Swift 6 data race errors: 19

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

494 |                 e.deviceId = e.deviceId ?? identity.deviceId
495 |                 self.timeline.processEvent(event: e)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Identity.swift:14:15: note: consider making struct 'Identity' conform to the 'Sendable' protocol
12 | #endif
13 |
14 | public struct Identity: AnalyticsIdentity {
   |               `- note: consider making struct 'Identity' conform to the 'Sendable' protocol
15 |     public var userId: String?
16 |     public var deviceId: String?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:494:44: warning: implicit capture of 'identity' requires that 'Identity' conforms to 'Sendable'; this is an error in the Swift 6 language mode
492 |             events.forEach { e in
493 |                 e.userId = e.userId ?? identity.userId
494 |                 e.deviceId = e.deviceId ?? identity.deviceId
    |                                            `- warning: implicit capture of 'identity' requires that 'Identity' conforms to 'Sendable'; this is an error in the Swift 6 language mode
495 |                 self.timeline.processEvent(event: e)
496 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Identity.swift:14:15: note: consider making struct 'Identity' conform to the 'Sendable' protocol
12 | #endif
13 |
14 | public struct Identity: AnalyticsIdentity {
   |               `- note: consider making struct 'Identity' conform to the 'Sendable' protocol
15 |     public var userId: String?
16 |     public var deviceId: String?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:508:26: warning: capture of 'self' with non-sendable type 'Amplitude' in a '@Sendable' closure
  7 | import Foundation
  8 |
  9 | public class Amplitude {
    |              `- note: class 'Amplitude' does not conform to the 'Sendable' protocol
 10 |
 11 |     public private(set) var configuration: Configuration
    :
506 |         trackingQueue.async { [self, identity] in
507 |             // set inForeground to false to represent state before event was fired
508 |             let events = self.sessions.processEvent(event: dummySessionStartEvent, inForeground: false)
    |                          `- warning: capture of 'self' with non-sendable type 'Amplitude' in a '@Sendable' closure
509 |             if !configuration.optOut {
510 |                 events.forEach { e in
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:508:60: warning: capture of 'dummySessionStartEvent' with non-sendable type 'BaseEvent' in a '@Sendable' closure
506 |         trackingQueue.async { [self, identity] in
507 |             // set inForeground to false to represent state before event was fired
508 |             let events = self.sessions.processEvent(event: dummySessionStartEvent, inForeground: false)
    |                                                            `- warning: capture of 'dummySessionStartEvent' with non-sendable type 'BaseEvent' in a '@Sendable' closure
509 |             if !configuration.optOut {
510 |                 events.forEach { e in
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Events/BaseEvent.swift:15:12: note: class 'BaseEvent' does not conform to the 'Sendable' protocol
 13 | import Foundation
 14 |
 15 | open class BaseEvent: EventOptions, AnalyticsEvent, Codable {
    |            `- note: class 'BaseEvent' does not conform to the 'Sendable' protocol
 16 |     public var eventType: String
 17 |     public var eventProperties: [String: Any]?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:511:44: warning: capture of 'identity' with non-sendable type 'Identity' in a '@Sendable' closure
509 |             if !configuration.optOut {
510 |                 events.forEach { e in
511 |                     e.userId = e.userId ?? identity.userId
    |                                            `- warning: capture of 'identity' with non-sendable type 'Identity' in a '@Sendable' closure
512 |                     e.deviceId = e.deviceId ?? identity.deviceId
513 |                     self.timeline.processEvent(event: e)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Identity.swift:14:15: note: consider making struct 'Identity' conform to the 'Sendable' protocol
12 | #endif
13 |
14 | public struct Identity: AnalyticsIdentity {
   |               `- note: consider making struct 'Identity' conform to the 'Sendable' protocol
15 |     public var userId: String?
16 |     public var deviceId: String?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:511:44: warning: capture of 'identity' with non-sendable type 'Identity' in an isolated closure; this is an error in the Swift 6 language mode
509 |             if !configuration.optOut {
510 |                 events.forEach { e in
511 |                     e.userId = e.userId ?? identity.userId
    |                                            `- warning: capture of 'identity' with non-sendable type 'Identity' in an isolated closure; this is an error in the Swift 6 language mode
512 |                     e.deviceId = e.deviceId ?? identity.deviceId
513 |                     self.timeline.processEvent(event: e)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Identity.swift:14:15: note: consider making struct 'Identity' conform to the 'Sendable' protocol
12 | #endif
13 |
14 | public struct Identity: AnalyticsIdentity {
   |               `- note: consider making struct 'Identity' conform to the 'Sendable' protocol
15 |     public var userId: String?
16 |     public var deviceId: String?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:513:21: warning: capture of 'self' with non-sendable type 'Amplitude' in an isolated closure; this is an error in the Swift 6 language mode
  7 | import Foundation
  8 |
  9 | public class Amplitude {
    |              `- note: class 'Amplitude' does not conform to the 'Sendable' protocol
 10 |
 11 |     public private(set) var configuration: Configuration
    :
511 |                     e.userId = e.userId ?? identity.userId
512 |                     e.deviceId = e.deviceId ?? identity.deviceId
513 |                     self.timeline.processEvent(event: e)
    |                     `- warning: capture of 'self' with non-sendable type 'Amplitude' in an isolated closure; this is an error in the Swift 6 language mode
514 |                 }
515 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:511:44: warning: implicit capture of 'identity' requires that 'Identity' conforms to 'Sendable'; this is an error in the Swift 6 language mode
509 |             if !configuration.optOut {
510 |                 events.forEach { e in
511 |                     e.userId = e.userId ?? identity.userId
    |                                            `- warning: implicit capture of 'identity' requires that 'Identity' conforms to 'Sendable'; this is an error in the Swift 6 language mode
512 |                     e.deviceId = e.deviceId ?? identity.deviceId
513 |                     self.timeline.processEvent(event: e)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Identity.swift:14:15: note: consider making struct 'Identity' conform to the 'Sendable' protocol
12 | #endif
13 |
14 | public struct Identity: AnalyticsIdentity {
   |               `- note: consider making struct 'Identity' conform to the 'Sendable' protocol
15 |     public var userId: String?
16 |     public var deviceId: String?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:512:48: warning: implicit capture of 'identity' requires that 'Identity' conforms to 'Sendable'; this is an error in the Swift 6 language mode
510 |                 events.forEach { e in
511 |                     e.userId = e.userId ?? identity.userId
512 |                     e.deviceId = e.deviceId ?? identity.deviceId
    |                                                `- warning: implicit capture of 'identity' requires that 'Identity' conforms to 'Sendable'; this is an error in the Swift 6 language mode
513 |                     self.timeline.processEvent(event: e)
514 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Identity.swift:14:15: note: consider making struct 'Identity' conform to the 'Sendable' protocol
12 | #endif
13 |
14 | public struct Identity: AnalyticsIdentity {
   |               `- note: consider making struct 'Identity' conform to the 'Sendable' protocol
15 |     public var userId: String?
16 |     public var deviceId: String?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Amplitude.swift:522:13: warning: capture of 'self' with non-sendable type 'Amplitude' in a '@Sendable' closure
  7 | import Foundation
  8 |
  9 | public class Amplitude {
    |              `- note: class 'Amplitude' does not conform to the 'Sendable' protocol
 10 |
 11 |     public private(set) var configuration: Configuration
    :
520 |         inForeground = false
521 |         trackingQueue.async { [self] in
522 |             self.sessions.lastEventTime = timestamp
    |             `- warning: capture of 'self' with non-sendable type 'Amplitude' in a '@Sendable' closure
523 |         }
524 |         if configuration.flushEventsOnClose == true {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/AutocaptureOptions.swift:10:23: warning: static property 'sessions' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public struct AutocaptureOptions: OptionSet {
   |               `- note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 4 |     public let rawValue: Int
 5 |
   :
 8 |     }
 9 |
10 |     public static let sessions            = AutocaptureOptions(rawValue: 1 << 0)
   |                       |- warning: static property 'sessions' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'sessions' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |     public static let appLifecycles       = AutocaptureOptions(rawValue: 1 << 1)
12 |     public static let screenViews         = AutocaptureOptions(rawValue: 1 << 2)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/AutocaptureOptions.swift:11:23: warning: static property 'appLifecycles' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public struct AutocaptureOptions: OptionSet {
   |               `- note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 4 |     public let rawValue: Int
 5 |
   :
 9 |
10 |     public static let sessions            = AutocaptureOptions(rawValue: 1 << 0)
11 |     public static let appLifecycles       = AutocaptureOptions(rawValue: 1 << 1)
   |                       |- warning: static property 'appLifecycles' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'appLifecycles' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     public static let screenViews         = AutocaptureOptions(rawValue: 1 << 2)
13 |     public static let elementInteractions = AutocaptureOptions(rawValue: 1 << 3)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/AutocaptureOptions.swift:12:23: warning: static property 'screenViews' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public struct AutocaptureOptions: OptionSet {
   |               `- note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 4 |     public let rawValue: Int
 5 |
   :
10 |     public static let sessions            = AutocaptureOptions(rawValue: 1 << 0)
11 |     public static let appLifecycles       = AutocaptureOptions(rawValue: 1 << 1)
12 |     public static let screenViews         = AutocaptureOptions(rawValue: 1 << 2)
   |                       |- warning: static property 'screenViews' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'screenViews' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |     public static let elementInteractions = AutocaptureOptions(rawValue: 1 << 3)
14 |     /// Won't work on watchOS
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/AutocaptureOptions.swift:13:23: warning: static property 'elementInteractions' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public struct AutocaptureOptions: OptionSet {
   |               `- note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 4 |     public let rawValue: Int
 5 |
   :
11 |     public static let appLifecycles       = AutocaptureOptions(rawValue: 1 << 1)
12 |     public static let screenViews         = AutocaptureOptions(rawValue: 1 << 2)
13 |     public static let elementInteractions = AutocaptureOptions(rawValue: 1 << 3)
   |                       |- warning: static property 'elementInteractions' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'elementInteractions' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |     /// Won't work on watchOS
15 |     public static let networkTracking     = AutocaptureOptions(rawValue: 1 << 4)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/AutocaptureOptions.swift:15:23: warning: static property 'networkTracking' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public struct AutocaptureOptions: OptionSet {
   |               `- note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 4 |     public let rawValue: Int
 5 |
   :
13 |     public static let elementInteractions = AutocaptureOptions(rawValue: 1 << 3)
14 |     /// Won't work on watchOS
15 |     public static let networkTracking     = AutocaptureOptions(rawValue: 1 << 4)
   |                       |- warning: static property 'networkTracking' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'networkTracking' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |     /// Rage Click and Dead Click detection
17 |     public static let frustrationInteractions = AutocaptureOptions(rawValue: 1 << 5)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/AutocaptureOptions.swift:17:23: warning: static property 'frustrationInteractions' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public struct AutocaptureOptions: OptionSet {
   |               `- note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 4 |     public let rawValue: Int
 5 |
   :
15 |     public static let networkTracking     = AutocaptureOptions(rawValue: 1 << 4)
16 |     /// Rage Click and Dead Click detection
17 |     public static let frustrationInteractions = AutocaptureOptions(rawValue: 1 << 5)
   |                       |- warning: static property 'frustrationInteractions' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'frustrationInteractions' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     public static let all: AutocaptureOptions = [
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/AutocaptureOptions.swift:19:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public struct AutocaptureOptions: OptionSet {
   |               `- note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 4 |     public let rawValue: Int
 5 |
   :
17 |     public static let frustrationInteractions = AutocaptureOptions(rawValue: 1 << 5)
18 |
19 |     public static let all: AutocaptureOptions = [
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'all' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |         .sessions,
21 |         .appLifecycles,
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:32:27: warning: static property 'autocaptureOptions' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 30 |         public static let flushEventsOnClose = true
 31 |         public static let maxQueuedEventCount = -1
 32 |         public static let autocaptureOptions: AutocaptureOptions = .sessions
    |                           |- warning: static property 'autocaptureOptions' is not concurrency-safe because non-'Sendable' type 'AutocaptureOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'autocaptureOptions' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 33 |         public static let migrateLegacyData = true
 34 |         public static let enableAutoCaptureRemoteConfig = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/AutocaptureOptions.swift:3:15: note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct AutocaptureOptions: OptionSet {
   |               `- note: consider making struct 'AutocaptureOptions' conform to the 'Sendable' protocol
 4 |     public let rawValue: Int
 5 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:35:27: warning: static property 'trackingOptions' is not concurrency-safe because non-'Sendable' type 'TrackingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 33 |         public static let migrateLegacyData = true
 34 |         public static let enableAutoCaptureRemoteConfig = true
 35 |         public static let trackingOptions = TrackingOptions()
    |                           |- warning: static property 'trackingOptions' is not concurrency-safe because non-'Sendable' type 'TrackingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'trackingOptions' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 36 |         public static let networkTrackingOptions = NetworkTrackingOptions.default
 37 |         public static let interactionsOptions = InteractionsOptions()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/TrackingOptions.swift:10:14: note: class 'TrackingOptions' does not conform to the 'Sendable' protocol
  8 | import Foundation
  9 |
 10 | public class TrackingOptions {
    |              `- note: class 'TrackingOptions' does not conform to the 'Sendable' protocol
 11 |
 12 |     public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:36:27: warning: static property 'networkTrackingOptions' is not concurrency-safe because non-'Sendable' type 'NetworkTrackingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 34 |         public static let enableAutoCaptureRemoteConfig = true
 35 |         public static let trackingOptions = TrackingOptions()
 36 |         public static let networkTrackingOptions = NetworkTrackingOptions.default
    |                           |- warning: static property 'networkTrackingOptions' is not concurrency-safe because non-'Sendable' type 'NetworkTrackingOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'networkTrackingOptions' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 37 |         public static let interactionsOptions = InteractionsOptions()
 38 |         public static let enableDiagnostics = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:68:15: note: consider making struct 'NetworkTrackingOptions' conform to the 'Sendable' protocol
 66 | ]
 67 |
 68 | public struct NetworkTrackingOptions {
    |               `- note: consider making struct 'NetworkTrackingOptions' conform to the 'Sendable' protocol
 69 |     public enum URLPattern {
 70 |         case exact(String)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:37:27: warning: static property 'interactionsOptions' is not concurrency-safe because non-'Sendable' type 'InteractionsOptions' may have shared mutable state; this is an error in the Swift 6 language mode
 35 |         public static let trackingOptions = TrackingOptions()
 36 |         public static let networkTrackingOptions = NetworkTrackingOptions.default
 37 |         public static let interactionsOptions = InteractionsOptions()
    |                           |- warning: static property 'interactionsOptions' is not concurrency-safe because non-'Sendable' type 'InteractionsOptions' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: add '@MainActor' to make static property 'interactionsOptions' part of global actor 'MainActor'
    |                           `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 38 |         public static let enableDiagnostics = true
 39 |         public static let enableRequestBodyCompression = false
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/InteractionsOptions.swift:10:14: note: class 'InteractionsOptions' does not conform to the 'Sendable' protocol
 8 | import Foundation
 9 |
10 | public class InteractionsOptions {
   |              `- note: class 'InteractionsOptions' does not conform to the 'Sendable' protocol
11 |     public let rageClick: RageClickOptions
12 |     public let deadClick: DeadClickOptions
[72/97] Compiling AmplitudeSwift ObjCDeepLinkOpenedEvent.swift
[73/97] Compiling AmplitudeSwift ObjCDefaultTrackingOptions.swift
[74/97] Compiling AmplitudeSwift ObjCEventOptions.swift
[75/97] Compiling AmplitudeSwift ObjCIdentify.swift
[76/97] Compiling AmplitudeSwift ObjCIngestionMetadata.swift
[77/97] Compiling AmplitudeSwift ObjCInteractionsOptions.swift
[78/97] Compiling AmplitudeSwift ObjCLoggerProvider.swift
[79/97] Compiling AmplitudeSwift ObjCNetworkConnectivityCheckerPlugin.swift
[80/97] Compiling AmplitudeSwift ObjCNetworkTrackingOptions.swift
[81/97] Compiling AmplitudeSwift AnalyticsConnectorPlugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[82/97] Compiling AmplitudeSwift BasePlugins.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[83/97] Compiling AmplitudeSwift ContextPlugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[84/97] Compiling AmplitudeSwift DestinationPlugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[85/97] Compiling AmplitudeSwift IdentityEventSender.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[86/97] Compiling AmplitudeSwift MacOSLifecycleMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[87/97] Compiling AmplitudeSwift NetworkConnectivityCheckerPlugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[88/97] Compiling AmplitudeSwift NetworkTrackingPlugin.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[89/97] Compiling AmplitudeSwift AppUtil.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/ContextPlugin.swift:14:25: warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | class ContextPlugin: BeforePlugin {
 14 |     internal static var device = VendorSystem.current
    |                         |- warning: static property 'device' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: convert 'device' to a 'let' constant to make 'Sendable' shared state immutable
    |                         |- note: add '@MainActor' to make static property 'device' part of global actor 'MainActor'
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 15 |
 16 |     override func setup(amplitude: Amplitude) {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/Mac/MacOSLifecycleMonitor.swift:20:46: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
18 |
19 |         override init() {
20 |             self.application = NSApplication.shared
   |                                              `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 |             super.init()
22 |             setupListeners()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkConnectivityCheckerPlugin.swift:34:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
32 |
33 |     func start(queue: DispatchQueue) {
34 |         monitor.pathUpdateHandler = subject.send
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
35 |         networkPathPublisher = subject
36 |             .map { NetworkPath(status: $0.status) }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:434:13: warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
432 |
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
    |             |- warning: var 'sendTimeKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'sendTimeKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'sendTimeKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
435 | private var responseDataKey: UInt8 = 0
436 |
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:435:13: warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
433 | // Key for associated object
434 | private var sendTimeKey: UInt8 = 0
435 | private var responseDataKey: UInt8 = 0
    |             |- warning: var 'responseDataKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'responseDataKey' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'responseDataKey' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
436 |
437 | extension URLSessionTask {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:411:78: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
409 |         if rule.responseBody != nil {
410 |             // onDataTaskCompletion is called earlier than onTask, add delay to make response body capture more stable
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
    |                                                                              `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Plugins/NetworkTrackingPlugin.swift:413:49: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
411 |             networkTrackingQueue.asyncAfter(deadline: .now() + 0.1, execute: sendEventAction)
412 |         } else {
413 |             networkTrackingQueue.async(execute: sendEventAction)
    |                                                 `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
414 |         }
415 |     }
[90/97] Compiling AmplitudeSwift DefaultEventUtils.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/DefaultEventUtils.swift:6:24: warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private static let lock = NSLock()
 6 |     private static var instanceNamesThatSentAppUpdatedInstalled: Set<String> = []
   |                        |- warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'instanceNamesThatSentAppUpdatedInstalled' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'instanceNamesThatSentAppUpdatedInstalled' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     private weak var amplitude: Amplitude?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:65:20: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 63 |
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
    |                    |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
    |                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 66 |                 flushCompletions.append(completion)
 67 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:66:17: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
 66 |                 flushCompletions.append(completion)
    |                 `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 67 |             }
 68 |             self.sendNextEventFile()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:144:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
142 |
143 |                     if failures == 0 || handled {
144 |                         self.uploadsQueue.async(execute: nextFileBlock)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:147:99: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
147 |                         self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
148 |                         self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds")
149 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:21: warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                     `- warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:76: warning: reference to captured var 'newSkipFiles' in concurrently-executing code
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                                                                            `- warning: reference to captured var 'newSkipFiles' in concurrently-executing code
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:129:25: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
127 |                 if failures > self.configuration.flushMaxRetries {
128 |                     self.uploadsQueue.async {
129 |                         self.currentUpload = nil
    |                         `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
130 |                     }
131 |                     self.configuration.offline = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/MiscellaneousExtension.swift:11:13: warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | // Cached ISO8601DateFormatter for better performance on older OS versions
11 | private let cachedISO8601Formatter: ISO8601DateFormatter = {
   |             |- warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'cachedISO8601Formatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     let formatter = ISO8601DateFormatter()
13 |     formatter.formatOptions.insert(.withFractionalSeconds)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
[91/97] Compiling AmplitudeSwift Diagonostics.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/DefaultEventUtils.swift:6:24: warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private static let lock = NSLock()
 6 |     private static var instanceNamesThatSentAppUpdatedInstalled: Set<String> = []
   |                        |- warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'instanceNamesThatSentAppUpdatedInstalled' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'instanceNamesThatSentAppUpdatedInstalled' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     private weak var amplitude: Amplitude?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:65:20: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 63 |
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
    |                    |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
    |                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 66 |                 flushCompletions.append(completion)
 67 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:66:17: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
 66 |                 flushCompletions.append(completion)
    |                 `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 67 |             }
 68 |             self.sendNextEventFile()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:144:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
142 |
143 |                     if failures == 0 || handled {
144 |                         self.uploadsQueue.async(execute: nextFileBlock)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:147:99: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
147 |                         self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
148 |                         self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds")
149 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:21: warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                     `- warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:76: warning: reference to captured var 'newSkipFiles' in concurrently-executing code
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                                                                            `- warning: reference to captured var 'newSkipFiles' in concurrently-executing code
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:129:25: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
127 |                 if failures > self.configuration.flushMaxRetries {
128 |                     self.uploadsQueue.async {
129 |                         self.currentUpload = nil
    |                         `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
130 |                     }
131 |                     self.configuration.offline = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/MiscellaneousExtension.swift:11:13: warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | // Cached ISO8601DateFormatter for better performance on older OS versions
11 | private let cachedISO8601Formatter: ISO8601DateFormatter = {
   |             |- warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'cachedISO8601Formatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     let formatter = ISO8601DateFormatter()
13 |     formatter.formatOptions.insert(.withFractionalSeconds)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
[92/97] Compiling AmplitudeSwift DispatchQueueHolder.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/DefaultEventUtils.swift:6:24: warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private static let lock = NSLock()
 6 |     private static var instanceNamesThatSentAppUpdatedInstalled: Set<String> = []
   |                        |- warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'instanceNamesThatSentAppUpdatedInstalled' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'instanceNamesThatSentAppUpdatedInstalled' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     private weak var amplitude: Amplitude?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:65:20: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 63 |
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
    |                    |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
    |                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 66 |                 flushCompletions.append(completion)
 67 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:66:17: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
 66 |                 flushCompletions.append(completion)
    |                 `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 67 |             }
 68 |             self.sendNextEventFile()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:144:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
142 |
143 |                     if failures == 0 || handled {
144 |                         self.uploadsQueue.async(execute: nextFileBlock)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:147:99: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
147 |                         self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
148 |                         self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds")
149 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:21: warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                     `- warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:76: warning: reference to captured var 'newSkipFiles' in concurrently-executing code
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                                                                            `- warning: reference to captured var 'newSkipFiles' in concurrently-executing code
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:129:25: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
127 |                 if failures > self.configuration.flushMaxRetries {
128 |                     self.uploadsQueue.async {
129 |                         self.currentUpload = nil
    |                         `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
130 |                     }
131 |                     self.configuration.offline = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/MiscellaneousExtension.swift:11:13: warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | // Cached ISO8601DateFormatter for better performance on older OS versions
11 | private let cachedISO8601Formatter: ISO8601DateFormatter = {
   |             |- warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'cachedISO8601Formatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     let formatter = ISO8601DateFormatter()
13 |     formatter.formatOptions.insert(.withFractionalSeconds)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
[93/97] Compiling AmplitudeSwift EventPipeline.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/DefaultEventUtils.swift:6:24: warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private static let lock = NSLock()
 6 |     private static var instanceNamesThatSentAppUpdatedInstalled: Set<String> = []
   |                        |- warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'instanceNamesThatSentAppUpdatedInstalled' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'instanceNamesThatSentAppUpdatedInstalled' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     private weak var amplitude: Amplitude?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:65:20: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 63 |
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
    |                    |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
    |                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 66 |                 flushCompletions.append(completion)
 67 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:66:17: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
 66 |                 flushCompletions.append(completion)
    |                 `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 67 |             }
 68 |             self.sendNextEventFile()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:144:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
142 |
143 |                     if failures == 0 || handled {
144 |                         self.uploadsQueue.async(execute: nextFileBlock)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:147:99: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
147 |                         self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
148 |                         self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds")
149 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:21: warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                     `- warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:76: warning: reference to captured var 'newSkipFiles' in concurrently-executing code
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                                                                            `- warning: reference to captured var 'newSkipFiles' in concurrently-executing code
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:129:25: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
127 |                 if failures > self.configuration.flushMaxRetries {
128 |                     self.uploadsQueue.async {
129 |                         self.currentUpload = nil
    |                         `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
130 |                     }
131 |                     self.configuration.offline = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/MiscellaneousExtension.swift:11:13: warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | // Cached ISO8601DateFormatter for better performance on older OS versions
11 | private let cachedISO8601Formatter: ISO8601DateFormatter = {
   |             |- warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'cachedISO8601Formatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     let formatter = ISO8601DateFormatter()
13 |     formatter.formatOptions.insert(.withFractionalSeconds)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
[94/97] Compiling AmplitudeSwift HttpClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/DefaultEventUtils.swift:6:24: warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private static let lock = NSLock()
 6 |     private static var instanceNamesThatSentAppUpdatedInstalled: Set<String> = []
   |                        |- warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'instanceNamesThatSentAppUpdatedInstalled' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'instanceNamesThatSentAppUpdatedInstalled' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     private weak var amplitude: Amplitude?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:65:20: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 63 |
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
    |                    |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
    |                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 66 |                 flushCompletions.append(completion)
 67 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:66:17: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
 66 |                 flushCompletions.append(completion)
    |                 `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 67 |             }
 68 |             self.sendNextEventFile()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:144:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
142 |
143 |                     if failures == 0 || handled {
144 |                         self.uploadsQueue.async(execute: nextFileBlock)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:147:99: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
147 |                         self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
148 |                         self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds")
149 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:21: warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                     `- warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:76: warning: reference to captured var 'newSkipFiles' in concurrently-executing code
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                                                                            `- warning: reference to captured var 'newSkipFiles' in concurrently-executing code
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:129:25: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
127 |                 if failures > self.configuration.flushMaxRetries {
128 |                     self.uploadsQueue.async {
129 |                         self.currentUpload = nil
    |                         `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
130 |                     }
131 |                     self.configuration.offline = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/MiscellaneousExtension.swift:11:13: warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | // Cached ISO8601DateFormatter for better performance on older OS versions
11 | private let cachedISO8601Formatter: ISO8601DateFormatter = {
   |             |- warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'cachedISO8601Formatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     let formatter = ISO8601DateFormatter()
13 |     formatter.formatOptions.insert(.withFractionalSeconds)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
[95/97] Compiling AmplitudeSwift IdentifyInterceptor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/DefaultEventUtils.swift:6:24: warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private static let lock = NSLock()
 6 |     private static var instanceNamesThatSentAppUpdatedInstalled: Set<String> = []
   |                        |- warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'instanceNamesThatSentAppUpdatedInstalled' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'instanceNamesThatSentAppUpdatedInstalled' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     private weak var amplitude: Amplitude?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:65:20: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 63 |
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
    |                    |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
    |                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 66 |                 flushCompletions.append(completion)
 67 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:66:17: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
 66 |                 flushCompletions.append(completion)
    |                 `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 67 |             }
 68 |             self.sendNextEventFile()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:144:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
142 |
143 |                     if failures == 0 || handled {
144 |                         self.uploadsQueue.async(execute: nextFileBlock)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:147:99: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
147 |                         self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
148 |                         self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds")
149 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:21: warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                     `- warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:76: warning: reference to captured var 'newSkipFiles' in concurrently-executing code
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                                                                            `- warning: reference to captured var 'newSkipFiles' in concurrently-executing code
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:129:25: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
127 |                 if failures > self.configuration.flushMaxRetries {
128 |                     self.uploadsQueue.async {
129 |                         self.currentUpload = nil
    |                         `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
130 |                     }
131 |                     self.configuration.offline = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/MiscellaneousExtension.swift:11:13: warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | // Cached ISO8601DateFormatter for better performance on older OS versions
11 | private let cachedISO8601Formatter: ISO8601DateFormatter = {
   |             |- warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'cachedISO8601Formatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     let formatter = ISO8601DateFormatter()
13 |     formatter.formatOptions.insert(.withFractionalSeconds)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
[96/97] Compiling AmplitudeSwift MethodSwizzler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/DefaultEventUtils.swift:6:24: warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private static let lock = NSLock()
 6 |     private static var instanceNamesThatSentAppUpdatedInstalled: Set<String> = []
   |                        |- warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'instanceNamesThatSentAppUpdatedInstalled' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'instanceNamesThatSentAppUpdatedInstalled' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     private weak var amplitude: Amplitude?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:65:20: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 63 |
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
    |                    |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
    |                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 66 |                 flushCompletions.append(completion)
 67 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:66:17: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
 66 |                 flushCompletions.append(completion)
    |                 `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 67 |             }
 68 |             self.sendNextEventFile()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:144:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
142 |
143 |                     if failures == 0 || handled {
144 |                         self.uploadsQueue.async(execute: nextFileBlock)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:147:99: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
147 |                         self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
148 |                         self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds")
149 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:21: warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                     `- warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:76: warning: reference to captured var 'newSkipFiles' in concurrently-executing code
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                                                                            `- warning: reference to captured var 'newSkipFiles' in concurrently-executing code
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:129:25: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
127 |                 if failures > self.configuration.flushMaxRetries {
128 |                     self.uploadsQueue.async {
129 |                         self.currentUpload = nil
    |                         `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
130 |                     }
131 |                     self.configuration.offline = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/MiscellaneousExtension.swift:11:13: warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | // Cached ISO8601DateFormatter for better performance on older OS versions
11 | private let cachedISO8601Formatter: ISO8601DateFormatter = {
   |             |- warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'cachedISO8601Formatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     let formatter = ISO8601DateFormatter()
13 |     formatter.formatOptions.insert(.withFractionalSeconds)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
[97/97] Compiling AmplitudeSwift MiscellaneousExtension.swift
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/DefaultEventUtils.swift:6:24: warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     private static let lock = NSLock()
 6 |     private static var instanceNamesThatSentAppUpdatedInstalled: Set<String> = []
   |                        |- warning: static property 'instanceNamesThatSentAppUpdatedInstalled' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'instanceNamesThatSentAppUpdatedInstalled' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: add '@MainActor' to make static property 'instanceNamesThatSentAppUpdatedInstalled' part of global actor 'MainActor'
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     private weak var amplitude: Amplitude?
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:65:20: warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
 63 |
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
    |                    |- warning: capture of 'completion' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
    |                    `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 66 |                 flushCompletions.append(completion)
 67 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:66:17: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
 64 |         uploadsQueue.async { [self] in
 65 |             if let completion {
 66 |                 flushCompletions.append(completion)
    |                 `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 67 |             }
 68 |             self.sendNextEventFile()
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:144:58: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
142 |
143 |                     if failures == 0 || handled {
144 |                         self.uploadsQueue.async(execute: nextFileBlock)
    |                                                          `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:147:99: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
145 |                     } else {
146 |                         let sendingInterval = min(MAX_RETRY_INTERVAL, pow(2, Double(failures - 1)))
147 |                         self.uploadsQueue.asyncAfter(deadline: .now() + sendingInterval, execute: nextFileBlock)
    |                                                                                                   `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
148 |                         self.logger?.error(message: "Request failed \(failures) times, send next event file in \(sendingInterval) seconds")
149 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:21: warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                     `- warning: capture of 'self' with non-sendable type 'EventPipeline?' in a '@Sendable' closure
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:103:76: warning: reference to captured var 'newSkipFiles' in concurrently-executing code
101 |                 newSkipFiles.insert(nextEventFile)
102 |                 uploadsQueue.async { [weak self] in
103 |                     self?.sendNextEventFile(failures: failures, skipFiles: newSkipFiles)
    |                                                                            `- warning: reference to captured var 'newSkipFiles' in concurrently-executing code
104 |                 }
105 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/EventPipeline.swift:129:25: warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
 11 | private let MAX_RETRY_INTERVAL: Double = 60
 12 |
 13 | public class EventPipeline {
    |              `- note: class 'EventPipeline' does not conform to the 'Sendable' protocol
 14 |     var httpClient: HttpClient
 15 |     let storage: Storage?
    :
127 |                 if failures > self.configuration.flushMaxRetries {
128 |                     self.uploadsQueue.async {
129 |                         self.currentUpload = nil
    |                         `- warning: capture of 'self' with non-sendable type 'EventPipeline' in a '@Sendable' closure
130 |                     }
131 |                     self.configuration.offline = true
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:49:33: warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 47 |                             case NSURLErrorCannotConnectToHost, NSURLErrorNetworkConnectionLost, NSURLErrorCannotFindHost, NSURLErrorAppTransportSecurityRequiresSecureConnection, NSURLErrorNotConnectedToInternet, NSURLErrorBadURL:
 48 |                                 logger?.error(message: "Conection failed with error: \(error.localizedDescription), marking offline")
 49 |                                 configuration.offline = true
    |                                 `- warning: capture of 'configuration' with non-sendable type 'Configuration' in a '@Sendable' closure
 50 |                             default:
 51 |                                 logger?.error(message: "Request failed with error: \(error.localizedDescription)")
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Configuration.swift:16:14: note: class 'Configuration' does not conform to the 'Sendable' protocol
 14 | #endif
 15 |
 16 | public class Configuration {
    |              `- note: class 'Configuration' does not conform to the 'Sendable' protocol
 17 |
 18 |     public struct Defaults {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:54:25: warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
 52 |                             }
 53 |                         }
 54 |                         completion(.failure(error))
    |                         |- warning: capture of 'completion' with non-sendable type '(Result<Int, any Error>) -> Void' in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 55 |                     } else if let httpResponse = response as? HTTPURLResponse {
 56 |                         switch httpResponse.statusCode {
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/HttpClient.swift:66:21: warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
 64 |                         }
 65 |                     }
 66 |                     backgroundTaskCompletion?()
    |                     |- warning: capture of 'backgroundTaskCompletion' with non-sendable type 'BackgroundTaskCompletionCallback?' (aka 'Optional<() -> ()>') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 67 |                 }
 68 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/Utilities/MiscellaneousExtension.swift:11:13: warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | // Cached ISO8601DateFormatter for better performance on older OS versions
11 | private let cachedISO8601Formatter: ISO8601DateFormatter = {
   |             |- warning: let 'cachedISO8601Formatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
   |             |- note: add '@MainActor' to make let 'cachedISO8601Formatter' part of global actor 'MainActor'
   |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |     let formatter = ISO8601DateFormatter()
13 |     formatter.formatOptions.insert(.withFractionalSeconds)
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
   |            `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 |     CFDateFormatterRef _formatter;
Build complete! (19.02s)
Fetching https://github.com/amplitude/AmplitudeCore-Swift.git
Fetching https://github.com/amplitude/analytics-connector-ios.git
[1/425] Fetching analytics-connector-ios
[210/1629] Fetching analytics-connector-ios, amplitudecore-swift
Fetched https://github.com/amplitude/analytics-connector-ios.git from cache (0.89s)
Fetched https://github.com/amplitude/AmplitudeCore-Swift.git from cache (0.89s)
Computing version for https://github.com/amplitude/analytics-connector-ios.git
Computed https://github.com/amplitude/analytics-connector-ios.git at 1.3.1 (1.38s)
Computing version for https://github.com/amplitude/AmplitudeCore-Swift.git
warning: 'amplitudecore-swift': /Package@swift-5.9.swift:9:15: warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
 7 |     platforms: [
 8 |         .macOS(.v10_13),
 9 |         .iOS(.v11),
   |               `- warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
10 |         .tvOS(.v11),
11 |         .watchOS(.v4),
/Package@swift-5.9.swift:10:16: warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
 8 |         .macOS(.v10_13),
 9 |         .iOS(.v11),
10 |         .tvOS(.v11),
   |                `- warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
11 |         .watchOS(.v4),
12 |         .visionOS(.v1),
Computed https://github.com/amplitude/AmplitudeCore-Swift.git at 1.4.5 (0.48s)
Creating working copy for https://github.com/amplitude/AmplitudeCore-Swift.git
Working copy of https://github.com/amplitude/AmplitudeCore-Swift.git resolved at 1.4.5
Creating working copy for https://github.com/amplitude/analytics-connector-ios.git
Working copy of https://github.com/amplitude/analytics-connector-ios.git resolved at 1.3.1
warning: 'amplitudecore-swift': /Users/admin/builder/spi-builder-workspace/.build/checkouts/AmplitudeCore-Swift/Package@swift-5.9.swift:9:15: warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
 7 |     platforms: [
 8 |         .macOS(.v10_13),
 9 |         .iOS(.v11),
   |               `- warning: 'v11' is deprecated: iOS 12.0 is the oldest supported version
10 |         .tvOS(.v11),
11 |         .watchOS(.v4),
/Users/admin/builder/spi-builder-workspace/.build/checkouts/AmplitudeCore-Swift/Package@swift-5.9.swift:10:16: warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
 8 |         .macOS(.v10_13),
 9 |         .iOS(.v11),
10 |         .tvOS(.v11),
   |                `- warning: 'v11' is deprecated: tvOS 12.0 is the oldest supported version
11 |         .watchOS(.v4),
12 |         .visionOS(.v1),
Downloading binary artifact https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.4.5/AmplitudeCoreNoUIKit.zip
Downloading binary artifact https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.4.5/AmplitudeCore.zip
Downloading binary artifact https://github.com/amplitude/analytics-connector-ios/releases/download/v1.3.1/AnalyticsConnector.xcframework.zip
[16375/7515307] Downloading https://github.com/amplitude/analytics-connector-ios/releases/download/v1.3.1/AnalyticsConnector.xcframework.zip
[7548057/26853241] Downloading https://github.com/amplitude/analytics-connector-ios/releases/download/v1.3.1/AnalyticsConnector.xcframework.zip, https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.4.5/AmplitudeCore.zip
[13248621/43811395] Downloading https://github.com/amplitude/analytics-connector-ios/releases/download/v1.3.1/AnalyticsConnector.xcframework.zip, https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.4.5/AmplitudeCore.zip, https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.4.5/AmplitudeCoreNoUIKit.zip
Downloaded https://github.com/amplitude/analytics-connector-ios/releases/download/v1.3.1/AnalyticsConnector.xcframework.zip (1.09s)
Downloaded https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.4.5/AmplitudeCoreNoUIKit.zip (1.74s)
Downloaded https://github.com/amplitude/AmplitudeCore-Swift/releases/download/v1.4.5/AmplitudeCore.zip (1.80s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "analytics-connector-ios",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/amplitude/analytics-connector-ios.git"
    },
    {
      "identity" : "amplitudecore-swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/amplitude/AmplitudeCore-Swift.git"
    }
  ],
  "manifest_display_name" : "Amplitude-Swift",
  "name" : "Amplitude-Swift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "AmplitudeSwift",
      "targets" : [
        "AmplitudeSwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AmplitudeSwift",
      "module_type" : "SwiftTarget",
      "name" : "AmplitudeSwift",
      "path" : "Sources/Amplitude",
      "product_dependencies" : [
        "AmplitudeCoreFramework",
        "AnalyticsConnector"
      ],
      "product_memberships" : [
        "AmplitudeSwift"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Amplitude/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Amplitude.swift",
        "AutocaptureOptions.swift",
        "Configuration.swift",
        "ConsoleLogger.swift",
        "Constants.swift",
        "DefaultTrackingOptions.swift",
        "Events/BaseEvent.swift",
        "Events/DeepLinkOpenedEvent.swift",
        "Events/ElementInteractionEvent.swift",
        "Events/EventOptions.swift",
        "Events/GroupIdentifyEvent.swift",
        "Events/Identify.swift",
        "Events/IdentifyEvent.swift",
        "Events/NetworkRequestEvent.swift",
        "Events/Revenue.swift",
        "Events/RevenueEvent.swift",
        "Events/ScreenViewedEvent.swift",
        "Identity.swift",
        "InteractionsOptions.swift",
        "Mediator.swift",
        "Migration/LegacyDatabaseStorage.swift",
        "Migration/RemnantDataMigration.swift",
        "Migration/StoragePrefixMigration.swift",
        "ObjC/ObjCAmplitude.swift",
        "ObjC/ObjCAutocaptureOptions.swift",
        "ObjC/ObjCBaseEvent.swift",
        "ObjC/ObjCConfiguration.swift",
        "ObjC/ObjCDeepLinkOpenedEvent.swift",
        "ObjC/ObjCDefaultTrackingOptions.swift",
        "ObjC/ObjCEventOptions.swift",
        "ObjC/ObjCIdentify.swift",
        "ObjC/ObjCIngestionMetadata.swift",
        "ObjC/ObjCInteractionsOptions.swift",
        "ObjC/ObjCLoggerProvider.swift",
        "ObjC/ObjCNetworkConnectivityCheckerPlugin.swift",
        "ObjC/ObjCNetworkTrackingOptions.swift",
        "ObjC/ObjCPlan.swift",
        "ObjC/ObjCPlugin.swift",
        "ObjC/ObjCProperties.swift",
        "ObjC/ObjCRevenue.swift",
        "ObjC/ObjCScreenViewedEvent.swift",
        "ObjC/ObjCStorage.swift",
        "ObjC/ObjCTrackingOptions.swift",
        "Plugins/AmplitudeDestinationPlugin.swift",
        "Plugins/AnalyticsConnectorIdentityPlugin.swift",
        "Plugins/AnalyticsConnectorPlugin.swift",
        "Plugins/BasePlugins.swift",
        "Plugins/ContextPlugin.swift",
        "Plugins/DestinationPlugin.swift",
        "Plugins/IdentityEventSender.swift",
        "Plugins/Mac/MacOSLifecycleMonitor.swift",
        "Plugins/NetworkConnectivityCheckerPlugin.swift",
        "Plugins/NetworkTrackingPlugin.swift",
        "Plugins/Vendors/AppUtil.swift",
        "Plugins/Vendors/VendorSystem.swift",
        "Plugins/iOS/FrustrationIgnoreExtensions.swift",
        "Plugins/iOS/FrustrationInteractions.swift",
        "Plugins/iOS/IOSLifecycleMonitor.swift",
        "Plugins/iOS/UIKitElementInteractions.swift",
        "Plugins/iOS/UIKitScreenViews.swift",
        "Plugins/watchOS/WatchOSLifecycleMonitor.swift",
        "Sessions.swift",
        "Storages/InMemoryStorage.swift",
        "Storages/PersistentStorage.swift",
        "Timeline.swift",
        "TrackingOptions.swift",
        "Types.swift",
        "Utilities/Atomic.swift",
        "Utilities/AutocaptureManager.swift",
        "Utilities/CodableExtension.swift",
        "Utilities/Data+Gzip.swift",
        "Utilities/DefaultEventUtils.swift",
        "Utilities/Diagonostics.swift",
        "Utilities/DispatchQueueHolder.swift",
        "Utilities/EventPipeline.swift",
        "Utilities/HttpClient.swift",
        "Utilities/IdentifyInterceptor.swift",
        "Utilities/MethodSwizzler.swift",
        "Utilities/MiscellaneousExtension.swift",
        "Utilities/NetworkSwizzler.swift",
        "Utilities/ObjectFilter.swift",
        "Utilities/OutputFileStream.swift",
        "Utilities/PersistentStorageResponseHandler.swift",
        "Utilities/QueueTimer.swift",
        "Utilities/SandboxHelper.swift",
        "Utilities/UrlExtension.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Amplitude_SwiftTests",
      "module_type" : "SwiftTarget",
      "name" : "Amplitude-SwiftTests",
      "path" : "Tests/AmplitudeTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmplitudeTests/Migration/legacy_v3.sqlite",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/AmplitudeTests/Migration/legacy_v4.sqlite",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Amplitude+Extensions.swift",
        "AmplitudeIOSTests.swift",
        "AmplitudeSessionTests.swift",
        "AmplitudeTests.swift",
        "AutocaptureOptionsTests.swift",
        "AutocaptureRemoteConfigTests.swift",
        "ConfigurationTests.swift",
        "ConsoleLoggerTests.swift",
        "Events/BaseEventTests.swift",
        "Events/GroupIdentifyEventTests.swift",
        "Events/IdentifyEventTests.swift",
        "Events/IdentifyTests.swift",
        "Events/RevenueEventTests.swift",
        "Events/RevenueTests.swift",
        "IdentityTests.swift",
        "Migration/LegacyDatabaseStorageTests.swift",
        "Migration/RemnantDataMigrationTests.swift",
        "Migration/StoragePrefixMigrationTests.swift",
        "NetworkTrackingPlugin+Extensions.swift",
        "Plugins/NetworkConnectivityCheckerPluginTests.swift",
        "Plugins/NetworkTrackingPluginTest.swift",
        "Plugins/UIKitScreenViewsPluginTests.swift",
        "Plugins/UIKitUserInteractionPluginTest.swift",
        "Storages/PersistentStorageTests.swift",
        "Supports/FakeURLProtocol.swift",
        "Supports/TestUtilities.swift",
        "TimelineTests.swift",
        "TypesTests.swift",
        "Utilities/Data+Gzip.swift",
        "Utilities/DiagnosticsTests.swift",
        "Utilities/EventPipelineTests.swift",
        "Utilities/GzipTests.swift",
        "Utilities/HttpClientTests.swift",
        "Utilities/IdentifyInterceptorTests.swift",
        "Utilities/MethodSwizzlerTest.swift",
        "Utilities/ObjectFilterTests.swift",
        "Utilities/PersistentStorageResponseHandlerTests.swift",
        "Utilities/QueueTimeTests.swift",
        "Utilities/SandboxHelperTests.swift",
        "Utilities/TimeIntervalExtensionsTests.swift",
        "Utilities/UrlExtensionTests.swift"
      ],
      "target_dependencies" : [
        "AmplitudeSwift"
      ],
      "type" : "test"
    }
  ],
  "tools_version" : "5.9"
}
Done.