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.13 (21bf8c), with Swift 6.1 for macOS (SPM) on 27 Aug 2025 15:30:31 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

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:48:15: note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
  46 | /// Information on the result of unwrapping a transaction `VerificationResult`.
  47 | @available(iOS 15.0, macOS 12.0, *)
  48 | public struct UnwrappedVerificationResult<T> {
     |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
  49 |     /// The verified or unverified transaction.
  50 |     public let transaction: T
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:905: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
 903 |     @MainActor private func handleTransactions() -> Task<Void, Error> {
 904 |
 905 |         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
 906 |
 907 |             for await verificationResult in Transaction.updates {
 908 |                 // See if StoreKit validated the transaction
 909 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
     |                                         `- note: closure captures 'self' which is accessible to main actor-isolated code
 910 |                 guard checkResult.verified else {
 911 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:909:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 907 |             for await verificationResult in Transaction.updates {
 908 |                 // See if StoreKit validated the transaction
 909 |                 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
 910 |                 guard checkResult.verified else {
 911 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:929:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 927 |                     // See transaction.revocationReason for more details if required
 928 |                     StoreLog.transaction(.transactionRevoked, productId: transaction.productID, transactionId: String(transaction.id))
 929 |                     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
 930 |                     if let handler = transactionNotification { handler(.transactionRevoked, transaction.productID, String(transaction.id)) }
     |                     `- note: access can happen concurrently
 931 |                     return
 932 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:937:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 935 |                     // The user's subscription has expired
 936 |                     StoreLog.transaction(.transactionExpired, productId: transaction.productID, transactionId: String(transaction.id))
 937 |                     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
 938 |                     if let handler = transactionNotification { handler(.transactionExpired, transaction.productID, String(transaction.id)) }
     |                     `- note: access can happen concurrently
 939 |                     return
 940 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:945:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 943 |                     // Transaction superceeded by an active, higher-value subscription
 944 |                     StoreLog.transaction(.transactionUpgraded, productId: transaction.productID, transactionId: String(transaction.id))
 945 |                     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
 946 |                     if let handler = transactionNotification { handler(.transactionUpgraded, transaction.productID, String(transaction.id)) }
     |                     `- note: access can happen concurrently
 947 |                     return
 948 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:952:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 950 |                 // Update the list of products the user has access to
 951 |                 StoreLog.transaction(.transactionSuccess, productId: transaction.productID, transactionId: String(transaction.id))
 952 |                 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
 953 |                 if let handler = transactionNotification { handler(.transactionSuccess, transaction.productID, String(transaction.id)) }
 954 |             }
/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)
[124/147] Compiling StoreHelper SubscriptionOfferInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:909: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
  46 | /// Information on the result of unwrapping a transaction `VerificationResult`.
  47 | @available(iOS 15.0, macOS 12.0, *)
  48 | public struct UnwrappedVerificationResult<T> {
     |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
  49 |     /// The verified or unverified transaction.
  50 |     public let transaction: T
     :
 907 |             for await verificationResult in Transaction.updates {
 908 |                 // See if StoreKit validated the transaction
 909 |                 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
 910 |                 guard checkResult.verified else {
 911 |                     // 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:48:15: note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
  46 | /// Information on the result of unwrapping a transaction `VerificationResult`.
  47 | @available(iOS 15.0, macOS 12.0, *)
  48 | public struct UnwrappedVerificationResult<T> {
     |               `- note: consider making generic struct 'UnwrappedVerificationResult' conform to the 'Sendable' protocol
  49 |     /// The verified or unverified transaction.
  50 |     public let transaction: T
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:905: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
 903 |     @MainActor private func handleTransactions() -> Task<Void, Error> {
 904 |
 905 |         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
 906 |
 907 |             for await verificationResult in Transaction.updates {
 908 |                 // See if StoreKit validated the transaction
 909 |                 let checkResult = await self.checkVerificationResult(result: verificationResult)
     |                                         `- note: closure captures 'self' which is accessible to main actor-isolated code
 910 |                 guard checkResult.verified else {
 911 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:909:46: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 907 |             for await verificationResult in Transaction.updates {
 908 |                 // See if StoreKit validated the transaction
 909 |                 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
 910 |                 guard checkResult.verified else {
 911 |                     // StoreKit's attempts to validate the transaction failed
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:929:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 927 |                     // See transaction.revocationReason for more details if required
 928 |                     StoreLog.transaction(.transactionRevoked, productId: transaction.productID, transactionId: String(transaction.id))
 929 |                     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
 930 |                     if let handler = transactionNotification { handler(.transactionRevoked, transaction.productID, String(transaction.id)) }
     |                     `- note: access can happen concurrently
 931 |                     return
 932 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:937:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 935 |                     // The user's subscription has expired
 936 |                     StoreLog.transaction(.transactionExpired, productId: transaction.productID, transactionId: String(transaction.id))
 937 |                     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
 938 |                     if let handler = transactionNotification { handler(.transactionExpired, transaction.productID, String(transaction.id)) }
     |                     `- note: access can happen concurrently
 939 |                     return
 940 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:945:32: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 943 |                     // Transaction superceeded by an active, higher-value subscription
 944 |                     StoreLog.transaction(.transactionUpgraded, productId: transaction.productID, transactionId: String(transaction.id))
 945 |                     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
 946 |                     if let handler = transactionNotification { handler(.transactionUpgraded, transaction.productID, String(transaction.id)) }
     |                     `- note: access can happen concurrently
 947 |                     return
 948 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Core/StoreHelper.swift:952:28: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 950 |                 // Update the list of products the user has access to
 951 |                 StoreLog.transaction(.transactionSuccess, productId: transaction.productID, transactionId: String(transaction.id))
 952 |                 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
 953 |                 if let handler = transactionNotification { handler(.transactionSuccess, transaction.productID, String(transaction.id)) }
 954 |             }
/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)
[125/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:60:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 58 |         if !ppSubInfo.promotionalOffers.isEmpty {
 59 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 60 |             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
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:62:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 60 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } 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
 63 |                 ppSubInfo.promotionalOffersEligible = true
 64 |             }
/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 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:60:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 58 |         if !ppSubInfo.promotionalOffers.isEmpty {
 59 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 60 |             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
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:62:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 60 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } 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
 63 |                 ppSubInfo.promotionalOffersEligible = true
 64 |             }
/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 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:60:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 58 |         if !ppSubInfo.promotionalOffers.isEmpty {
 59 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 60 |             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
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:62:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 60 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } 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
 63 |                 ppSubInfo.promotionalOffersEligible = true
 64 |             }
/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 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:60:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 58 |         if !ppSubInfo.promotionalOffers.isEmpty {
 59 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 60 |             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
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:62:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 60 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } 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
 63 |                 ppSubInfo.promotionalOffersEligible = true
 64 |             }
/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 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:60:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 58 |         if !ppSubInfo.promotionalOffers.isEmpty {
 59 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 60 |             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
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:62:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 60 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } 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
 63 |                 ppSubInfo.promotionalOffersEligible = true
 64 |             }
/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 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:60:53: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 58 |         if !ppSubInfo.promotionalOffers.isEmpty {
 59 |             // Promotional offers take precedence over introductory offers. There are promo offers available, but is this user eligible?
 60 |             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
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } else if await storeHelper.subscriptionHelper.hasLowerValueCurrentSubscription(than: product) {
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/ViewModels/PriceViewModel.swift:62:60: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
 60 |             if await storeHelper.subscriptionHelper.isLapsedSubscriber(to: product) {
 61 |                 ppSubInfo.promotionalOffersEligible = true
 62 |             } 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
 63 |                 ppSubInfo.promotionalOffersEligible = true
 64 |             }
/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 |
[131/147] Compiling StoreHelper RestorePurchasesView.swift
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/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/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
56 |         }
57 |     }
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         |- 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
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 |- 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
56 |         }
57 |     }
[132/147] Compiling StoreHelper StoreErrorView.swift
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/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/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
56 |         }
57 |     }
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         |- 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
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 |- 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
56 |         }
57 |     }
[133/147] Compiling StoreHelper SubscriptionInfoSheet.swift
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/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/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
56 |         }
57 |     }
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         |- 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
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 |- 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
56 |         }
57 |     }
[134/147] Compiling StoreHelper SubscriptionInfoView.swift
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/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/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
56 |         }
57 |     }
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         |- 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
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 |- 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
56 |         }
57 |     }
[135/147] Compiling StoreHelper SubscriptionListViewRow.swift
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/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/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 `- warning: non-sendable result type 'OrderedSet<SubInfo>?' cannot be sent from nonisolated context in call to instance method 'groupSubscriptionInfo()'; this is an error in the Swift 6 language mode
56 |         }
57 |     }
/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/Views/Shared/SubscriptionListViewRow.swift:53:73: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
51 |             }
52 |         }
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                         |- 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
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
/Users/admin/builder/spi-builder-workspace/Sources/StoreHelper/Views/Shared/SubscriptionListViewRow.swift:55:81: warning: sending value of non-Sendable type 'SubscriptionHelper' risks causing data races; this is an error in the Swift 6 language mode
53 |         .task { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
54 |         .onChange(of: storeHelper.purchasedProducts) { _ in
55 |             Task.init { subscriptionInfo = await storeHelper.subscriptionHelper.groupSubscriptionInfo()}
   |                                                                                 |- 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
56 |         }
57 |     }
[136/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 |
[137/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 |
[138/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 |
[139/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 |
[140/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 |
[141/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 |
[142/147] Compiling StoreHelper Image-macos.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:815:30: note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 813 |     ///   - productId: The `ProductId` to insert/remove.
 814 |     ///   - insert: If true the `ProductId` is purchased.
 815 |     @MainActor internal func updatePurchasedIdentifiers(_ productId: ProductId, purchased: Bool) {
     |                              `- note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 816 |         guard let product = product(from: productId) else { return }
 817 |
/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
[143/147] Compiling StoreHelper Configuration.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:815:30: note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 813 |     ///   - productId: The `ProductId` to insert/remove.
 814 |     ///   - insert: If true the `ProductId` is purchased.
 815 |     @MainActor internal func updatePurchasedIdentifiers(_ productId: ProductId, purchased: Bool) {
     |                              `- note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 816 |         guard let product = product(from: productId) else { return }
 817 |
/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
[144/147] Compiling StoreHelper PropertyFile.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:815:30: note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 813 |     ///   - productId: The `ProductId` to insert/remove.
 814 |     ///   - insert: If true the `ProductId` is purchased.
 815 |     @MainActor internal func updatePurchasedIdentifiers(_ productId: ProductId, purchased: Bool) {
     |                              `- note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 816 |         guard let product = product(from: productId) else { return }
 817 |
/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
[145/147] Compiling StoreHelper StoreConfiguration.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:815:30: note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 813 |     ///   - productId: The `ProductId` to insert/remove.
 814 |     ///   - insert: If true the `ProductId` is purchased.
 815 |     @MainActor internal func updatePurchasedIdentifiers(_ productId: ProductId, purchased: Bool) {
     |                              `- note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 816 |         guard let product = product(from: productId) else { return }
 817 |
/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
[146/147] Compiling StoreHelper Utils.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:815:30: note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 813 |     ///   - productId: The `ProductId` to insert/remove.
 814 |     ///   - insert: If true the `ProductId` is purchased.
 815 |     @MainActor internal func updatePurchasedIdentifiers(_ productId: ProductId, purchased: Bool) {
     |                              `- note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 816 |         guard let product = product(from: productId) else { return }
 817 |
/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
[147/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:815:30: note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 813 |     ///   - productId: The `ProductId` to insert/remove.
 814 |     ///   - insert: If true the `ProductId` is purchased.
 815 |     @MainActor internal func updatePurchasedIdentifiers(_ productId: ProductId, purchased: Bool) {
     |                              `- note: calls to instance method 'updatePurchasedIdentifiers(_:purchased:)' from outside of its actor context are implicitly asynchronous
 816 |         guard let product = product(from: productId) else { return }
 817 |
/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
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 _SortedCollection.swift
[5/21] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[6/22] Compiling InternalCollectionsUtilities Debugging.swift
[7/22] Compiling InternalCollectionsUtilities Descriptions.swift
[8/22] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[9/22] Compiling InternalCollectionsUtilities Specialize.swift
[10/22] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[11/22] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[12/22] Compiling InternalCollectionsUtilities UInt+reversed.swift
[13/22] Compiling InternalCollectionsUtilities _UnsafeBitSet+Index.swift
[14/22] Compiling InternalCollectionsUtilities Integer rank.swift
[15/22] Compiling InternalCollectionsUtilities UInt+first and last set bit.swift
[16/22] Compiling InternalCollectionsUtilities UnsafeRawPointer extensions.swift
[17/22] Compiling InternalCollectionsUtilities FixedWidthInteger+roundUpToPowerOfTwo.swift
[18/22] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+SE-0370.swift
[19/22] Compiling InternalCollectionsUtilities UnsafeMutablePointer+SE-0370.swift
[20/22] Emitting module InternalCollectionsUtilities
[21/22] Compiling InternalCollectionsUtilities _UnsafeBitSet+_Word.swift
[22/22] Compiling InternalCollectionsUtilities _UnsafeBitSet.swift
[23/78] Compiling OrderedCollections _Hashtable+Header.swift
[24/78] Compiling OrderedCollections OrderedDictionary+Codable.swift
[25/78] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[26/78] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[27/78] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[28/78] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[29/84] Compiling OrderedCollections OrderedSet+Hashable.swift
[30/84] Compiling OrderedCollections OrderedSet+Initializers.swift
[31/84] Compiling OrderedCollections OrderedSet+Insertions.swift
[32/84] Compiling OrderedCollections OrderedSet+Invariants.swift
[33/84] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[34/84] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.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 OrderedSet+Partial SetAlgebra formIntersection.swift
[42/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[43/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[44/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[45/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[46/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[47/84] Compiling OrderedCollections OrderedDictionary+Elements.swift
[48/84] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[49/84] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[50/84] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[51/84] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[52/84] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[53/84] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[54/84] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[55/84] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[56/84] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[57/84] Compiling OrderedCollections OrderedDictionary+Values.swift
[58/84] Compiling OrderedCollections OrderedDictionary.swift
[59/84] Compiling OrderedCollections OrderedSet+Codable.swift
[60/84] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[61/84] Compiling OrderedCollections OrderedSet+Descriptions.swift
[62/84] Compiling OrderedCollections OrderedSet+Diffing.swift
[63/84] Compiling OrderedCollections OrderedSet+Equatable.swift
[64/84] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[65/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[66/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[67/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[68/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[69/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[70/84] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[71/84] Compiling OrderedCollections _HashTable+Bucket.swift
[72/84] Compiling OrderedCollections _HashTable+BucketIterator.swift
[73/84] Compiling OrderedCollections _HashTable+Constants.swift
[74/84] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[75/84] Compiling OrderedCollections _HashTable+Testing.swift
[76/84] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[77/84] Compiling OrderedCollections _HashTable.swift
[78/84] Compiling OrderedCollections OrderedSet+SubSequence.swift
[79/84] Compiling OrderedCollections OrderedSet+Testing.swift
[80/84] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[81/84] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[82/84] Compiling OrderedCollections OrderedSet.swift
[83/84] Compiling OrderedCollections _UnsafeBitset.swift
[84/84] Emitting module OrderedCollections
[85/137] Emitting module StoreHelper
[86/142] Compiling StoreHelper Image-macos.swift
[87/142] Compiling StoreHelper Configuration.swift
[88/142] Compiling StoreHelper PropertyFile.swift
[89/142] Compiling StoreHelper StoreConfiguration.swift
[90/142] Compiling StoreHelper Utils.swift
[91/142] Compiling StoreHelper OptionsViewModel.swift
[92/142] Compiling StoreHelper RedeemOfferCodeView-ios.swift
[93/142] Compiling StoreHelper SheetBarView-ios.swift
[94/142] Compiling StoreHelper Products-macos.swift
[95/142] Compiling StoreHelper SheetBarView-macos.swift
[96/142] Compiling StoreHelper resource_bundle_accessor.swift
[97/142] Compiling StoreHelper ContactUsView.swift
[98/142] Compiling StoreHelper PriceButtonText.swift
[99/142] Compiling StoreHelper PriceButtonTextSubscription.swift
[100/142] Compiling StoreHelper PriceView.swift
[101/142] Compiling StoreHelper ProductInfoView.swift
[102/142] Compiling StoreHelper ProductListView.swift
[103/142] Compiling StoreHelper SubscriptionTransactionInfo.swift
[104/142] Compiling StoreHelper Buttons.swift
[105/142] Compiling StoreHelper Fonts.swift
[106/142] Compiling StoreHelper Images.swift
[107/142] Compiling StoreHelper TapGesture.swift
[108/142] Compiling StoreHelper Image-ios.swift
[109/142] Compiling StoreHelper RestorePurchasesView.swift
[110/142] Compiling StoreHelper StoreErrorView.swift
[111/142] Compiling StoreHelper SubscriptionInfoSheet.swift
[112/142] Compiling StoreHelper SubscriptionInfoView.swift
[113/142] Compiling StoreHelper SubscriptionListViewRow.swift
[114/142] Compiling StoreHelper SubscriptionView.swift
[115/142] Compiling StoreHelper TermsOfServiceView.swift
[116/142] Compiling StoreHelper VersionInfo.swift
[117/142] Compiling StoreHelper Products-ios.swift
[118/142] Compiling StoreHelper PurchaseManagement-ios.swift
[119/142] Compiling StoreHelper ProductListViewRow.swift
[120/142] Compiling StoreHelper ProductView.swift
[121/142] Compiling StoreHelper PurchaseButton.swift
[122/142] Compiling StoreHelper PurchaseInfoSheet.swift
[123/142] Compiling StoreHelper PurchaseInfoView.swift
[124/142] Compiling StoreHelper RefreshProductsView.swift
[125/142] Compiling StoreHelper PriceViewModel.swift
[126/142] Compiling StoreHelper PurchaseInfoViewModel.swift
[127/142] Compiling StoreHelper SubscriptionInfoViewModel.swift
[128/142] Compiling StoreHelper BadgeView.swift
[129/142] Compiling StoreHelper ConsumableBadgeView.swift
[130/142] Compiling StoreHelper ConsumableView.swift
[131/142] Compiling StoreHelper AppGroupSupport.swift
[132/142] Compiling StoreHelper AppStoreHelper.swift
[133/142] Compiling StoreHelper KeychainHelper.swift
[134/142] Compiling StoreHelper PrePurchaseSubscriptionInfo.swift
[135/142] Compiling StoreHelper PurchaseInfo.swift
[136/142] Compiling StoreHelper StoreConstants.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.93s)
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.