Build Information
Successful build of SwiftyAlert, reference v1.0.8 (593eac), with Swift 6.2 for macOS (SPM) on 22 Jun 2025 03:54:38 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/chocoford/SwiftyAlert.git
Reference: v1.0.8
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/chocoford/SwiftyAlert
* tag v1.0.8 -> FETCH_HEAD
HEAD is now at 593eac6 Create NotificationAlertAction.swift
Cloned https://github.com/chocoford/SwiftyAlert.git
Revision (git rev-parse @):
593eac6fe95b7765f012040c3d6685ca7c4176d8
SUCCESS checkout https://github.com/chocoford/SwiftyAlert.git at v1.0.8
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.2
Building package at path: $PWD
https://github.com/chocoford/SwiftyAlert.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-1EA4D86E10B52AF.txt
[4/7] Compiling AlertToast BlurView.swift
[5/7] Compiling AlertToast ActivityIndicator.swift
[6/7] Emitting module AlertToast
[7/7] Compiling AlertToast AlertToast.swift
[8/15] Compiling SwiftyAlert NotificationAlertAction.swift
[9/15] Compiling SwiftyAlert SwiftyAlert.swift
[10/15] Compiling SwiftyAlert Alert.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:13:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AlertAction' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
11 | // 1. Create the key with a default value
12 | private struct AlertActionKey: EnvironmentKey {
13 | static let defaultValue: AlertAction = .init(
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AlertAction' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | title: .constant("Alert"),
15 | isPresented: .constant(false),
:
19 | }
20 |
21 | public struct AlertAction {
| `- note: consider making struct 'AlertAction' conform to the 'Sendable' protocol
22 | @Binding var title: LocalizedStringKey
23 | @Binding var isPresented: Bool
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:17: warning: capture of 'self' with non-sendable type 'AlertAction' in a '@Sendable' closure [#SendableClosureCaptures]
19 | }
20 |
21 | public struct AlertAction {
| `- note: consider making struct 'AlertAction' conform to the 'Sendable' protocol
22 | @Binding var title: LocalizedStringKey
23 | @Binding var isPresented: Bool
:
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| `- warning: capture of 'self' with non-sendable type 'AlertAction' in a '@Sendable' closure [#SendableClosureCaptures]
36 | }
37 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:41: warning: capture of 'title' with non-sendable type 'LocalizedStringKey' in a '@Sendable' closure [#SendableClosureCaptures]
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| `- warning: capture of 'title' with non-sendable type 'LocalizedStringKey' in a '@Sendable' closure [#SendableClosureCaptures]
36 | }
37 | } else {
SwiftUI.LocalizedStringKey:2:23: note: struct 'LocalizedStringKey' does not conform to the 'Sendable' protocol
1 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
2 | @frozen public struct LocalizedStringKey : Equatable, ExpressibleByStringInterpolation {
| `- note: struct 'LocalizedStringKey' does not conform to the 'Sendable' protocol
3 | public init(_ value: String)
4 | public init(stringLiteral value: String)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:57: warning: capture of 'actions' with non-sendable type '() -> some View' in a '@Sendable' closure [#SendableClosureCaptures]
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| |- warning: capture of 'actions' with non-sendable type '() -> some View' in a '@Sendable' closure [#SendableClosureCaptures]
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
36 | }
37 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:75: warning: capture of 'message' with non-sendable type '() -> some View' in a '@Sendable' closure [#SendableClosureCaptures]
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| |- warning: capture of 'message' with non-sendable type '() -> some View' in a '@Sendable' closure [#SendableClosureCaptures]
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
36 | }
37 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:22: warning: capture of non-sendable type '(some View).Type' in an isolated closure
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| `- warning: capture of non-sendable type '(some View).Type' in an isolated closure
36 | }
37 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:22: warning: capture of non-sendable type '(some View).Type' in an isolated closure
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| `- warning: capture of non-sendable type '(some View).Type' in an isolated closure
36 | }
37 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:29:22: warning: capture of non-sendable type '(some View).Type' in an isolated closure
27 | public func callAsFunction(
28 | title: LocalizedStringKey,
29 | @ViewBuilder actions: @escaping () -> some View = { EmptyView() },
| `- warning: capture of non-sendable type '(some View).Type' in an isolated closure
30 | @ViewBuilder message: @escaping () -> some View
31 | ) {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:30:22: warning: capture of non-sendable type '(some View).Type' in an isolated closure
28 | title: LocalizedStringKey,
29 | @ViewBuilder actions: @escaping () -> some View = { EmptyView() },
30 | @ViewBuilder message: @escaping () -> some View
| `- warning: capture of non-sendable type '(some View).Type' in an isolated closure
31 | ) {
32 | if self.isPresented {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
36 | }
37 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:41: warning: sending 'title' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| |- warning: sending 'title' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: task-isolated 'title' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
36 | }
37 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:57: warning: sending 'actions' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| |- warning: sending 'actions' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: task-isolated 'actions' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
36 | }
37 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:35:75: warning: sending 'message' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
33 | self.isPresented.toggle()
34 | DispatchQueue.main.asyncAfter(deadline: .now().advanced(by: .milliseconds(500))) {
35 | self.toggleAlert(title: title, actions: actions, message: message)
| |- warning: sending 'message' risks causing data races; this is an error in the Swift 6 language mode [#SendingRisksDataRace]
| `- note: task-isolated 'message' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
36 | }
37 | } else {
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[11/15] Compiling SwiftyAlert FakeAlertToast.swift
[12/15] Compiling SwiftyAlert Refreshable+SwiftyAlert.swift
[13/15] Compiling SwiftyAlert AlertToastBus.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:19:16: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
17 | // 1. Create the key with a default value
18 | private struct AlertToastActionKey: EnvironmentKey {
19 | static let defaultValue: AlertToastAction = AlertToastAction(
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
20 | isPresented: .constant(false),
21 | alertToast: .constant(AlertToast(displayMode: .hud, type: .error(.red))),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:36:18: warning: stored property '_onTap' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'Binding<(() -> Void)?>'; this is an error in the Swift 6 language mode
34 | @Binding var tapToDismiss: Bool
35 | @Binding var offsetY: CGFloat
36 | @Binding var onTap: (() -> Void)?
| |- warning: stored property '_onTap' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'Binding<(() -> Void)?>'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | @Binding var onCompletion: (() -> Void)?
38 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:37:18: warning: stored property '_onCompletion' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'Binding<(() -> Void)?>'; this is an error in the Swift 6 language mode
35 | @Binding var offsetY: CGFloat
36 | @Binding var onTap: (() -> Void)?
37 | @Binding var onCompletion: (() -> Void)?
| |- warning: stored property '_onCompletion' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'Binding<(() -> Void)?>'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
38 |
39 | @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:39:24: warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'State<[(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)]>'; this is an error in the Swift 6 language mode
37 | @Binding var onCompletion: (() -> Void)?
38 |
39 | @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
| |- warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'State<[(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)]>'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
40 |
41 | public func callAsFunction(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:39:24: warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'State<[(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)]>'; this is an error in the Swift 6 language mode
37 | @Binding var onCompletion: (() -> Void)?
38 |
39 | @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
| |- warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'State<[(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)]>'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
40 |
41 | public func callAsFunction(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:78:29: warning: call to main actor-isolated initializer 'init(error:displayMode:type:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode [#ActorIsolatedCall]
75 | }
76 |
77 | public func callAsFunction(_ error: Error) {
| `- note: add '@MainActor' to make instance method 'callAsFunction' part of global actor 'MainActor'
78 | self.callAsFunction(AlertToast(error: error))
| `- warning: call to main actor-isolated initializer 'init(error:displayMode:type:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode [#ActorIsolatedCall]
79 | }
80 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToast+Extension.swift:15:12: note: calls to initializer 'init(error:displayMode:type:)' from outside of its actor context are implicitly asynchronous
13 |
14 | extension AlertToast {
15 | public init(
| `- note: calls to initializer 'init(error:displayMode:type:)' from outside of its actor context are implicitly asynchronous
16 | error: Error,
17 | displayMode: DisplayMode = DisplayMode.hud,
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[14/15] Compiling SwiftyAlert AlertToast+Extension.swift
[15/15] Emitting module SwiftyAlert
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:19:16: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
17 | // 1. Create the key with a default value
18 | private struct AlertToastActionKey: EnvironmentKey {
19 | static let defaultValue: AlertToastAction = AlertToastAction(
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
20 | isPresented: .constant(false),
21 | alertToast: .constant(AlertToast(displayMode: .hud, type: .error(.red))),
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:36:18: warning: stored property '_onTap' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'Binding<(() -> Void)?>'; this is an error in the Swift 6 language mode
34 | @Binding var tapToDismiss: Bool
35 | @Binding var offsetY: CGFloat
36 | @Binding var onTap: (() -> Void)?
| |- warning: stored property '_onTap' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'Binding<(() -> Void)?>'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | @Binding var onCompletion: (() -> Void)?
38 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:37:18: warning: stored property '_onCompletion' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'Binding<(() -> Void)?>'; this is an error in the Swift 6 language mode
35 | @Binding var offsetY: CGFloat
36 | @Binding var onTap: (() -> Void)?
37 | @Binding var onCompletion: (() -> Void)?
| |- warning: stored property '_onCompletion' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'Binding<(() -> Void)?>'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
38 |
39 | @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:39:24: warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'State<[(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)]>'; this is an error in the Swift 6 language mode
37 | @Binding var onCompletion: (() -> Void)?
38 |
39 | @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
| |- warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'State<[(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)]>'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
40 |
41 | public func callAsFunction(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/AlertToast+/AlertToastBus.swift:39:24: warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'State<[(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)]>'; this is an error in the Swift 6 language mode
37 | @Binding var onCompletion: (() -> Void)?
38 |
39 | @State private var queue: [(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)] = []
| |- warning: stored property '_queue' of 'Sendable'-conforming struct 'AlertToastAction' has non-sendable type 'State<[(AlertToast, Double, Bool, CGFloat, (() -> ())?, (() -> ())?)]>'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
40 |
41 | public func callAsFunction(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftyAlert/Environments/Alert.swift:13:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AlertAction' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
11 | // 1. Create the key with a default value
12 | private struct AlertActionKey: EnvironmentKey {
13 | static let defaultValue: AlertAction = .init(
| |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'AlertAction' may have shared mutable state; this is an error in the Swift 6 language mode [#MutableGlobalVariable]
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | title: .constant("Alert"),
15 | isPresented: .constant(false),
:
19 | }
20 |
21 | public struct AlertAction {
| `- note: consider making struct 'AlertAction' conform to the 'Sendable' protocol
22 | @Binding var title: LocalizedStringKey
23 | @Binding var isPresented: Bool
[#MutableGlobalVariable]: <https://docs.swift.org/compiler/documentation/diagnostics/mutable-global-variable>
Build complete! (15.55s)
Fetching https://github.com/elai950/AlertToast.git
[1/1561] Fetching alerttoast
Fetched https://github.com/elai950/AlertToast.git from cache (1.27s)
Creating working copy for https://github.com/elai950/AlertToast.git
Working copy of https://github.com/elai950/AlertToast.git resolved at master (76a1c17)
Build complete.
{
"dependencies" : [
{
"identity" : "alerttoast",
"requirement" : {
"branch" : [
"master"
]
},
"type" : "sourceControl",
"url" : "https://github.com/elai950/AlertToast.git"
}
],
"manifest_display_name" : "SwiftyAlert",
"name" : "SwiftyAlert",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "maccatalyst",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "SwiftyAlert",
"targets" : [
"SwiftyAlert"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftyAlertTests",
"module_type" : "SwiftTarget",
"name" : "SwiftyAlertTests",
"path" : "Tests/SwiftyAlertTests",
"sources" : [
"SwiftyAlertTests.swift"
],
"target_dependencies" : [
"SwiftyAlert"
],
"type" : "test"
},
{
"c99name" : "SwiftyAlert",
"module_type" : "SwiftTarget",
"name" : "SwiftyAlert",
"path" : "Sources/SwiftyAlert",
"product_dependencies" : [
"AlertToast"
],
"product_memberships" : [
"SwiftyAlert"
],
"sources" : [
"AlertToast+/AlertToast+Extension.swift",
"AlertToast+/AlertToastBus.swift",
"AlertToast+/FakeAlertToast.swift",
"Environments/Alert.swift",
"Extensions/Refreshable+SwiftyAlert.swift",
"NotificationAlert/NotificationAlertAction.swift",
"SwiftyAlert.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.