The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of StoreHelper, reference 2.6.10 (9b1188), with Swift 6.1 for macOS (SPM) on 6 May 2025 21:05:30 UTC.

Swift 6 data race errors: 12

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

11 | @available(iOS 15.0, macOS 12.0, *)
12 | public struct OptionsViewModel {
13 |     @ObservedObject public var storeHelper: StoreHelper
   |                                `- note: property declared here
14 |
15 |     public init(storeHelper: StoreHelper){
   :
19 |     #if DEBUG
20 |     /// Resets (deletes) all consumable product purchases from the keychain. Debug-only example.
21 |     public func resetConsumables() {
   |                 `- note: add '@MainActor' to make instance method 'resetConsumables()' part of global actor 'MainActor'
22 |         guard storeHelper.hasConsumableProducts,
23 |               let products = storeHelper.consumableProducts,
24 |               let removedProducts = KeychainHelper.resetKeychainConsumables(for: products.map { $0.id }) else { return }
25 |
26 |         for product in removedProducts { storeHelper.updatePurchasedIdentifiers(product, purchased: false) }
   |                                          `- warning: main actor-isolated property 'storeHelper' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
27 |     }
28 |     #endif
[123/147] Compiling StoreHelper OptionsViewModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Util/PropertyFile.swift:13:23: warning: static property 'bundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | public struct PropertyFile {
12 |
13 |     public static var bundle: Bundle = .main
   |                       |- warning: static property 'bundle' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'bundle' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'bundle' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 |     /// Read a plist property file and return a dictionary of values
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/OptionsViewModel.swift:13:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
11 | @available(iOS 15.0, macOS 12.0, *)
12 | public struct OptionsViewModel {
13 |     @ObservedObject public var storeHelper: StoreHelper
   |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
14 |
15 |     public init(storeHelper: StoreHelper){
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/OptionsViewModel.swift:16:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
11 | @available(iOS 15.0, macOS 12.0, *)
12 | public struct OptionsViewModel {
13 |     @ObservedObject public var storeHelper: StoreHelper
   |                                `- note: mutation of this property is only permitted within the actor
14 |
15 |     public init(storeHelper: StoreHelper){
16 |         self.storeHelper = storeHelper
   |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
17 |     }
18 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/OptionsViewModel.swift:22:15: warning: main actor-isolated property 'storeHelper' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
11 | @available(iOS 15.0, macOS 12.0, *)
12 | public struct OptionsViewModel {
13 |     @ObservedObject public var storeHelper: StoreHelper
   |                                `- note: property declared here
14 |
15 |     public init(storeHelper: StoreHelper){
   :
19 |     #if DEBUG
20 |     /// Resets (deletes) all consumable product purchases from the keychain. Debug-only example.
21 |     public func resetConsumables() {
   |                 `- note: add '@MainActor' to make instance method 'resetConsumables()' part of global actor 'MainActor'
22 |         guard storeHelper.hasConsumableProducts,
   |               `- warning: main actor-isolated property 'storeHelper' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
23 |               let products = storeHelper.consumableProducts,
24 |               let removedProducts = KeychainHelper.resetKeychainConsumables(for: products.map { $0.id }) else { return }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/OptionsViewModel.swift:23:30: warning: main actor-isolated property 'storeHelper' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
11 | @available(iOS 15.0, macOS 12.0, *)
12 | public struct OptionsViewModel {
13 |     @ObservedObject public var storeHelper: StoreHelper
   |                                `- note: property declared here
14 |
15 |     public init(storeHelper: StoreHelper){
   :
19 |     #if DEBUG
20 |     /// Resets (deletes) all consumable product purchases from the keychain. Debug-only example.
21 |     public func resetConsumables() {
   |                 `- note: add '@MainActor' to make instance method 'resetConsumables()' part of global actor 'MainActor'
22 |         guard storeHelper.hasConsumableProducts,
23 |               let products = storeHelper.consumableProducts,
   |                              `- warning: main actor-isolated property 'storeHelper' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
24 |               let removedProducts = KeychainHelper.resetKeychainConsumables(for: products.map { $0.id }) else { return }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/OptionsViewModel.swift:24:52: error: call to main actor-isolated static method 'resetKeychainConsumables(for:)' in a synchronous nonisolated context
19 |     #if DEBUG
20 |     /// Resets (deletes) all consumable product purchases from the keychain. Debug-only example.
21 |     public func resetConsumables() {
   |                 `- note: add '@MainActor' to make instance method 'resetConsumables()' part of global actor 'MainActor'
22 |         guard storeHelper.hasConsumableProducts,
23 |               let products = storeHelper.consumableProducts,
24 |               let removedProducts = KeychainHelper.resetKeychainConsumables(for: products.map { $0.id }) else { return }
   |                                                    `- error: call to main actor-isolated static method 'resetKeychainConsumables(for:)' in a synchronous nonisolated context
25 |
26 |         for product in removedProducts { storeHelper.updatePurchasedIdentifiers(product, purchased: false) }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/KeychainHelper.swift:177:35: note: calls to static method 'resetKeychainConsumables(for:)' from outside of its actor context are implicitly asynchronous
175 |     /// - Parameter consumableProductIds: An array of consumable `ProductId`.
176 |     /// - Returns: Returns an array of `ProductId` that has been deleted from the keychain.
177 |     @MainActor public static func resetKeychainConsumables(for consumableProductIds: [ProductId]) -> [ProductId]? {
    |                                   `- note: calls to static method 'resetKeychainConsumables(for:)' from outside of its actor context are implicitly asynchronous
178 |
179 |         guard let cids = KeychainHelper.all(productIds: Set(consumableProductIds)) else { return nil }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/OptionsViewModel.swift:26:54: error: call to main actor-isolated instance method 'updatePurchasedIdentifiers(_:purchased:)' in a synchronous nonisolated context
19 |     #if DEBUG
20 |     /// Resets (deletes) all consumable product purchases from the keychain. Debug-only example.
21 |     public func resetConsumables() {
   |                 `- note: add '@MainActor' to make instance method 'resetConsumables()' part of global actor 'MainActor'
22 |         guard storeHelper.hasConsumableProducts,
23 |               let products = storeHelper.consumableProducts,
24 |               let removedProducts = KeychainHelper.resetKeychainConsumables(for: products.map { $0.id }) else { return }
25 |
26 |         for product in removedProducts { storeHelper.updatePurchasedIdentifiers(product, purchased: false) }
   |                                                      `- error: call to main actor-isolated instance method 'updatePurchasedIdentifiers(_:purchased:)' in a synchronous nonisolated context
27 |     }
28 |     #endif
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:759:30: note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
757 |     ///   - productId: The `ProductId` to insert/remove.
758 |     ///   - insert: If true the `ProductId` is purchased.
759 |     @MainActor internal func updatePurchasedIdentifiers(_ productId: ProductId, purchased: Bool) {
    |                              `- note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
760 |         guard let product = product(from: productId) else { return }
761 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/OptionsViewModel.swift:26:42: warning: main actor-isolated property 'storeHelper' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
11 | @available(iOS 15.0, macOS 12.0, *)
12 | public struct OptionsViewModel {
13 |     @ObservedObject public var storeHelper: StoreHelper
   |                                `- note: property declared here
14 |
15 |     public init(storeHelper: StoreHelper){
   :
19 |     #if DEBUG
20 |     /// Resets (deletes) all consumable product purchases from the keychain. Debug-only example.
21 |     public func resetConsumables() {
   |                 `- note: add '@MainActor' to make instance method 'resetConsumables()' part of global actor 'MainActor'
22 |         guard storeHelper.hasConsumableProducts,
23 |               let products = storeHelper.consumableProducts,
24 |               let removedProducts = KeychainHelper.resetKeychainConsumables(for: products.map { $0.id }) else { return }
25 |
26 |         for product in removedProducts { storeHelper.updatePurchasedIdentifiers(product, purchased: false) }
   |                                          `- warning: main actor-isolated property 'storeHelper' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
27 |     }
28 |     #endif
[124/147] Compiling StoreHelper PriceViewModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:18:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
 17 |     public init(storeHelper: StoreHelper, purchaseState: Binding<PurchaseState>) {
 18 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 19 |         self._purchaseState = purchaseState
 20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |     public var subscriptionInfo: SubInfo
 76 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:78:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 75 |     public var subscriptionInfo: SubInfo
 76 |
 77 |     public init(storeHelper: StoreHelper, subscriptionInfo: SubInfo) {
 78 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 79 |         self.subscriptionInfo = subscriptionInfo
 80 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:56:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 54 |         if !ppSubInfo.promotionalOffers.isEmpty {
 55 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
    |                                                     |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                     `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:58:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
    |                                                            |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                            `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 59 |                 ppSubInfo.promotionalOffersEligible = true
 60 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 59 |     public var productId: ProductId
 60 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 75 |     public var subscriptionInfo: SubInfo
 76 |
[125/147] Compiling StoreHelper PurchaseInfoViewModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:18:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
 17 |     public init(storeHelper: StoreHelper, purchaseState: Binding<PurchaseState>) {
 18 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 19 |         self._purchaseState = purchaseState
 20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |     public var subscriptionInfo: SubInfo
 76 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:78:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 75 |     public var subscriptionInfo: SubInfo
 76 |
 77 |     public init(storeHelper: StoreHelper, subscriptionInfo: SubInfo) {
 78 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 79 |         self.subscriptionInfo = subscriptionInfo
 80 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:56:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 54 |         if !ppSubInfo.promotionalOffers.isEmpty {
 55 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
    |                                                     |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                     `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:58:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
    |                                                            |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                            `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 59 |                 ppSubInfo.promotionalOffersEligible = true
 60 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 59 |     public var productId: ProductId
 60 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 75 |     public var subscriptionInfo: SubInfo
 76 |
[126/147] Compiling StoreHelper SubscriptionInfoViewModel.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:18:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
 17 |     public init(storeHelper: StoreHelper, purchaseState: Binding<PurchaseState>) {
 18 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 19 |         self._purchaseState = purchaseState
 20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |     public var subscriptionInfo: SubInfo
 76 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:78:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 75 |     public var subscriptionInfo: SubInfo
 76 |
 77 |     public init(storeHelper: StoreHelper, subscriptionInfo: SubInfo) {
 78 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 79 |         self.subscriptionInfo = subscriptionInfo
 80 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:56:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 54 |         if !ppSubInfo.promotionalOffers.isEmpty {
 55 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
    |                                                     |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                     `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:58:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
    |                                                            |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                            `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 59 |                 ppSubInfo.promotionalOffersEligible = true
 60 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 59 |     public var productId: ProductId
 60 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 75 |     public var subscriptionInfo: SubInfo
 76 |
[127/147] Compiling StoreHelper BadgeView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:18:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
 17 |     public init(storeHelper: StoreHelper, purchaseState: Binding<PurchaseState>) {
 18 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 19 |         self._purchaseState = purchaseState
 20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |     public var subscriptionInfo: SubInfo
 76 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:78:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 75 |     public var subscriptionInfo: SubInfo
 76 |
 77 |     public init(storeHelper: StoreHelper, subscriptionInfo: SubInfo) {
 78 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 79 |         self.subscriptionInfo = subscriptionInfo
 80 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:56:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 54 |         if !ppSubInfo.promotionalOffers.isEmpty {
 55 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
    |                                                     |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                     `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:58:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
    |                                                            |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                            `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 59 |                 ppSubInfo.promotionalOffersEligible = true
 60 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 59 |     public var productId: ProductId
 60 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 75 |     public var subscriptionInfo: SubInfo
 76 |
[128/147] Compiling StoreHelper ConsumableBadgeView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:18:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
 17 |     public init(storeHelper: StoreHelper, purchaseState: Binding<PurchaseState>) {
 18 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 19 |         self._purchaseState = purchaseState
 20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |     public var subscriptionInfo: SubInfo
 76 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:78:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 75 |     public var subscriptionInfo: SubInfo
 76 |
 77 |     public init(storeHelper: StoreHelper, subscriptionInfo: SubInfo) {
 78 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 79 |         self.subscriptionInfo = subscriptionInfo
 80 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:56:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 54 |         if !ppSubInfo.promotionalOffers.isEmpty {
 55 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
    |                                                     |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                     `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:58:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
    |                                                            |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                            `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 59 |                 ppSubInfo.promotionalOffersEligible = true
 60 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 59 |     public var productId: ProductId
 60 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 75 |     public var subscriptionInfo: SubInfo
 76 |
[129/147] Compiling StoreHelper ConsumableView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:18:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
 17 |     public init(storeHelper: StoreHelper, purchaseState: Binding<PurchaseState>) {
 18 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 19 |         self._purchaseState = purchaseState
 20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 75 |     public var subscriptionInfo: SubInfo
 76 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:78:14: warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |                                `- note: mutation of this property is only permitted within the actor
 75 |     public var subscriptionInfo: SubInfo
 76 |
 77 |     public init(storeHelper: StoreHelper, subscriptionInfo: SubInfo) {
 78 |         self.storeHelper = storeHelper
    |              `- warning: main actor-isolated property 'storeHelper' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 79 |         self.subscriptionInfo = subscriptionInfo
 80 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:56:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 54 |         if !ppSubInfo.promotionalOffers.isEmpty {
 55 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
    |                                                     |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                     `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:58:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 56 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 57 |                 ppSubInfo.promotionalOffersEligible = true
 58 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
    |                                                            |- warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                            `- note: sending main actor-isolated value of non-Sendable type 'SubscriptionHelper' to nonisolated callee risks causing races in between main actor-isolated and nonisolated uses
 59 |                 ppSubInfo.promotionalOffersEligible = true
 60 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 59 |     public var productId: ProductId
 60 |
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/SubscriptionInfoViewModel.swift:74:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
 72 | @available(iOS 15.0, macOS 12.0, *)
 73 | public struct SubscriptionInfoViewModel {
 74 |     @ObservedObject public var storeHelper: StoreHelper
    |      |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
    |      `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 75 |     public var subscriptionInfo: SubInfo
 76 |
[130/147] Compiling StoreHelper ContactUsView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[131/147] Compiling StoreHelper PriceButtonText.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[132/147] Compiling StoreHelper PriceButtonTextSubscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[133/147] Compiling StoreHelper PriceView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[134/147] Compiling StoreHelper ProductInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[135/147] Compiling StoreHelper ProductListView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:14:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 12 | @available(iOS 15.0, macOS 12.0, *)
 13 | public struct PriceViewModel {
 14 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 15 |     @Binding public var purchaseState: PurchaseState
 16 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[136/147] Compiling StoreHelper StoreHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
    :
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreLog.swift:58:23: warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 56 |     }
 57 |
 58 |     public static var transactionLog: Set<TransactionLog> = []
    |                       |- warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'transactionLog' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'transactionLog' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// Logs a StoreNotification as a transaction. Multiple transactions for the same event, product id and transaction id will only be logged once.
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreNotification.swift:42:10: warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 23 | }
 24 |
 25 | public enum UnderlyingError: Equatable {
    |             `- note: consider making enum 'UnderlyingError' conform to the 'Sendable' protocol
 26 |     case purchase(Product.PurchaseError)
 27 |     case storeKit(StoreKitError)
    :
 40 | /// StoreHelper exceptions
 41 | public enum StoreException: Error, Equatable {
 42 |     case purchaseException(UnderlyingError?)
    |          `- warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 43 |     case purchaseInProgressException
 44 |     case transactionVerificationFailed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     `- warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubInfo.swift:13:15: note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
11 | /// This struct has been renamed as `SubInfo` from `SubscriptionInfo` to avoid a name collision with a type alias introduced is iOS 18.4.
12 | @available(iOS 15.0, macOS 12.0, *)
13 | public struct SubInfo: Hashable {
   |               `- note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
14 |     public init(product: Product? = nil,
15 |                 subscriptionGroup: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:37:15: note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:849:30: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
847 |     @MainActor private func handleTransactions() -> Task<Void, Error> {
848 |
849 |         return Task.detached { [self] in
    |                              `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
850 |
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                         `- note: closure captures 'self' which is accessible to main actor-isolated code
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                              `- note: access can happen concurrently
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:873:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
871 |                     // See transaction.revocationReason for more details if required
872 |                     StoreLog.transaction(.transactionRevoked, productId: transaction.productID, transactionId: String(transaction.id))
873 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
874 |                     if let handler = transactionNotification { handler(.transactionRevoked, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
875 |                     return
876 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:881:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
879 |                     // The user's subscription has expired
880 |                     StoreLog.transaction(.transactionExpired, productId: transaction.productID, transactionId: String(transaction.id))
881 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
882 |                     if let handler = transactionNotification { handler(.transactionExpired, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
883 |                     return
884 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:889:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
887 |                     // Transaction superceeded by an active, higher-value subscription
888 |                     StoreLog.transaction(.transactionUpgraded, productId: transaction.productID, transactionId: String(transaction.id))
889 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: true)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
890 |                     if let handler = transactionNotification { handler(.transactionUpgraded, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
891 |                     return
892 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:896:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
894 |                 // Update the list of products the user has access to
895 |                 StoreLog.transaction(.transactionSuccess, productId: transaction.productID, transactionId: String(transaction.id))
896 |                 await self.updatePurchasedProducts(transaction: transaction, purchased: true)
    |                            |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                            |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(transaction:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                            `- note: access can happen concurrently
897 |                 if let handler = transactionNotification { handler(.transactionSuccess, transaction.productID, String(transaction.id)) }
898 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'self' to main actor-isolated instance method 'subscriptionInfo(for:)' risks causing data races between main actor-isolated and task-isolated uses
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:376:55: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
374 |
375 |         // Sanity check. Make sure the user's not subscribed to the provided subscription
376 |         guard let subscribed = try? await storeHelper.isSubscribed(product: product), !subscribed else { return false }
    |                                                       |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                       `- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
377 |
378 |         // Get all the product ids in the subscription group
379 |         guard let products = subscriptions(in: group) else { return false }
    |                              `- note: access can happen concurrently
380 |
381 |         // Get the index of the provided product and make sure there service levels of lower value (higher in the collection)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:387:59: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
385 |         for i in (indexOfProvidedProduct+1)...(products.count-1) {
386 |             if  let lowerValueProduct = storeHelper.product(from: products[i]),
387 |                 let isSubscribed = try? await storeHelper.isSubscribed(product: lowerValueProduct),
    |                                                           |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                           |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                                           `- note: access can happen concurrently
388 |                 isSubscribed { return true }
389 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                               |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                               `- note: access can happen concurrently
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
[137/147] Compiling StoreHelper StoreLog.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
    :
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreLog.swift:58:23: warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 56 |     }
 57 |
 58 |     public static var transactionLog: Set<TransactionLog> = []
    |                       |- warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'transactionLog' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'transactionLog' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// Logs a StoreNotification as a transaction. Multiple transactions for the same event, product id and transaction id will only be logged once.
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreNotification.swift:42:10: warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 23 | }
 24 |
 25 | public enum UnderlyingError: Equatable {
    |             `- note: consider making enum 'UnderlyingError' conform to the 'Sendable' protocol
 26 |     case purchase(Product.PurchaseError)
 27 |     case storeKit(StoreKitError)
    :
 40 | /// StoreHelper exceptions
 41 | public enum StoreException: Error, Equatable {
 42 |     case purchaseException(UnderlyingError?)
    |          `- warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 43 |     case purchaseInProgressException
 44 |     case transactionVerificationFailed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     `- warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubInfo.swift:13:15: note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
11 | /// This struct has been renamed as `SubInfo` from `SubscriptionInfo` to avoid a name collision with a type alias introduced is iOS 18.4.
12 | @available(iOS 15.0, macOS 12.0, *)
13 | public struct SubInfo: Hashable {
   |               `- note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
14 |     public init(product: Product? = nil,
15 |                 subscriptionGroup: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:37:15: note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:849:30: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
847 |     @MainActor private func handleTransactions() -> Task<Void, Error> {
848 |
849 |         return Task.detached { [self] in
    |                              `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
850 |
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                         `- note: closure captures 'self' which is accessible to main actor-isolated code
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                              `- note: access can happen concurrently
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:873:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
871 |                     // See transaction.revocationReason for more details if required
872 |                     StoreLog.transaction(.transactionRevoked, productId: transaction.productID, transactionId: String(transaction.id))
873 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
874 |                     if let handler = transactionNotification { handler(.transactionRevoked, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
875 |                     return
876 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:881:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
879 |                     // The user's subscription has expired
880 |                     StoreLog.transaction(.transactionExpired, productId: transaction.productID, transactionId: String(transaction.id))
881 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
882 |                     if let handler = transactionNotification { handler(.transactionExpired, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
883 |                     return
884 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:889:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
887 |                     // Transaction superceeded by an active, higher-value subscription
888 |                     StoreLog.transaction(.transactionUpgraded, productId: transaction.productID, transactionId: String(transaction.id))
889 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: true)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
890 |                     if let handler = transactionNotification { handler(.transactionUpgraded, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
891 |                     return
892 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:896:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
894 |                 // Update the list of products the user has access to
895 |                 StoreLog.transaction(.transactionSuccess, productId: transaction.productID, transactionId: String(transaction.id))
896 |                 await self.updatePurchasedProducts(transaction: transaction, purchased: true)
    |                            |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                            |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(transaction:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                            `- note: access can happen concurrently
897 |                 if let handler = transactionNotification { handler(.transactionSuccess, transaction.productID, String(transaction.id)) }
898 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'self' to main actor-isolated instance method 'subscriptionInfo(for:)' risks causing data races between main actor-isolated and task-isolated uses
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:376:55: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
374 |
375 |         // Sanity check. Make sure the user's not subscribed to the provided subscription
376 |         guard let subscribed = try? await storeHelper.isSubscribed(product: product), !subscribed else { return false }
    |                                                       |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                       `- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
377 |
378 |         // Get all the product ids in the subscription group
379 |         guard let products = subscriptions(in: group) else { return false }
    |                              `- note: access can happen concurrently
380 |
381 |         // Get the index of the provided product and make sure there service levels of lower value (higher in the collection)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:387:59: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
385 |         for i in (indexOfProvidedProduct+1)...(products.count-1) {
386 |             if  let lowerValueProduct = storeHelper.product(from: products[i]),
387 |                 let isSubscribed = try? await storeHelper.isSubscribed(product: lowerValueProduct),
    |                                                           |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                           |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                                           `- note: access can happen concurrently
388 |                 isSubscribed { return true }
389 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                               |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                               `- note: access can happen concurrently
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
[138/147] Compiling StoreHelper StoreNotification.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
    :
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreLog.swift:58:23: warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 56 |     }
 57 |
 58 |     public static var transactionLog: Set<TransactionLog> = []
    |                       |- warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'transactionLog' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'transactionLog' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// Logs a StoreNotification as a transaction. Multiple transactions for the same event, product id and transaction id will only be logged once.
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreNotification.swift:42:10: warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 23 | }
 24 |
 25 | public enum UnderlyingError: Equatable {
    |             `- note: consider making enum 'UnderlyingError' conform to the 'Sendable' protocol
 26 |     case purchase(Product.PurchaseError)
 27 |     case storeKit(StoreKitError)
    :
 40 | /// StoreHelper exceptions
 41 | public enum StoreException: Error, Equatable {
 42 |     case purchaseException(UnderlyingError?)
    |          `- warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 43 |     case purchaseInProgressException
 44 |     case transactionVerificationFailed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     `- warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubInfo.swift:13:15: note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
11 | /// This struct has been renamed as `SubInfo` from `SubscriptionInfo` to avoid a name collision with a type alias introduced is iOS 18.4.
12 | @available(iOS 15.0, macOS 12.0, *)
13 | public struct SubInfo: Hashable {
   |               `- note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
14 |     public init(product: Product? = nil,
15 |                 subscriptionGroup: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:37:15: note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:849:30: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
847 |     @MainActor private func handleTransactions() -> Task<Void, Error> {
848 |
849 |         return Task.detached { [self] in
    |                              `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
850 |
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                         `- note: closure captures 'self' which is accessible to main actor-isolated code
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                              `- note: access can happen concurrently
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:873:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
871 |                     // See transaction.revocationReason for more details if required
872 |                     StoreLog.transaction(.transactionRevoked, productId: transaction.productID, transactionId: String(transaction.id))
873 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
874 |                     if let handler = transactionNotification { handler(.transactionRevoked, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
875 |                     return
876 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:881:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
879 |                     // The user's subscription has expired
880 |                     StoreLog.transaction(.transactionExpired, productId: transaction.productID, transactionId: String(transaction.id))
881 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
882 |                     if let handler = transactionNotification { handler(.transactionExpired, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
883 |                     return
884 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:889:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
887 |                     // Transaction superceeded by an active, higher-value subscription
888 |                     StoreLog.transaction(.transactionUpgraded, productId: transaction.productID, transactionId: String(transaction.id))
889 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: true)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
890 |                     if let handler = transactionNotification { handler(.transactionUpgraded, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
891 |                     return
892 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:896:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
894 |                 // Update the list of products the user has access to
895 |                 StoreLog.transaction(.transactionSuccess, productId: transaction.productID, transactionId: String(transaction.id))
896 |                 await self.updatePurchasedProducts(transaction: transaction, purchased: true)
    |                            |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                            |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(transaction:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                            `- note: access can happen concurrently
897 |                 if let handler = transactionNotification { handler(.transactionSuccess, transaction.productID, String(transaction.id)) }
898 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'self' to main actor-isolated instance method 'subscriptionInfo(for:)' risks causing data races between main actor-isolated and task-isolated uses
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:376:55: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
374 |
375 |         // Sanity check. Make sure the user's not subscribed to the provided subscription
376 |         guard let subscribed = try? await storeHelper.isSubscribed(product: product), !subscribed else { return false }
    |                                                       |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                       `- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
377 |
378 |         // Get all the product ids in the subscription group
379 |         guard let products = subscriptions(in: group) else { return false }
    |                              `- note: access can happen concurrently
380 |
381 |         // Get the index of the provided product and make sure there service levels of lower value (higher in the collection)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:387:59: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
385 |         for i in (indexOfProvidedProduct+1)...(products.count-1) {
386 |             if  let lowerValueProduct = storeHelper.product(from: products[i]),
387 |                 let isSubscribed = try? await storeHelper.isSubscribed(product: lowerValueProduct),
    |                                                           |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                           |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                                           `- note: access can happen concurrently
388 |                 isSubscribed { return true }
389 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                               |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                               `- note: access can happen concurrently
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
[139/147] Compiling StoreHelper SubInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
    :
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreLog.swift:58:23: warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 56 |     }
 57 |
 58 |     public static var transactionLog: Set<TransactionLog> = []
    |                       |- warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'transactionLog' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'transactionLog' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// Logs a StoreNotification as a transaction. Multiple transactions for the same event, product id and transaction id will only be logged once.
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreNotification.swift:42:10: warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 23 | }
 24 |
 25 | public enum UnderlyingError: Equatable {
    |             `- note: consider making enum 'UnderlyingError' conform to the 'Sendable' protocol
 26 |     case purchase(Product.PurchaseError)
 27 |     case storeKit(StoreKitError)
    :
 40 | /// StoreHelper exceptions
 41 | public enum StoreException: Error, Equatable {
 42 |     case purchaseException(UnderlyingError?)
    |          `- warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 43 |     case purchaseInProgressException
 44 |     case transactionVerificationFailed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     `- warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubInfo.swift:13:15: note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
11 | /// This struct has been renamed as `SubInfo` from `SubscriptionInfo` to avoid a name collision with a type alias introduced is iOS 18.4.
12 | @available(iOS 15.0, macOS 12.0, *)
13 | public struct SubInfo: Hashable {
   |               `- note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
14 |     public init(product: Product? = nil,
15 |                 subscriptionGroup: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:37:15: note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:849:30: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
847 |     @MainActor private func handleTransactions() -> Task<Void, Error> {
848 |
849 |         return Task.detached { [self] in
    |                              `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
850 |
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                         `- note: closure captures 'self' which is accessible to main actor-isolated code
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                              `- note: access can happen concurrently
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:873:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
871 |                     // See transaction.revocationReason for more details if required
872 |                     StoreLog.transaction(.transactionRevoked, productId: transaction.productID, transactionId: String(transaction.id))
873 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
874 |                     if let handler = transactionNotification { handler(.transactionRevoked, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
875 |                     return
876 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:881:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
879 |                     // The user's subscription has expired
880 |                     StoreLog.transaction(.transactionExpired, productId: transaction.productID, transactionId: String(transaction.id))
881 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
882 |                     if let handler = transactionNotification { handler(.transactionExpired, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
883 |                     return
884 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:889:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
887 |                     // Transaction superceeded by an active, higher-value subscription
888 |                     StoreLog.transaction(.transactionUpgraded, productId: transaction.productID, transactionId: String(transaction.id))
889 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: true)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
890 |                     if let handler = transactionNotification { handler(.transactionUpgraded, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
891 |                     return
892 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:896:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
894 |                 // Update the list of products the user has access to
895 |                 StoreLog.transaction(.transactionSuccess, productId: transaction.productID, transactionId: String(transaction.id))
896 |                 await self.updatePurchasedProducts(transaction: transaction, purchased: true)
    |                            |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                            |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(transaction:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                            `- note: access can happen concurrently
897 |                 if let handler = transactionNotification { handler(.transactionSuccess, transaction.productID, String(transaction.id)) }
898 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'self' to main actor-isolated instance method 'subscriptionInfo(for:)' risks causing data races between main actor-isolated and task-isolated uses
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:376:55: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
374 |
375 |         // Sanity check. Make sure the user's not subscribed to the provided subscription
376 |         guard let subscribed = try? await storeHelper.isSubscribed(product: product), !subscribed else { return false }
    |                                                       |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                       `- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
377 |
378 |         // Get all the product ids in the subscription group
379 |         guard let products = subscriptions(in: group) else { return false }
    |                              `- note: access can happen concurrently
380 |
381 |         // Get the index of the provided product and make sure there service levels of lower value (higher in the collection)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:387:59: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
385 |         for i in (indexOfProvidedProduct+1)...(products.count-1) {
386 |             if  let lowerValueProduct = storeHelper.product(from: products[i]),
387 |                 let isSubscribed = try? await storeHelper.isSubscribed(product: lowerValueProduct),
    |                                                           |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                           |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                                           `- note: access can happen concurrently
388 |                 isSubscribed { return true }
389 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                               |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                               `- note: access can happen concurrently
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
[140/147] Compiling StoreHelper SubscriptionHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
    :
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreLog.swift:58:23: warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 56 |     }
 57 |
 58 |     public static var transactionLog: Set<TransactionLog> = []
    |                       |- warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'transactionLog' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'transactionLog' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// Logs a StoreNotification as a transaction. Multiple transactions for the same event, product id and transaction id will only be logged once.
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreNotification.swift:42:10: warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 23 | }
 24 |
 25 | public enum UnderlyingError: Equatable {
    |             `- note: consider making enum 'UnderlyingError' conform to the 'Sendable' protocol
 26 |     case purchase(Product.PurchaseError)
 27 |     case storeKit(StoreKitError)
    :
 40 | /// StoreHelper exceptions
 41 | public enum StoreException: Error, Equatable {
 42 |     case purchaseException(UnderlyingError?)
    |          `- warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 43 |     case purchaseInProgressException
 44 |     case transactionVerificationFailed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     `- warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubInfo.swift:13:15: note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
11 | /// This struct has been renamed as `SubInfo` from `SubscriptionInfo` to avoid a name collision with a type alias introduced is iOS 18.4.
12 | @available(iOS 15.0, macOS 12.0, *)
13 | public struct SubInfo: Hashable {
   |               `- note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
14 |     public init(product: Product? = nil,
15 |                 subscriptionGroup: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:37:15: note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:849:30: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
847 |     @MainActor private func handleTransactions() -> Task<Void, Error> {
848 |
849 |         return Task.detached { [self] in
    |                              `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
850 |
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                         `- note: closure captures 'self' which is accessible to main actor-isolated code
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                              `- note: access can happen concurrently
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:873:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
871 |                     // See transaction.revocationReason for more details if required
872 |                     StoreLog.transaction(.transactionRevoked, productId: transaction.productID, transactionId: String(transaction.id))
873 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
874 |                     if let handler = transactionNotification { handler(.transactionRevoked, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
875 |                     return
876 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:881:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
879 |                     // The user's subscription has expired
880 |                     StoreLog.transaction(.transactionExpired, productId: transaction.productID, transactionId: String(transaction.id))
881 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
882 |                     if let handler = transactionNotification { handler(.transactionExpired, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
883 |                     return
884 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:889:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
887 |                     // Transaction superceeded by an active, higher-value subscription
888 |                     StoreLog.transaction(.transactionUpgraded, productId: transaction.productID, transactionId: String(transaction.id))
889 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: true)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
890 |                     if let handler = transactionNotification { handler(.transactionUpgraded, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
891 |                     return
892 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:896:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
894 |                 // Update the list of products the user has access to
895 |                 StoreLog.transaction(.transactionSuccess, productId: transaction.productID, transactionId: String(transaction.id))
896 |                 await self.updatePurchasedProducts(transaction: transaction, purchased: true)
    |                            |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                            |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(transaction:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                            `- note: access can happen concurrently
897 |                 if let handler = transactionNotification { handler(.transactionSuccess, transaction.productID, String(transaction.id)) }
898 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'self' to main actor-isolated instance method 'subscriptionInfo(for:)' risks causing data races between main actor-isolated and task-isolated uses
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:376:55: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
374 |
375 |         // Sanity check. Make sure the user's not subscribed to the provided subscription
376 |         guard let subscribed = try? await storeHelper.isSubscribed(product: product), !subscribed else { return false }
    |                                                       |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                       `- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
377 |
378 |         // Get all the product ids in the subscription group
379 |         guard let products = subscriptions(in: group) else { return false }
    |                              `- note: access can happen concurrently
380 |
381 |         // Get the index of the provided product and make sure there service levels of lower value (higher in the collection)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:387:59: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
385 |         for i in (indexOfProvidedProduct+1)...(products.count-1) {
386 |             if  let lowerValueProduct = storeHelper.product(from: products[i]),
387 |                 let isSubscribed = try? await storeHelper.isSubscribed(product: lowerValueProduct),
    |                                                           |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                           |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                                           `- note: access can happen concurrently
388 |                 isSubscribed { return true }
389 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                               |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                               `- note: access can happen concurrently
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
[141/147] Compiling StoreHelper SubscriptionOfferInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
    :
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreLog.swift:58:23: warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 56 |     }
 57 |
 58 |     public static var transactionLog: Set<TransactionLog> = []
    |                       |- warning: static property 'transactionLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'transactionLog' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'transactionLog' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 59 |
 60 |     /// Logs a StoreNotification as a transaction. Multiple transactions for the same event, product id and transaction id will only be logged once.
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreNotification.swift:42:10: warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 23 | }
 24 |
 25 | public enum UnderlyingError: Equatable {
    |             `- note: consider making enum 'UnderlyingError' conform to the 'Sendable' protocol
 26 |     case purchase(Product.PurchaseError)
 27 |     case storeKit(StoreKitError)
    :
 40 | /// StoreHelper exceptions
 41 | public enum StoreException: Error, Equatable {
 42 |     case purchaseException(UnderlyingError?)
    |          `- warning: associated value 'purchaseException' of 'Sendable'-conforming enum 'StoreException' has non-sendable type 'UnderlyingError'; this is an error in the Swift 6 language mode
 43 |     case purchaseInProgressException
 44 |     case transactionVerificationFailed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     `- warning: non-sendable result type 'SubInfo?' cannot be sent from main actor-isolated context in call to instance method 'subscriptionInfo(for:)'; this is an error in the Swift 6 language mode
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubInfo.swift:13:15: note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
11 | /// This struct has been renamed as `SubInfo` from `SubscriptionInfo` to avoid a name collision with a type alias introduced is iOS 18.4.
12 | @available(iOS 15.0, macOS 12.0, *)
13 | public struct SubInfo: Hashable {
   |               `- note: consider making struct 'SubInfo' conform to the 'Sendable' protocol
14 |     public init(product: Product? = nil,
15 |                 subscriptionGroup: String? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               `- warning: non-sendable result type 'UnwrappedVerificationResult<Transaction>' cannot be sent from main actor-isolated context in call to instance method 'checkVerificationResult(result:)'; this is an error in the Swift 6 language mode
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:37:15: note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 35 | /// Information on the result of unwrapping a transaction `VerificationResult`.
 36 | @available(iOS 15.0, macOS 12.0, *)
 37 | public struct UnwrappedVerificationResult<T> {
    |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
 38 |     /// The verified or unverified transaction.
 39 |     public let transaction: T
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:849:30: warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
847 |     @MainActor private func handleTransactions() -> Task<Void, Error> {
848 |
849 |         return Task.detached { [self] in
    |                              `- warning: passing closure as a 'sending' parameter risks causing data races between main actor-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
850 |
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                         `- note: closure captures 'self' which is accessible to main actor-isolated code
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:853:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
851 |             for await verificationResult in Transaction.updates {
852 |                 // See if StoreKit validated the transaction
853 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
    |                                              |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                              |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                              `- note: access can happen concurrently
854 |                 guard checkResult.verified else {
855 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:873:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
871 |                     // See transaction.revocationReason for more details if required
872 |                     StoreLog.transaction(.transactionRevoked, productId: transaction.productID, transactionId: String(transaction.id))
873 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
874 |                     if let handler = transactionNotification { handler(.transactionRevoked, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
875 |                     return
876 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:881:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
879 |                     // The user's subscription has expired
880 |                     StoreLog.transaction(.transactionExpired, productId: transaction.productID, transactionId: String(transaction.id))
881 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: false)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
882 |                     if let handler = transactionNotification { handler(.transactionExpired, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
883 |                     return
884 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:889:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
887 |                     // Transaction superceeded by an active, higher-value subscription
888 |                     StoreLog.transaction(.transactionUpgraded, productId: transaction.productID, transactionId: String(transaction.id))
889 |                     await self.updatePurchasedProducts(for: transaction.productID, purchased: true)
    |                                |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(for:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
890 |                     if let handler = transactionNotification { handler(.transactionUpgraded, transaction.productID, String(transaction.id)) }
    |                     `- note: access can happen concurrently
891 |                     return
892 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:896:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
894 |                 // Update the list of products the user has access to
895 |                 StoreLog.transaction(.transactionSuccess, productId: transaction.productID, transactionId: String(transaction.id))
896 |                 await self.updatePurchasedProducts(transaction: transaction, purchased: true)
    |                            |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                            |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'updatePurchasedProducts(transaction:purchased:updateFallbackList:updateTransactionCheck:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                            `- note: access can happen concurrently
897 |                 if let handler = transactionNotification { handler(.transactionSuccess, transaction.productID, String(transaction.id)) }
898 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:312:37: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
310 |             subscriptionInfoSet = OrderedSet<SubInfo>()
311 |             for group in groups {
312 |                 if let hslp = await subscriptionInfo(for: group) { subscriptionInfoSet.append(hslp) }
    |                                     |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated 'self' to main actor-isolated instance method 'subscriptionInfo(for:)' risks causing data races between main actor-isolated and task-isolated uses
313 |             }
314 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:376:55: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
374 |
375 |         // Sanity check. Make sure the user's not subscribed to the provided subscription
376 |         guard let subscribed = try? await storeHelper.isSubscribed(product: product), !subscribed else { return false }
    |                                                       |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                       `- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
377 |
378 |         // Get all the product ids in the subscription group
379 |         guard let products = subscriptions(in: group) else { return false }
    |                              `- note: access can happen concurrently
380 |
381 |         // Get the index of the provided product and make sure there service levels of lower value (higher in the collection)
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:387:59: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
385 |         for i in (indexOfProvidedProduct+1)...(products.count-1) {
386 |             if  let lowerValueProduct = storeHelper.product(from: products[i]),
387 |                 let isSubscribed = try? await storeHelper.isSubscribed(product: lowerValueProduct),
    |                                                           |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                                           |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'isSubscribed(product:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                                           `- note: access can happen concurrently
388 |                 isSubscribed { return true }
389 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/SubscriptionHelper.swift:425:47: warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
423 |
424 |         for await transaction in StoreKit.Transaction.all {
425 |             let unwrapped = await storeHelper.checkVerificationResult(result: transaction)
    |                                               |- warning: sending 'storeHelper' risks causing data races; this is an error in the Swift 6 language mode
    |                                               |- note: sending main actor-isolated 'storeHelper' to main actor-isolated instance method 'checkVerificationResult(result:)' risks causing data races between main actor-isolated and local nonisolated uses
    |                                               `- note: access can happen concurrently
426 |             if let subscriptionTransactionInfo = await SubscriptionTransactionInfo(unwrappedTransaction: unwrapped, storeHelper: storeHelper) {
427 |                 transactions.append(subscriptionTransactionInfo)
[142/147] Compiling StoreHelper ProductListViewRow.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[143/147] Compiling StoreHelper ProductView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[144/147] Compiling StoreHelper PurchaseButton.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[145/147] Compiling StoreHelper PurchaseInfoSheet.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[146/147] Compiling StoreHelper PurchaseInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
[147/147] Compiling StoreHelper RefreshProductsView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PurchaseInfoViewModel.swift:58:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 | public struct PurchaseInfoViewModel {
 57 |
 58 |     @ObservedObject public var storeHelper: StoreHelper
    |      `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |     public var productId: ProductId
 60 |
SwiftUICore.ObservedObject.init:2:35: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
1 | generic struct ObservedObject {
2 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)}
  |                                   `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
3 |
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
[1/1] Compiling plugin Swift-DocC Preview
[2/2] Compiling plugin Swift-DocC
Building for debugging...
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/21] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[5/21] Compiling InternalCollectionsUtilities Specialize.swift
[6/21] Compiling InternalCollectionsUtilities _SortedCollection.swift
[7/21] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[8/21] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[9/22] Compiling InternalCollectionsUtilities Debugging.swift
[10/22] Compiling InternalCollectionsUtilities Descriptions.swift
[11/22] Compiling InternalCollectionsUtilities UInt+reversed.swift
[12/22] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[13/22] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[14/22] Emitting module InternalCollectionsUtilities
[15/22] Compiling InternalCollectionsUtilities UnsafeRawPointer extensions.swift
[16/22] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[17/22] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+SE-0370.swift
[18/22] Compiling InternalCollectionsUtilities UnsafeMutablePointer+SE-0370.swift
[19/22] Compiling InternalCollectionsUtilities Integer rank.swift
[20/22] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[21/22] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[22/22] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[23/78] Compiling OrderedCollections OrderedSet+Codable.swift
[24/78] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[25/78] Compiling OrderedCollections OrderedSet+Descriptions.swift
[26/78] Compiling OrderedCollections OrderedSet+Diffing.swift
[27/78] Compiling OrderedCollections OrderedSet+Equatable.swift
[28/78] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[29/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[30/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[31/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[32/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[33/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[34/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[35/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[36/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[37/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[38/84] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[39/84] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[40/84] Compiling OrderedCollections OrderedSet+Sendable.swift
[41/84] Compiling OrderedCollections OrderedDictionary+Elements.swift
[42/84] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[43/84] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[44/84] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[45/84] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[46/84] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[47/84] Compiling OrderedCollections _Hashtable+Header.swift
[48/84] Compiling OrderedCollections OrderedDictionary+Codable.swift
[49/84] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[50/84] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[51/84] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[52/84] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[53/84] Compiling OrderedCollections OrderedSet+Hashable.swift
[54/84] Compiling OrderedCollections OrderedSet+Initializers.swift
[55/84] Compiling OrderedCollections OrderedSet+Insertions.swift
[56/84] Compiling OrderedCollections OrderedSet+Invariants.swift
[57/84] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[58/84] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[59/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[60/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[61/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[62/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[63/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[64/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[65/84] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[66/84] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[67/84] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[68/84] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[69/84] Compiling OrderedCollections OrderedDictionary+Values.swift
[70/84] Compiling OrderedCollections OrderedDictionary.swift
[71/84] Compiling OrderedCollections OrderedSet+SubSequence.swift
[72/84] Compiling OrderedCollections OrderedSet+Testing.swift
[73/84] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[74/84] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[75/84] Compiling OrderedCollections OrderedSet.swift
[76/84] Compiling OrderedCollections _UnsafeBitset.swift
[77/84] Compiling OrderedCollections _HashTable+Bucket.swift
[78/84] Compiling OrderedCollections _HashTable+BucketIterator.swift
[79/84] Compiling OrderedCollections _HashTable+Constants.swift
[80/84] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[81/84] Compiling OrderedCollections _HashTable+Testing.swift
[82/84] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[83/84] Compiling OrderedCollections _HashTable.swift
[84/84] Emitting module OrderedCollections
[85/137] Emitting module StoreHelper
[86/142] Compiling StoreHelper AppGroupSupport.swift
[87/142] Compiling StoreHelper AppStoreHelper.swift
[88/142] Compiling StoreHelper KeychainHelper.swift
[89/142] Compiling StoreHelper PrePurchaseSubscriptionInfo.swift
[90/142] Compiling StoreHelper PurchaseInfo.swift
[91/142] Compiling StoreHelper StoreConstants.swift
[92/142] Compiling StoreHelper SubscriptionTransactionInfo.swift
[93/142] Compiling StoreHelper Buttons.swift
[94/142] Compiling StoreHelper Fonts.swift
[95/142] Compiling StoreHelper Images.swift
[96/142] Compiling StoreHelper TapGesture.swift
[97/142] Compiling StoreHelper Image-ios.swift
[98/142] Compiling StoreHelper Image-macos.swift
[99/142] Compiling StoreHelper Configuration.swift
[100/142] Compiling StoreHelper PropertyFile.swift
[101/142] Compiling StoreHelper StoreConfiguration.swift
[102/142] Compiling StoreHelper Utils.swift
[103/142] Compiling StoreHelper OptionsViewModel.swift
[104/142] Compiling StoreHelper ContactUsView.swift
[105/142] Compiling StoreHelper PriceButtonText.swift
[106/142] Compiling StoreHelper PriceButtonTextSubscription.swift
[107/142] Compiling StoreHelper PriceView.swift
[108/142] Compiling StoreHelper ProductInfoView.swift
[109/142] Compiling StoreHelper ProductListView.swift
[110/142] Compiling StoreHelper RedeemOfferCodeView-ios.swift
[111/142] Compiling StoreHelper SheetBarView-ios.swift
[112/142] Compiling StoreHelper Products-macos.swift
[113/142] Compiling StoreHelper SheetBarView-macos.swift
[114/142] Compiling StoreHelper resource_bundle_accessor.swift
[115/142] Compiling StoreHelper ProductListViewRow.swift
[116/142] Compiling StoreHelper ProductView.swift
[117/142] Compiling StoreHelper PurchaseButton.swift
[118/142] Compiling StoreHelper PurchaseInfoSheet.swift
[119/142] Compiling StoreHelper PurchaseInfoView.swift
[120/142] Compiling StoreHelper RefreshProductsView.swift
[121/142] Compiling StoreHelper RestorePurchasesView.swift
[122/142] Compiling StoreHelper StoreErrorView.swift
[123/142] Compiling StoreHelper SubscriptionInfoSheet.swift
[124/142] Compiling StoreHelper SubscriptionInfoView.swift
[125/142] Compiling StoreHelper SubscriptionListViewRow.swift
[126/142] Compiling StoreHelper PriceViewModel.swift
[127/142] Compiling StoreHelper PurchaseInfoViewModel.swift
[128/142] Compiling StoreHelper SubscriptionInfoViewModel.swift
[129/142] Compiling StoreHelper BadgeView.swift
[130/142] Compiling StoreHelper ConsumableBadgeView.swift
[131/142] Compiling StoreHelper ConsumableView.swift
[132/142] Compiling StoreHelper SubscriptionView.swift
[133/142] Compiling StoreHelper TermsOfServiceView.swift
[134/142] Compiling StoreHelper VersionInfo.swift
[135/142] Compiling StoreHelper Products-ios.swift
[136/142] Compiling StoreHelper PurchaseManagement-ios.swift
[137/142] Compiling StoreHelper StoreHelper.swift
[138/142] Compiling StoreHelper StoreLog.swift
[139/142] Compiling StoreHelper StoreNotification.swift
[140/142] Compiling StoreHelper SubInfo.swift
[141/142] Compiling StoreHelper SubscriptionHelper.swift
[142/142] Compiling StoreHelper SubscriptionOfferInfo.swift
Build complete! (5.39s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.3.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin.git"
    }
  ],
  "manifest_display_name" : "StoreHelper",
  "name" : "StoreHelper",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "StoreHelper",
      "targets" : [
        "StoreHelper"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "StoreHelper",
      "module_type" : "SwiftTarget",
      "name" : "StoreHelper",
      "path" : "Sources/StoreHelper",
      "product_dependencies" : [
        "OrderedCollections"
      ],
      "product_memberships" : [
        "StoreHelper"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Resources/PrivacyInfo.xcprivacy",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Resources/storehelper-logo.png",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Core/AppGroupSupport.swift",
        "Core/AppStoreHelper.swift",
        "Core/KeychainHelper.swift",
        "Core/PrePurchaseSubscriptionInfo.swift",
        "Core/PurchaseInfo.swift",
        "Core/StoreConstants.swift",
        "Core/StoreHelper.swift",
        "Core/StoreLog.swift",
        "Core/StoreNotification.swift",
        "Core/SubInfo.swift",
        "Core/SubscriptionHelper.swift",
        "Core/SubscriptionOfferInfo.swift",
        "Core/SubscriptionTransactionInfo.swift",
        "Styles/Shared/Buttons.swift",
        "Styles/Shared/Fonts.swift",
        "Styles/Shared/Images.swift",
        "Styles/Shared/TapGesture.swift",
        "Styles/iOS/Image-ios.swift",
        "Styles/macOS/Image-macos.swift",
        "Util/Configuration.swift",
        "Util/PropertyFile.swift",
        "Util/StoreConfiguration.swift",
        "Util/Utils.swift",
        "ViewModels/OptionsViewModel.swift",
        "ViewModels/PriceViewModel.swift",
        "ViewModels/PurchaseInfoViewModel.swift",
        "ViewModels/SubscriptionInfoViewModel.swift",
        "Views/Shared/BadgeView.swift",
        "Views/Shared/ConsumableBadgeView.swift",
        "Views/Shared/ConsumableView.swift",
        "Views/Shared/ContactUsView.swift",
        "Views/Shared/PriceButtonText.swift",
        "Views/Shared/PriceButtonTextSubscription.swift",
        "Views/Shared/PriceView.swift",
        "Views/Shared/ProductInfoView.swift",
        "Views/Shared/ProductListView.swift",
        "Views/Shared/ProductListViewRow.swift",
        "Views/Shared/ProductView.swift",
        "Views/Shared/PurchaseButton.swift",
        "Views/Shared/PurchaseInfoSheet.swift",
        "Views/Shared/PurchaseInfoView.swift",
        "Views/Shared/RefreshProductsView.swift",
        "Views/Shared/RestorePurchasesView.swift",
        "Views/Shared/StoreErrorView.swift",
        "Views/Shared/SubscriptionInfoSheet.swift",
        "Views/Shared/SubscriptionInfoView.swift",
        "Views/Shared/SubscriptionListViewRow.swift",
        "Views/Shared/SubscriptionView.swift",
        "Views/Shared/TermsOfServiceView.swift",
        "Views/Shared/VersionInfo.swift",
        "Views/iOS/Products-ios.swift",
        "Views/iOS/PurchaseManagement-ios.swift",
        "Views/iOS/RedeemOfferCodeView-ios.swift",
        "Views/iOS/SheetBarView-ios.swift",
        "Views/macOS/Products-macos.swift",
        "Views/macOS/SheetBarView-macos.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.