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 RevenueCat, reference 5.28.1 (cdfe71), with Swift 6.1 for macOS (SPM) on 11 Jun 2025 21:55:40 UTC.

Swift 6 data race errors: 132

Build Command

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

Build Log

    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
510 |
511 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:521:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type '(() -> Void)?' may have shared mutable state; this is an error in the Swift 6 language mode
519 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
520 | struct RequestedDismissalKey: EnvironmentKey {
521 |     static let defaultValue: (() -> Void)? = nil
    |                |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type '(() -> Void)?' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
522 | }
523 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: call to main actor-isolated instance method 'adaptTemplateView(with:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |
 67 |     @ViewBuilder
 68 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 69 |                     template: PaywallTemplate,
 70 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  `- warning: call to main actor-isolated instance method 'adaptTemplateView(with:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
    :
144 | extension View {
145 |
146 |     func adaptTemplateView(with configuration: TemplateViewConfiguration) -> some View {
    |          `- note: calls to instance method 'adaptTemplateView(with:)' from outside of its actor context are implicitly asynchronous
147 |         self
148 |             .background(configuration.backgroundView)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:77:68: warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 75 |                 .adaptTemplateView(with: configuration)
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
    |                                                                    `- warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 78 |                 }
 79 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Data/TemplateViewConfiguration.swift:21:8: note: consider making struct 'TemplateViewConfiguration' conform to the 'Sendable' protocol
 19 | /// The processed data necessary to render a `TemplateViewType`.
 20 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
 21 | struct TemplateViewConfiguration {
    |        `- note: consider making struct 'TemplateViewConfiguration' conform to the 'Sendable' protocol
 22 |
 23 |     let mode: PaywallViewMode
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:81:13: warning: call to main actor-isolated initializer 'init(_:releaseBehavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |
 67 |     @ViewBuilder
 68 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 69 |                     template: PaywallTemplate,
 70 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 79 |
 80 |         case let .failure(error):
 81 |             DebugErrorView(error, releaseBehavior: .emptyView)
    |             `- warning: call to main actor-isolated initializer 'init(_:releaseBehavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 82 |         }
 83 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Views/DebugErrorView.swift:97:5: note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
 95 | extension DebugErrorView where Content == AnyView {
 96 |
 97 |     init(_ error: Error, releaseBehavior: ReleaseBehavior) {
    |     |- note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'View'
 98 |         self.init(
 99 |             (error as NSError).localizedDescription,
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:126:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
124 |         switch template {
125 |         case .template1:
126 |             Template1View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 |         case .template2:
128 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template1View.swift:38:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 36 |     private var purchaseHandler: PurchaseHandler
 37 |
 38 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 39 |         self.configuration = configuration
 40 |         self.localization = configuration.packages.single.localization
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:128:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
126 |             Template1View(configuration)
127 |         case .template2:
128 |             Template2View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
129 |         case .template3:
130 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template2View.swift:43:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 41 |     private var purchaseHandler: PurchaseHandler
 42 |
 43 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 44 |         self._selectedPackage = .init(initialValue: configuration.packages.default)
 45 |         self.configuration = configuration
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:130:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
128 |             Template2View(configuration)
129 |         case .template3:
130 |             Template3View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
131 |         case .template4:
132 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template3View.swift:41:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 39 |     private var namespace
 40 |
 41 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 42 |         self.configuration = configuration
 43 |         self.localization = configuration.packages.single.localization
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:132:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
130 |             Template3View(configuration)
131 |         case .template4:
132 |             Template4View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |         case .template5:
134 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template4View.swift:49:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 47 |     private var purchaseHandler: PurchaseHandler
 48 |
 49 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 50 |         self.configuration = configuration
 51 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:134:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
132 |             Template4View(configuration)
133 |         case .template5:
134 |             Template5View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
135 |         case .template7:
136 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template5View.swift:48:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 46 |     private var purchaseHandler: PurchaseHandler
 47 |
 48 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 49 |         self._selectedPackage = .init(initialValue: configuration.packages.default)
 50 |         self.configuration = configuration
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:136:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
134 |             Template5View(configuration)
135 |         case .template7:
136 |             Template7View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
137 |         }
138 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template7View.swift:64:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 62 |     }
 63 |
 64 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 65 |         guard let (firstTier, allTiers, tierNames) = configuration.packages.multiTier else {
 66 |             fatalError("Attempted to display a multi-tier template with invalid data: \(configuration.packages)")
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:243:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
241 |         switch self.purchases.purchasesAreCompletedBy {
242 |         case .revenueCat:
243 |             return try await performRestorePurchases()
    |                              |- 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 'performRestorePurchases()' risks causing data races between main actor-isolated and task-isolated uses
244 |         case .myApp:
245 |             return try await performExternalRestoreLogic()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:245:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
243 |             return try await performRestorePurchases()
244 |         case .myApp:
245 |             return try await performExternalRestoreLogic()
    |                              |- 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 'performExternalRestoreLogic()' risks causing data races between main actor-isolated and task-isolated uses
246 |         }
247 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:126:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
124 |         switch template {
125 |         case .template1:
126 |             Template1View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 |         case .template2:
128 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:128:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
126 |             Template1View(configuration)
127 |         case .template2:
128 |             Template2View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
129 |         case .template3:
130 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:130:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
128 |             Template2View(configuration)
129 |         case .template3:
130 |             Template3View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
131 |         case .template4:
132 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:132:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
130 |             Template3View(configuration)
131 |         case .template4:
132 |             Template4View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
133 |         case .template5:
134 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:134:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
132 |             Template4View(configuration)
133 |         case .template5:
134 |             Template5View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
135 |         case .template7:
136 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:136:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
134 |             Template5View(configuration)
135 |         case .template7:
136 |             Template7View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
137 |         }
138 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                  `- note: sending task-isolated 'configuration' to main actor-isolated instance method 'adaptTemplateView(with:)' risks causing data races between main actor-isolated and task-isolated uses
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  |- warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
    |                  `- note: sending task-isolated value of non-Sendable type 'some View' to main actor-isolated instance method 'adaptTemplateView(with:)' risks causing races in between task-isolated and main actor-isolated uses
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
[985/987] Compiling RevenueCatUI ButtonComponentView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:400:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
398 | private struct ViewWidthPreferenceKey: ViewDimensionPreferenceKey {
399 |
400 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
401 |
402 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:407:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
405 | private struct ViewHeightPreferenceKey: ViewDimensionPreferenceKey {
406 |
407 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
408 |
409 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:416:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
414 |     typealias Value = CGSize
415 |
416 |     static var defaultValue: Value = .init(width: 10, height: 10)
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
417 |
418 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:87:23: warning: capture of 'purchase' with non-sendable type '(@escaping MockPurchases.PurchaseBlock) -> MockPurchases.PurchaseBlock' (aka '(@escaping @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)) -> @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 85 |     ) -> PaywallPurchasesType {
 86 |         return MockPurchases { package in
 87 |             try await purchase(self.purchase(package:))(package)
    |                       |- warning: capture of 'purchase' with non-sendable type '(@escaping MockPurchases.PurchaseBlock) -> MockPurchases.PurchaseBlock' (aka '(@escaping @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)) -> @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 88 |         } restorePurchases: {
 89 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:89:23: warning: capture of 'restore' with non-sendable type '(@escaping MockPurchases.RestoreBlock) -> MockPurchases.RestoreBlock' (aka '(@escaping @Sendable () async throws -> CustomerInfo) -> @Sendable () async throws -> CustomerInfo') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 87 |             try await purchase(self.purchase(package:))(package)
 88 |         } restorePurchases: {
 89 |             try await restore(self.restorePurchases)()
    |                       |- warning: capture of 'restore' with non-sendable type '(@escaping MockPurchases.RestoreBlock) -> MockPurchases.RestoreBlock' (aka '(@escaping @Sendable () async throws -> CustomerInfo) -> @Sendable () async throws -> CustomerInfo') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 90 |         } trackEvent: { event in
 91 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:106:19: warning: capture of 'trackEvent' with non-sendable type '(@escaping MockPurchases.TrackEventBlock) -> MockPurchases.TrackEventBlock' (aka '(@escaping @Sendable (PaywallEvent) async -> ()) -> @Sendable (PaywallEvent) async -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
104 |             try await self.restorePurchases()
105 |         } trackEvent: { event in
106 |             await trackEvent(self.track(paywallEvent:))(event)
    |                   |- warning: capture of 'trackEvent' with non-sendable type '(@escaping MockPurchases.TrackEventBlock) -> MockPurchases.TrackEventBlock' (aka '(@escaping @Sendable (PaywallEvent) async -> ()) -> @Sendable (PaywallEvent) async -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
107 |         } customerInfo: {
108 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:437:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
435 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
436 |
437 |     static var defaultValue: Package?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
438 |
439 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:448:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
446 | struct RestoreInProgressPreferenceKey: PreferenceKey {
447 |
448 |     static var defaultValue: Bool = false
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
449 |
450 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:476:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
474 |     }
475 |
476 |     static var defaultValue: PurchaseResult?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
477 |
478 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:487:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
485 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
486 |
487 |     static var defaultValue: CustomerInfo?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
488 |
489 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:498:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
496 | struct PurchaseErrorPreferenceKey: PreferenceKey {
497 |
498 |     static var defaultValue: NSError?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
499 |
500 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:509:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
507 | struct RestoreErrorPreferenceKey: PreferenceKey {
508 |
509 |     static var defaultValue: NSError?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
510 |
511 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:521:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type '(() -> Void)?' may have shared mutable state; this is an error in the Swift 6 language mode
519 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
520 | struct RequestedDismissalKey: EnvironmentKey {
521 |     static let defaultValue: (() -> Void)? = nil
    |                |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type '(() -> Void)?' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
522 | }
523 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: call to main actor-isolated instance method 'adaptTemplateView(with:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |
 67 |     @ViewBuilder
 68 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 69 |                     template: PaywallTemplate,
 70 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  `- warning: call to main actor-isolated instance method 'adaptTemplateView(with:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
    :
144 | extension View {
145 |
146 |     func adaptTemplateView(with configuration: TemplateViewConfiguration) -> some View {
    |          `- note: calls to instance method 'adaptTemplateView(with:)' from outside of its actor context are implicitly asynchronous
147 |         self
148 |             .background(configuration.backgroundView)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:77:68: warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 75 |                 .adaptTemplateView(with: configuration)
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
    |                                                                    `- warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 78 |                 }
 79 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Data/TemplateViewConfiguration.swift:21:8: note: consider making struct 'TemplateViewConfiguration' conform to the 'Sendable' protocol
 19 | /// The processed data necessary to render a `TemplateViewType`.
 20 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
 21 | struct TemplateViewConfiguration {
    |        `- note: consider making struct 'TemplateViewConfiguration' conform to the 'Sendable' protocol
 22 |
 23 |     let mode: PaywallViewMode
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:81:13: warning: call to main actor-isolated initializer 'init(_:releaseBehavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |
 67 |     @ViewBuilder
 68 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 69 |                     template: PaywallTemplate,
 70 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 79 |
 80 |         case let .failure(error):
 81 |             DebugErrorView(error, releaseBehavior: .emptyView)
    |             `- warning: call to main actor-isolated initializer 'init(_:releaseBehavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 82 |         }
 83 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Views/DebugErrorView.swift:97:5: note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
 95 | extension DebugErrorView where Content == AnyView {
 96 |
 97 |     init(_ error: Error, releaseBehavior: ReleaseBehavior) {
    |     |- note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'View'
 98 |         self.init(
 99 |             (error as NSError).localizedDescription,
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:126:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
124 |         switch template {
125 |         case .template1:
126 |             Template1View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 |         case .template2:
128 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template1View.swift:38:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 36 |     private var purchaseHandler: PurchaseHandler
 37 |
 38 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 39 |         self.configuration = configuration
 40 |         self.localization = configuration.packages.single.localization
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:128:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
126 |             Template1View(configuration)
127 |         case .template2:
128 |             Template2View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
129 |         case .template3:
130 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template2View.swift:43:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 41 |     private var purchaseHandler: PurchaseHandler
 42 |
 43 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 44 |         self._selectedPackage = .init(initialValue: configuration.packages.default)
 45 |         self.configuration = configuration
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:130:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
128 |             Template2View(configuration)
129 |         case .template3:
130 |             Template3View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
131 |         case .template4:
132 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template3View.swift:41:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 39 |     private var namespace
 40 |
 41 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 42 |         self.configuration = configuration
 43 |         self.localization = configuration.packages.single.localization
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:132:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
130 |             Template3View(configuration)
131 |         case .template4:
132 |             Template4View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |         case .template5:
134 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template4View.swift:49:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 47 |     private var purchaseHandler: PurchaseHandler
 48 |
 49 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 50 |         self.configuration = configuration
 51 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:134:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
132 |             Template4View(configuration)
133 |         case .template5:
134 |             Template5View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
135 |         case .template7:
136 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template5View.swift:48:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 46 |     private var purchaseHandler: PurchaseHandler
 47 |
 48 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 49 |         self._selectedPackage = .init(initialValue: configuration.packages.default)
 50 |         self.configuration = configuration
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:136:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
134 |             Template5View(configuration)
135 |         case .template7:
136 |             Template7View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
137 |         }
138 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template7View.swift:64:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 62 |     }
 63 |
 64 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 65 |         guard let (firstTier, allTiers, tierNames) = configuration.packages.multiTier else {
 66 |             fatalError("Attempted to display a multi-tier template with invalid data: \(configuration.packages)")
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:243:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
241 |         switch self.purchases.purchasesAreCompletedBy {
242 |         case .revenueCat:
243 |             return try await performRestorePurchases()
    |                              |- 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 'performRestorePurchases()' risks causing data races between main actor-isolated and task-isolated uses
244 |         case .myApp:
245 |             return try await performExternalRestoreLogic()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:245:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
243 |             return try await performRestorePurchases()
244 |         case .myApp:
245 |             return try await performExternalRestoreLogic()
    |                              |- 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 'performExternalRestoreLogic()' risks causing data races between main actor-isolated and task-isolated uses
246 |         }
247 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:126:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
124 |         switch template {
125 |         case .template1:
126 |             Template1View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 |         case .template2:
128 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:128:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
126 |             Template1View(configuration)
127 |         case .template2:
128 |             Template2View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
129 |         case .template3:
130 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:130:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
128 |             Template2View(configuration)
129 |         case .template3:
130 |             Template3View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
131 |         case .template4:
132 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:132:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
130 |             Template3View(configuration)
131 |         case .template4:
132 |             Template4View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
133 |         case .template5:
134 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:134:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
132 |             Template4View(configuration)
133 |         case .template5:
134 |             Template5View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
135 |         case .template7:
136 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:136:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
134 |             Template5View(configuration)
135 |         case .template7:
136 |             Template7View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
137 |         }
138 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                  `- note: sending task-isolated 'configuration' to main actor-isolated instance method 'adaptTemplateView(with:)' risks causing data races between main actor-isolated and task-isolated uses
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  |- warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
    |                  `- note: sending task-isolated value of non-Sendable type 'some View' to main actor-isolated instance method 'adaptTemplateView(with:)' risks causing races in between task-isolated and main actor-isolated uses
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
[986/987] Compiling RevenueCatUI ButtonComponentViewModel.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:400:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
398 | private struct ViewWidthPreferenceKey: ViewDimensionPreferenceKey {
399 |
400 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
401 |
402 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:407:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
405 | private struct ViewHeightPreferenceKey: ViewDimensionPreferenceKey {
406 |
407 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
408 |
409 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:416:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
414 |     typealias Value = CGSize
415 |
416 |     static var defaultValue: Value = .init(width: 10, height: 10)
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
417 |
418 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:87:23: warning: capture of 'purchase' with non-sendable type '(@escaping MockPurchases.PurchaseBlock) -> MockPurchases.PurchaseBlock' (aka '(@escaping @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)) -> @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 85 |     ) -> PaywallPurchasesType {
 86 |         return MockPurchases { package in
 87 |             try await purchase(self.purchase(package:))(package)
    |                       |- warning: capture of 'purchase' with non-sendable type '(@escaping MockPurchases.PurchaseBlock) -> MockPurchases.PurchaseBlock' (aka '(@escaping @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)) -> @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 88 |         } restorePurchases: {
 89 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:89:23: warning: capture of 'restore' with non-sendable type '(@escaping MockPurchases.RestoreBlock) -> MockPurchases.RestoreBlock' (aka '(@escaping @Sendable () async throws -> CustomerInfo) -> @Sendable () async throws -> CustomerInfo') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 87 |             try await purchase(self.purchase(package:))(package)
 88 |         } restorePurchases: {
 89 |             try await restore(self.restorePurchases)()
    |                       |- warning: capture of 'restore' with non-sendable type '(@escaping MockPurchases.RestoreBlock) -> MockPurchases.RestoreBlock' (aka '(@escaping @Sendable () async throws -> CustomerInfo) -> @Sendable () async throws -> CustomerInfo') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 90 |         } trackEvent: { event in
 91 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:106:19: warning: capture of 'trackEvent' with non-sendable type '(@escaping MockPurchases.TrackEventBlock) -> MockPurchases.TrackEventBlock' (aka '(@escaping @Sendable (PaywallEvent) async -> ()) -> @Sendable (PaywallEvent) async -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
104 |             try await self.restorePurchases()
105 |         } trackEvent: { event in
106 |             await trackEvent(self.track(paywallEvent:))(event)
    |                   |- warning: capture of 'trackEvent' with non-sendable type '(@escaping MockPurchases.TrackEventBlock) -> MockPurchases.TrackEventBlock' (aka '(@escaping @Sendable (PaywallEvent) async -> ()) -> @Sendable (PaywallEvent) async -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
107 |         } customerInfo: {
108 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:437:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
435 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
436 |
437 |     static var defaultValue: Package?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
438 |
439 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:448:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
446 | struct RestoreInProgressPreferenceKey: PreferenceKey {
447 |
448 |     static var defaultValue: Bool = false
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
449 |
450 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:476:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
474 |     }
475 |
476 |     static var defaultValue: PurchaseResult?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
477 |
478 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:487:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
485 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
486 |
487 |     static var defaultValue: CustomerInfo?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
488 |
489 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:498:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
496 | struct PurchaseErrorPreferenceKey: PreferenceKey {
497 |
498 |     static var defaultValue: NSError?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
499 |
500 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:509:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
507 | struct RestoreErrorPreferenceKey: PreferenceKey {
508 |
509 |     static var defaultValue: NSError?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
510 |
511 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:521:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type '(() -> Void)?' may have shared mutable state; this is an error in the Swift 6 language mode
519 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
520 | struct RequestedDismissalKey: EnvironmentKey {
521 |     static let defaultValue: (() -> Void)? = nil
    |                |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type '(() -> Void)?' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
522 | }
523 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: call to main actor-isolated instance method 'adaptTemplateView(with:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |
 67 |     @ViewBuilder
 68 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 69 |                     template: PaywallTemplate,
 70 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  `- warning: call to main actor-isolated instance method 'adaptTemplateView(with:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
    :
144 | extension View {
145 |
146 |     func adaptTemplateView(with configuration: TemplateViewConfiguration) -> some View {
    |          `- note: calls to instance method 'adaptTemplateView(with:)' from outside of its actor context are implicitly asynchronous
147 |         self
148 |             .background(configuration.backgroundView)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:77:68: warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 75 |                 .adaptTemplateView(with: configuration)
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
    |                                                                    `- warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 78 |                 }
 79 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Data/TemplateViewConfiguration.swift:21:8: note: consider making struct 'TemplateViewConfiguration' conform to the 'Sendable' protocol
 19 | /// The processed data necessary to render a `TemplateViewType`.
 20 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
 21 | struct TemplateViewConfiguration {
    |        `- note: consider making struct 'TemplateViewConfiguration' conform to the 'Sendable' protocol
 22 |
 23 |     let mode: PaywallViewMode
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:81:13: warning: call to main actor-isolated initializer 'init(_:releaseBehavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |
 67 |     @ViewBuilder
 68 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 69 |                     template: PaywallTemplate,
 70 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 79 |
 80 |         case let .failure(error):
 81 |             DebugErrorView(error, releaseBehavior: .emptyView)
    |             `- warning: call to main actor-isolated initializer 'init(_:releaseBehavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 82 |         }
 83 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Views/DebugErrorView.swift:97:5: note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
 95 | extension DebugErrorView where Content == AnyView {
 96 |
 97 |     init(_ error: Error, releaseBehavior: ReleaseBehavior) {
    |     |- note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'View'
 98 |         self.init(
 99 |             (error as NSError).localizedDescription,
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:126:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
124 |         switch template {
125 |         case .template1:
126 |             Template1View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 |         case .template2:
128 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template1View.swift:38:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 36 |     private var purchaseHandler: PurchaseHandler
 37 |
 38 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 39 |         self.configuration = configuration
 40 |         self.localization = configuration.packages.single.localization
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:128:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
126 |             Template1View(configuration)
127 |         case .template2:
128 |             Template2View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
129 |         case .template3:
130 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template2View.swift:43:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 41 |     private var purchaseHandler: PurchaseHandler
 42 |
 43 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 44 |         self._selectedPackage = .init(initialValue: configuration.packages.default)
 45 |         self.configuration = configuration
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:130:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
128 |             Template2View(configuration)
129 |         case .template3:
130 |             Template3View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
131 |         case .template4:
132 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template3View.swift:41:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 39 |     private var namespace
 40 |
 41 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 42 |         self.configuration = configuration
 43 |         self.localization = configuration.packages.single.localization
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:132:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
130 |             Template3View(configuration)
131 |         case .template4:
132 |             Template4View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |         case .template5:
134 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template4View.swift:49:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 47 |     private var purchaseHandler: PurchaseHandler
 48 |
 49 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 50 |         self.configuration = configuration
 51 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:134:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
132 |             Template4View(configuration)
133 |         case .template5:
134 |             Template5View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
135 |         case .template7:
136 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template5View.swift:48:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 46 |     private var purchaseHandler: PurchaseHandler
 47 |
 48 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 49 |         self._selectedPackage = .init(initialValue: configuration.packages.default)
 50 |         self.configuration = configuration
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:136:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
134 |             Template5View(configuration)
135 |         case .template7:
136 |             Template7View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
137 |         }
138 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template7View.swift:64:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 62 |     }
 63 |
 64 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 65 |         guard let (firstTier, allTiers, tierNames) = configuration.packages.multiTier else {
 66 |             fatalError("Attempted to display a multi-tier template with invalid data: \(configuration.packages)")
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:243:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
241 |         switch self.purchases.purchasesAreCompletedBy {
242 |         case .revenueCat:
243 |             return try await performRestorePurchases()
    |                              |- 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 'performRestorePurchases()' risks causing data races between main actor-isolated and task-isolated uses
244 |         case .myApp:
245 |             return try await performExternalRestoreLogic()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:245:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
243 |             return try await performRestorePurchases()
244 |         case .myApp:
245 |             return try await performExternalRestoreLogic()
    |                              |- 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 'performExternalRestoreLogic()' risks causing data races between main actor-isolated and task-isolated uses
246 |         }
247 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:126:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
124 |         switch template {
125 |         case .template1:
126 |             Template1View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 |         case .template2:
128 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:128:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
126 |             Template1View(configuration)
127 |         case .template2:
128 |             Template2View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
129 |         case .template3:
130 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:130:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
128 |             Template2View(configuration)
129 |         case .template3:
130 |             Template3View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
131 |         case .template4:
132 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:132:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
130 |             Template3View(configuration)
131 |         case .template4:
132 |             Template4View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
133 |         case .template5:
134 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:134:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
132 |             Template4View(configuration)
133 |         case .template5:
134 |             Template5View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
135 |         case .template7:
136 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:136:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
134 |             Template5View(configuration)
135 |         case .template7:
136 |             Template7View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
137 |         }
138 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                  `- note: sending task-isolated 'configuration' to main actor-isolated instance method 'adaptTemplateView(with:)' risks causing data races between main actor-isolated and task-isolated uses
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  |- warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
    |                  `- note: sending task-isolated value of non-Sendable type 'some View' to main actor-isolated instance method 'adaptTemplateView(with:)' risks causing races in between task-isolated and main actor-isolated uses
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
[987/987] Compiling RevenueCatUI CarouselComponentView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:400:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
398 | private struct ViewWidthPreferenceKey: ViewDimensionPreferenceKey {
399 |
400 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
401 |
402 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:407:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
405 | private struct ViewHeightPreferenceKey: ViewDimensionPreferenceKey {
406 |
407 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
408 |
409 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:416:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
414 |     typealias Value = CGSize
415 |
416 |     static var defaultValue: Value = .init(width: 10, height: 10)
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
417 |
418 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:87:23: warning: capture of 'purchase' with non-sendable type '(@escaping MockPurchases.PurchaseBlock) -> MockPurchases.PurchaseBlock' (aka '(@escaping @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)) -> @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 85 |     ) -> PaywallPurchasesType {
 86 |         return MockPurchases { package in
 87 |             try await purchase(self.purchase(package:))(package)
    |                       |- warning: capture of 'purchase' with non-sendable type '(@escaping MockPurchases.PurchaseBlock) -> MockPurchases.PurchaseBlock' (aka '(@escaping @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)) -> @Sendable (Package) async throws -> (transaction: Optional<StoreTransaction>, customerInfo: CustomerInfo, userCancelled: Bool)') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 88 |         } restorePurchases: {
 89 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:89:23: warning: capture of 'restore' with non-sendable type '(@escaping MockPurchases.RestoreBlock) -> MockPurchases.RestoreBlock' (aka '(@escaping @Sendable () async throws -> CustomerInfo) -> @Sendable () async throws -> CustomerInfo') in a '@Sendable' closure; this is an error in the Swift 6 language mode
 87 |             try await purchase(self.purchase(package:))(package)
 88 |         } restorePurchases: {
 89 |             try await restore(self.restorePurchases)()
    |                       |- warning: capture of 'restore' with non-sendable type '(@escaping MockPurchases.RestoreBlock) -> MockPurchases.RestoreBlock' (aka '(@escaping @Sendable () async throws -> CustomerInfo) -> @Sendable () async throws -> CustomerInfo') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 90 |         } trackEvent: { event in
 91 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:106:19: warning: capture of 'trackEvent' with non-sendable type '(@escaping MockPurchases.TrackEventBlock) -> MockPurchases.TrackEventBlock' (aka '(@escaping @Sendable (PaywallEvent) async -> ()) -> @Sendable (PaywallEvent) async -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
104 |             try await self.restorePurchases()
105 |         } trackEvent: { event in
106 |             await trackEvent(self.track(paywallEvent:))(event)
    |                   |- warning: capture of 'trackEvent' with non-sendable type '(@escaping MockPurchases.TrackEventBlock) -> MockPurchases.TrackEventBlock' (aka '(@escaping @Sendable (PaywallEvent) async -> ()) -> @Sendable (PaywallEvent) async -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
107 |         } customerInfo: {
108 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:437:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
435 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
436 |
437 |     static var defaultValue: Package?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
438 |
439 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:448:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
446 | struct RestoreInProgressPreferenceKey: PreferenceKey {
447 |
448 |     static var defaultValue: Bool = false
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
449 |
450 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:476:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
474 |     }
475 |
476 |     static var defaultValue: PurchaseResult?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
477 |
478 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:487:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
485 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
486 |
487 |     static var defaultValue: CustomerInfo?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
488 |
489 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:498:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
496 | struct PurchaseErrorPreferenceKey: PreferenceKey {
497 |
498 |     static var defaultValue: NSError?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
499 |
500 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:509:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
507 | struct RestoreErrorPreferenceKey: PreferenceKey {
508 |
509 |     static var defaultValue: NSError?
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
510 |
511 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:521:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type '(() -> Void)?' may have shared mutable state; this is an error in the Swift 6 language mode
519 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
520 | struct RequestedDismissalKey: EnvironmentKey {
521 |     static let defaultValue: (() -> Void)? = nil
    |                |- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type '(() -> Void)?' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
522 | }
523 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: call to main actor-isolated instance method 'adaptTemplateView(with:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |
 67 |     @ViewBuilder
 68 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 69 |                     template: PaywallTemplate,
 70 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  `- warning: call to main actor-isolated instance method 'adaptTemplateView(with:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
    :
144 | extension View {
145 |
146 |     func adaptTemplateView(with configuration: TemplateViewConfiguration) -> some View {
    |          `- note: calls to instance method 'adaptTemplateView(with:)' from outside of its actor context are implicitly asynchronous
147 |         self
148 |             .background(configuration.backgroundView)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:77:68: warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 75 |                 .adaptTemplateView(with: configuration)
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
    |                                                                    `- warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 78 |                 }
 79 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Data/TemplateViewConfiguration.swift:21:8: note: consider making struct 'TemplateViewConfiguration' conform to the 'Sendable' protocol
 19 | /// The processed data necessary to render a `TemplateViewType`.
 20 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
 21 | struct TemplateViewConfiguration {
    |        `- note: consider making struct 'TemplateViewConfiguration' conform to the 'Sendable' protocol
 22 |
 23 |     let mode: PaywallViewMode
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:81:13: warning: call to main actor-isolated initializer 'init(_:releaseBehavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 66 |
 67 |     @ViewBuilder
 68 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 69 |                     template: PaywallTemplate,
 70 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 79 |
 80 |         case let .failure(error):
 81 |             DebugErrorView(error, releaseBehavior: .emptyView)
    |             `- warning: call to main actor-isolated initializer 'init(_:releaseBehavior:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 82 |         }
 83 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Views/DebugErrorView.swift:97:5: note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
 95 | extension DebugErrorView where Content == AnyView {
 96 |
 97 |     init(_ error: Error, releaseBehavior: ReleaseBehavior) {
    |     |- note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'View'
 98 |         self.init(
 99 |             (error as NSError).localizedDescription,
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:126:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
124 |         switch template {
125 |         case .template1:
126 |             Template1View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 |         case .template2:
128 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template1View.swift:38:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 36 |     private var purchaseHandler: PurchaseHandler
 37 |
 38 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 39 |         self.configuration = configuration
 40 |         self.localization = configuration.packages.single.localization
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:128:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
126 |             Template1View(configuration)
127 |         case .template2:
128 |             Template2View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
129 |         case .template3:
130 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template2View.swift:43:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 41 |     private var purchaseHandler: PurchaseHandler
 42 |
 43 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 44 |         self._selectedPackage = .init(initialValue: configuration.packages.default)
 45 |         self.configuration = configuration
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:130:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
128 |             Template2View(configuration)
129 |         case .template3:
130 |             Template3View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
131 |         case .template4:
132 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template3View.swift:41:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 39 |     private var namespace
 40 |
 41 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 42 |         self.configuration = configuration
 43 |         self.localization = configuration.packages.single.localization
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:132:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
130 |             Template3View(configuration)
131 |         case .template4:
132 |             Template4View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |         case .template5:
134 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template4View.swift:49:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 47 |     private var purchaseHandler: PurchaseHandler
 48 |
 49 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 50 |         self.configuration = configuration
 51 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:134:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
132 |             Template4View(configuration)
133 |         case .template5:
134 |             Template5View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
135 |         case .template7:
136 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template5View.swift:48:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 46 |     private var purchaseHandler: PurchaseHandler
 47 |
 48 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 49 |         self._selectedPackage = .init(initialValue: configuration.packages.default)
 50 |         self.configuration = configuration
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:136:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
117 |
118 |     @ViewBuilder
119 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
120 |                                    configuration: TemplateViewConfiguration) -> some View {
121 |         #if os(watchOS)
    :
134 |             Template5View(configuration)
135 |         case .template7:
136 |             Template7View(configuration)
    |             `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
137 |         }
138 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/Template7View.swift:64:5: note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
 62 |     }
 63 |
 64 |     init(_ configuration: TemplateViewConfiguration) {
    |     |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
    |     `- note: main actor isolation inferred from conformance to protocol 'TemplateViewType'
 65 |         guard let (firstTier, allTiers, tierNames) = configuration.packages.multiTier else {
 66 |             fatalError("Attempted to display a multi-tier template with invalid data: \(configuration.packages)")
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:243:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
241 |         switch self.purchases.purchasesAreCompletedBy {
242 |         case .revenueCat:
243 |             return try await performRestorePurchases()
    |                              |- 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 'performRestorePurchases()' risks causing data races between main actor-isolated and task-isolated uses
244 |         case .myApp:
245 |             return try await performExternalRestoreLogic()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:245:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
243 |             return try await performRestorePurchases()
244 |         case .myApp:
245 |             return try await performExternalRestoreLogic()
    |                              |- 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 'performExternalRestoreLogic()' risks causing data races between main actor-isolated and task-isolated uses
246 |         }
247 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:126:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
124 |         switch template {
125 |         case .template1:
126 |             Template1View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
127 |         case .template2:
128 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:128:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
126 |             Template1View(configuration)
127 |         case .template2:
128 |             Template2View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
129 |         case .template3:
130 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:130:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
128 |             Template2View(configuration)
129 |         case .template3:
130 |             Template3View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
131 |         case .template4:
132 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:132:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
130 |             Template3View(configuration)
131 |         case .template4:
132 |             Template4View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
133 |         case .template5:
134 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:134:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
132 |             Template4View(configuration)
133 |         case .template5:
134 |             Template5View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
135 |         case .template7:
136 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:136:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
134 |             Template5View(configuration)
135 |         case .template7:
136 |             Template7View(configuration)
    |             |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: sending task-isolated 'configuration' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
137 |         }
138 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  |- warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
    |                  `- note: sending task-isolated 'configuration' to main actor-isolated instance method 'adaptTemplateView(with:)' risks causing data races between main actor-isolated and task-isolated uses
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:75:18: warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
 73 |         case let .success(configuration):
 74 |             Self.createView(template: template, configuration: configuration)
 75 |                 .adaptTemplateView(with: configuration)
    |                  |- warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
    |                  `- note: sending task-isolated value of non-Sendable type 'some View' to main actor-isolated instance method 'adaptTemplateView(with:)' risks causing races in between task-isolated and main actor-isolated uses
 76 |                 .task(id: offering) {
 77 |                     await introEligibility.computeEligibility(for: configuration.packages)
Build complete! (28.93s)
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Templates/__Snapshots__': File not found.
warning: 'spi-builder-workspace': ignoring broken symlink /Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/PaywallsV2/__PreviewResources__
warning: 'spi-builder-workspace': Invalid Resource 'PaywallsV2/__PreviewResources__': File not found.
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/RevenueCatUI/RevenueCatUIDev.xctestplan
warning: 'nimble': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/nimble/Sources/Nimble/PrivacyInfo.xcprivacy
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
    {
      "identity" : "nimble",
      "requirement" : {
        "exact" : [
          "13.7.1"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/quick/nimble"
    },
    {
      "identity" : "swift-snapshot-testing",
      "requirement" : {
        "revision" : [
          "26ed3a2b4a2df47917ca9b790a57f91285b923fb"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-snapshot-testing"
    }
  ],
  "manifest_display_name" : "RevenueCat",
  "name" : "RevenueCat",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "watchos",
      "version" : "6.2"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "RevenueCat",
      "targets" : [
        "RevenueCat"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RevenueCat_CustomEntitlementComputation",
      "targets" : [
        "RevenueCat_CustomEntitlementComputation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ReceiptParser",
      "targets" : [
        "ReceiptParser"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RevenueCatUI",
      "targets" : [
        "RevenueCatUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RevenueCat_CustomEntitlementComputation",
      "module_type" : "SwiftTarget",
      "name" : "RevenueCat_CustomEntitlementComputation",
      "path" : "CustomEntitlementComputation",
      "product_memberships" : [
        "RevenueCat_CustomEntitlementComputation"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/CustomEntitlementComputation/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Attribution/ASIdManagerProxy.swift",
        "Attribution/AttributionData.swift",
        "Attribution/AttributionFetcher.swift",
        "Attribution/AttributionNetwork.swift",
        "Attribution/AttributionPoster.swift",
        "Attribution/AttributionTypeFactory.swift",
        "Attribution/TrackingManagerProxy.swift",
        "Caching/CacheStatus.swift",
        "Caching/DeviceCache.swift",
        "Caching/InMemoryCachedObject.swift",
        "CodableExtensions/PeriodType+Extensions.swift",
        "CodableExtensions/PurchaseOwnershipType+Extensions.swift",
        "CodableExtensions/Store+Extensions.swift",
        "CustomerCenter/CustomerCenterConfigData.swift",
        "CustomerCenter/CustomerCenterPresentationMode.swift",
        "CustomerCenter/Events/CustomerCenterEvent.swift",
        "CustomerCenter/Events/EventsRequest+CustomerCenter.swift",
        "DeepLink/DeepLinkParser.swift",
        "Diagnostics/DiagnosticsEvent.swift",
        "Diagnostics/DiagnosticsFileHandler.swift",
        "Diagnostics/DiagnosticsTracker.swift",
        "Diagnostics/FileHandler.swift",
        "Diagnostics/Networking/DiagnosticsEventsRequest.swift",
        "Diagnostics/Networking/DiagnosticsHTTPRequestPath.swift",
        "Diagnostics/Networking/DiagnosticsPostOperation.swift",
        "Diagnostics/Networking/DiagnosticsSynchronizer.swift",
        "DocCDocumentation/EmptyFile.swift",
        "Error Handling/Assertions.swift",
        "Error Handling/BackendError.swift",
        "Error Handling/BackendErrorCode.swift",
        "Error Handling/DescribableError.swift",
        "Error Handling/ErrorCode.swift",
        "Error Handling/ErrorDetails.swift",
        "Error Handling/ErrorUtils.swift",
        "Error Handling/PurchasesError.swift",
        "Error Handling/SKError+Extensions.swift",
        "Error Handling/StoreKitError+Extensions.swift",
        "Error Handling/StoreKitErrorHelper.swift",
        "Events/FeatureEvent.swift",
        "Events/Networking/EventsRequest.swift",
        "Events/StoredEvent.swift",
        "Events/StoredEventSerializer.swift",
        "FoundationExtensions/Array+Extensions.swift",
        "FoundationExtensions/AsyncExtensions.swift",
        "FoundationExtensions/Data+Extensions.swift",
        "FoundationExtensions/Date+Extensions.swift",
        "FoundationExtensions/Decoder+Extensions.swift",
        "FoundationExtensions/Dictionary+Extensions.swift",
        "FoundationExtensions/DispatchTimeInterval+Extensions.swift",
        "FoundationExtensions/Error+Extensions.swift",
        "FoundationExtensions/Integer+Extensions.swift",
        "FoundationExtensions/Locale+Extensions.swift",
        "FoundationExtensions/OperationQueue+Extensions.swift",
        "FoundationExtensions/Operators+Extensions.swift",
        "FoundationExtensions/Optional+Extensions.swift",
        "FoundationExtensions/Result+Extensions.swift",
        "FoundationExtensions/Set+Extensions.swift",
        "FoundationExtensions/String+Extensions.swift",
        "FoundationExtensions/TimeInterval+Extensions.swift",
        "FoundationExtensions/UIApplication+RCExtensions.swift",
        "FoundationExtensions/UserDefaults+Extensions.swift",
        "Identity/CustomerInfo+ActiveDates.swift",
        "Identity/CustomerInfo+NonSubscriptions.swift",
        "Identity/CustomerInfo.swift",
        "Identity/CustomerInfoManager.swift",
        "Identity/IdentityManager.swift",
        "Identity/ProductPaidPrice.swift",
        "Identity/SubscriptionInfo.swift",
        "LocalReceiptParsing/BasicTypes/ASN1Container.swift",
        "LocalReceiptParsing/BasicTypes/ASN1ObjectIdentifier.swift",
        "LocalReceiptParsing/BasicTypes/AppleReceipt.swift",
        "LocalReceiptParsing/BasicTypes/InAppPurchase.swift",
        "LocalReceiptParsing/Builders/ASN1ContainerBuilder.swift",
        "LocalReceiptParsing/Builders/ASN1ObjectIdentifierBuilder.swift",
        "LocalReceiptParsing/Builders/AppleReceiptBuilder.swift",
        "LocalReceiptParsing/Builders/InAppPurchaseBuilder.swift",
        "LocalReceiptParsing/DataConverters/ArraySlice_UInt8+Extensions.swift",
        "LocalReceiptParsing/DataConverters/Codable+Extensions.swift",
        "LocalReceiptParsing/DataConverters/DateFormatter+Extensions.swift",
        "LocalReceiptParsing/DataConverters/UInt8+Extensions.swift",
        "LocalReceiptParsing/Helpers/FileReader.swift",
        "LocalReceiptParsing/Helpers/LoggerType.swift",
        "LocalReceiptParsing/Helpers/ProcessInfo+Extensions.swift",
        "LocalReceiptParsing/Helpers/ReceiptParserLogger.swift",
        "LocalReceiptParsing/Helpers/ReceiptStrings.swift",
        "LocalReceiptParsing/LocalReceiptFetcher.swift",
        "LocalReceiptParsing/PurchasesReceiptParser.swift",
        "LocalReceiptParsing/ReceiptParsingError.swift",
        "Logging/LogIntent.swift",
        "Logging/Logger.swift",
        "Logging/Strings/AnalyticsStrings.swift",
        "Logging/Strings/AttributionStrings.swift",
        "Logging/Strings/BackendErrorStrings.swift",
        "Logging/Strings/CodableStrings.swift",
        "Logging/Strings/ConfigureStrings.swift",
        "Logging/Strings/CustomerInfoStrings.swift",
        "Logging/Strings/DiagnosticsStrings.swift",
        "Logging/Strings/ETagStrings.swift",
        "Logging/Strings/EligibilityStrings.swift",
        "Logging/Strings/IdentityStrings.swift",
        "Logging/Strings/ManageSubscriptionsStrings.swift",
        "Logging/Strings/NetworkStrings.swift",
        "Logging/Strings/OfferingStrings.swift",
        "Logging/Strings/OfflineEntitlementsStrings.swift",
        "Logging/Strings/PaywallsStrings.swift",
        "Logging/Strings/PurchaseStrings.swift",
        "Logging/Strings/SigningStrings.swift",
        "Logging/Strings/StoreKitStrings.swift",
        "Logging/Strings/Strings.swift",
        "Logging/Strings/WebRedemptionStrings.swift",
        "Misc/Box.swift",
        "Misc/Codable/AnyDecodable.swift",
        "Misc/Codable/AnyEncodable.swift",
        "Misc/Codable/DefaultDecodable.swift",
        "Misc/Codable/EnsureNonEmptyCollectionDecodable.swift",
        "Misc/Codable/IgnoreHashable.swift",
        "Misc/Codable/NonEmptyStringDecodable.swift",
        "Misc/Codable/RawDataContainer.swift",
        "Misc/Concurrency/Atomic.swift",
        "Misc/Concurrency/Lock.swift",
        "Misc/Concurrency/OperationDispatcher.swift",
        "Misc/Concurrency/Purchases+async.swift",
        "Misc/Concurrency/Purchases+nonasync.swift",
        "Misc/Concurrency/SynchronizedUserDefaults.swift",
        "Misc/DangerousSettings.swift",
        "Misc/DateAndTime/Clock.swift",
        "Misc/DateAndTime/DateExtensions.swift",
        "Misc/DateAndTime/DateProvider.swift",
        "Misc/DateAndTime/ISODurationFormatter.swift",
        "Misc/DateAndTime/ISOPeriodFormatter.swift",
        "Misc/DateAndTime/TimingUtil.swift",
        "Misc/Deprecations.swift",
        "Misc/Either.swift",
        "Misc/Locale/PreferredLocalesProvider.swift",
        "Misc/MacDevice.swift",
        "Misc/MapAppStoreDetector.swift",
        "Misc/Obsoletions.swift",
        "Misc/PlatformInfo.swift",
        "Misc/PriceFormatterProvider.swift",
        "Misc/RateLimiter.swift",
        "Misc/SandboxEnvironmentDetector.swift",
        "Misc/StoreKitVersion.swift",
        "Misc/SystemInfo.swift",
        "Networking/Backend.swift",
        "Networking/BackendConfiguration.swift",
        "Networking/Caching/CacheFetchPolicy.swift",
        "Networking/Caching/CallbackCache.swift",
        "Networking/Caching/CallbackCacheStatus.swift",
        "Networking/Caching/CustomerCenterConfigCallback.swift",
        "Networking/Caching/CustomerInfoCallback.swift",
        "Networking/Caching/LogInCallback.swift",
        "Networking/Caching/OfferingsCallback.swift",
        "Networking/Caching/ProductEntitlementMappingCallback.swift",
        "Networking/Caching/WebProductsCallback.swift",
        "Networking/CustomerAPI.swift",
        "Networking/CustomerCenterConfigAPI.swift",
        "Networking/HTTPClient/DNSChecker.swift",
        "Networking/HTTPClient/ETagManager.swift",
        "Networking/HTTPClient/ErrorResponse.swift",
        "Networking/HTTPClient/HTTPClient.swift",
        "Networking/HTTPClient/HTTPRequest.swift",
        "Networking/HTTPClient/HTTPRequestBody.swift",
        "Networking/HTTPClient/HTTPRequestPath.swift",
        "Networking/HTTPClient/HTTPResponse.swift",
        "Networking/HTTPClient/HTTPResponseBody.swift",
        "Networking/HTTPClient/HTTPStatusCode.swift",
        "Networking/HTTPClient/NetworkError.swift",
        "Networking/HTTPClient/RedirectLoggerTaskDelegate.swift",
        "Networking/IdentityAPI.swift",
        "Networking/InternalAPI.swift",
        "Networking/OfferingsAPI.swift",
        "Networking/OfflineEntitlementsAPI.swift",
        "Networking/Operations/GetCustomerCenterConfigOperation.swift",
        "Networking/Operations/GetCustomerInfoOperation.swift",
        "Networking/Operations/GetIntroEligibilityOperation.swift",
        "Networking/Operations/GetOfferingsOperation.swift",
        "Networking/Operations/GetProductEntitlementMappingOperation.swift",
        "Networking/Operations/GetWebProductsOperation.swift",
        "Networking/Operations/Handling/CustomerInfoResponseHandler.swift",
        "Networking/Operations/HealthOperation.swift",
        "Networking/Operations/HealthReportOperation.swift",
        "Networking/Operations/LogInOperation.swift",
        "Networking/Operations/NetworkOperation.swift",
        "Networking/Operations/PostAdServicesTokenOperation.swift",
        "Networking/Operations/PostAttributionDataOperation.swift",
        "Networking/Operations/PostOfferForSigningOperation.swift",
        "Networking/Operations/PostReceiptDataOperation.swift",
        "Networking/Operations/PostRedeemWebPurchaseOperation.swift",
        "Networking/Operations/PostSubscriberAttributesOperation.swift",
        "Networking/RedeemWebPurchaseAPI.swift",
        "Networking/Responses/CustomerCenterConfigResponse.swift",
        "Networking/Responses/CustomerInfoResponse.swift",
        "Networking/Responses/GetIntroEligibilityResponse.swift",
        "Networking/Responses/HealthReportResponse.swift",
        "Networking/Responses/OfferingsResponse.swift",
        "Networking/Responses/PostOfferResponse.swift",
        "Networking/Responses/ProductEntitlementMappingResponse.swift",
        "Networking/Responses/RevenueCatUI/PaywallComponentsData.swift",
        "Networking/Responses/RevenueCatUI/UIConfig.swift",
        "Networking/Responses/WebProductsResponse.swift",
        "Networking/WebBillingHTTPRequestPath.swift",
        "OfflineEntitlements/CustomerInfo+OfflineEntitlements.swift",
        "OfflineEntitlements/OfflineCustomerInfoCreator.swift",
        "OfflineEntitlements/OfflineEntitlementsManager.swift",
        "OfflineEntitlements/ProductEntitlementMapping.swift",
        "OfflineEntitlements/ProductEntitlementMappingFetcher.swift",
        "OfflineEntitlements/PurchasedProductsFetcher.swift",
        "OfflineEntitlements/PurchasedSK2Product.swift",
        "Paywalls/Components/Common/Background.swift",
        "Paywalls/Components/Common/Border.swift",
        "Paywalls/Components/Common/ComponentOverrides.swift",
        "Paywalls/Components/Common/Dimension.swift",
        "Paywalls/Components/Common/PaywallComponentBase.swift",
        "Paywalls/Components/Common/PaywallComponentLocalization.swift",
        "Paywalls/Components/Common/PaywallComponentPropertyTypes.swift",
        "Paywalls/Components/PaywallButtonComponent.swift",
        "Paywalls/Components/PaywallCarouselComponent.swift",
        "Paywalls/Components/PaywallIconComponent.swift",
        "Paywalls/Components/PaywallImageComponent.swift",
        "Paywalls/Components/PaywallPackageComponent.swift",
        "Paywalls/Components/PaywallPurchaseButtonComponent.swift",
        "Paywalls/Components/PaywallStackComponent.swift",
        "Paywalls/Components/PaywallStickyFooterComponent.swift",
        "Paywalls/Components/PaywallTabsComponent.swift",
        "Paywalls/Components/PaywallTextComponent.swift",
        "Paywalls/Components/PaywallTimelineComponent.swift",
        "Paywalls/Components/PaywallV2CacheWarming.swift",
        "Paywalls/Events/Networking/EventsRequest+Paywall.swift",
        "Paywalls/Events/Networking/PaywallHTTPRequestPath.swift",
        "Paywalls/Events/Networking/PostPaywallEventsOperation.swift",
        "Paywalls/Events/PaywallEvent.swift",
        "Paywalls/Events/PaywallEventStore.swift",
        "Paywalls/Events/PaywallEventsManager.swift",
        "Paywalls/PaywallCacheWarming.swift",
        "Paywalls/PaywallColor.swift",
        "Paywalls/PaywallData+Localization.swift",
        "Paywalls/PaywallData.swift",
        "Paywalls/PaywallFontManagerType.swift",
        "Paywalls/PaywallViewMode.swift",
        "Purchasing/CachingProductsManager.swift",
        "Purchasing/CachingTrialOrIntroPriceEligibilityChecker.swift",
        "Purchasing/Configuration.swift",
        "Purchasing/EntitlementInfo.swift",
        "Purchasing/EntitlementInfos.swift",
        "Purchasing/IntroEligibility.swift",
        "Purchasing/IntroEligibilityCalculator.swift",
        "Purchasing/NonSubscriptionTransaction.swift",
        "Purchasing/Offering.swift",
        "Purchasing/Offerings.swift",
        "Purchasing/OfferingsFactory.swift",
        "Purchasing/OfferingsManager.swift",
        "Purchasing/Package.swift",
        "Purchasing/PackageType.swift",
        "Purchasing/ProductRequestData+Initialization.swift",
        "Purchasing/ProductRequestData.swift",
        "Purchasing/ProductsManager.swift",
        "Purchasing/ProductsRequestFactory.swift",
        "Purchasing/PurchaseOwnershipType.swift",
        "Purchasing/Purchases/Attribution.swift",
        "Purchasing/Purchases/PurchaseParams.swift",
        "Purchasing/Purchases/Purchases.swift",
        "Purchasing/Purchases/PurchasesAreCompletedBy.swift",
        "Purchasing/Purchases/PurchasesDelegate.swift",
        "Purchasing/Purchases/PurchasesOrchestrator.swift",
        "Purchasing/Purchases/PurchasesType.swift",
        "Purchasing/Purchases/TransactionPoster.swift",
        "Purchasing/ReceiptFetcher.swift",
        "Purchasing/ReceiptRefreshPolicy.swift",
        "Purchasing/StoreKit1/PaymentQueueWrapper.swift",
        "Purchasing/StoreKit1/ProductsFetcherSK1.swift",
        "Purchasing/StoreKit1/StoreKit1Wrapper.swift",
        "Purchasing/StoreKit1/StoreKitRequestFetcher.swift",
        "Purchasing/StoreKit2/Observer Mode/StoreKit2ObserverModePurchaseDetector.swift",
        "Purchasing/StoreKit2/ProductsFetcherSK2.swift",
        "Purchasing/StoreKit2/SK2AppTransaction.swift",
        "Purchasing/StoreKit2/SK2BeginRefundRequestHelper.swift",
        "Purchasing/StoreKit2/StoreKit2PurchaseIntentListener.swift",
        "Purchasing/StoreKit2/StoreKit2Receipt.swift",
        "Purchasing/StoreKit2/StoreKit2StorefrontListener.swift",
        "Purchasing/StoreKit2/StoreKit2TransactionFetcher.swift",
        "Purchasing/StoreKit2/StoreKit2TransactionListener.swift",
        "Purchasing/StoreKit2/Win-Back Offers/WinBackOfferEligibilityCalculator.swift",
        "Purchasing/StoreKit2/Win-Back Offers/WinBackOfferEligibilityCalculatorType.swift",
        "Purchasing/StoreKitAbstractions/EncodedAppleReceipt.swift",
        "Purchasing/StoreKitAbstractions/ProductType.swift",
        "Purchasing/StoreKitAbstractions/PromotionalOffer.swift",
        "Purchasing/StoreKitAbstractions/SK1StoreProduct.swift",
        "Purchasing/StoreKitAbstractions/SK1StoreProductDiscount.swift",
        "Purchasing/StoreKitAbstractions/SK1StoreTransaction.swift",
        "Purchasing/StoreKitAbstractions/SK1Storefront.swift",
        "Purchasing/StoreKitAbstractions/SK2StoreProduct.swift",
        "Purchasing/StoreKitAbstractions/SK2StoreProductDiscount.swift",
        "Purchasing/StoreKitAbstractions/SK2StoreTransaction.swift",
        "Purchasing/StoreKitAbstractions/SK2Storefront.swift",
        "Purchasing/StoreKitAbstractions/StoreEnvironment.swift",
        "Purchasing/StoreKitAbstractions/StoreKitWorkarounds.swift",
        "Purchasing/StoreKitAbstractions/StoreProduct.swift",
        "Purchasing/StoreKitAbstractions/StoreProductDiscount.swift",
        "Purchasing/StoreKitAbstractions/StoreTransaction.swift",
        "Purchasing/StoreKitAbstractions/Storefront.swift",
        "Purchasing/StoreKitAbstractions/StorefrontProvider.swift",
        "Purchasing/StoreKitAbstractions/SubscriptionPeriod.swift",
        "Purchasing/StoreKitAbstractions/Test Data/TestStoreProduct.swift",
        "Purchasing/StoreKitAbstractions/Test Data/TestStoreProductDiscount.swift",
        "Purchasing/StoreKitAbstractions/WinBackOffer.swift",
        "Purchasing/TransactionsFactory.swift",
        "Purchasing/TransactionsManager.swift",
        "Purchasing/TrialOrIntroPriceEligibilityChecker.swift",
        "Security/FakeSigning.swift",
        "Security/HTTPRequest+Signing.swift",
        "Security/HTTPRequestBody+Signing.swift",
        "Security/Signing+ResponseVerification.swift",
        "Security/Signing.swift",
        "Security/VerificationResult.swift",
        "SubscriberAttributes/AttributionDataMigrator.swift",
        "SubscriberAttributes/AttributionKey.swift",
        "SubscriberAttributes/ReservedSubscriberAttributes.swift",
        "SubscriberAttributes/SubscriberAttribute.swift",
        "SubscriberAttributes/SubscriberAttributesManager.swift",
        "Support/BeginRefundRequestHelper.swift",
        "Support/DebugUI/DebugContentViews.swift",
        "Support/DebugUI/DebugView.swift",
        "Support/DebugUI/DebugViewController.swift",
        "Support/DebugUI/DebugViewModel.swift",
        "Support/DebugUI/DebugViewSheetPresentation.swift",
        "Support/DebugUI/ProductStatus+Icon.swift",
        "Support/DebugUI/SDKHealthCheckStatus+Icon.swift",
        "Support/DebugUI/SDKHealthStatus+Icon.swift",
        "Support/FrameworkDisambiguation.swift",
        "Support/HealthReport+Validate.swift",
        "Support/ManageSubscriptionsHelper.swift",
        "Support/PaywallExtensions.swift",
        "Support/PurchasesDiagnostics.swift",
        "Support/SDKHealthError+CustomNSError.swift",
        "Support/StoreMessageType.swift",
        "Support/StoreMessagesHelper.swift",
        "Support/SwiftVersionCheck.swift",
        "WebPurchaseRedemption/URL+WebPurchaseRedemption.swift",
        "WebPurchaseRedemption/WebPurchaseRedemption.swift",
        "WebPurchaseRedemption/WebPurchaseRedemptionHelper.swift",
        "WebPurchaseRedemption/WebPurchaseRedemptionResult.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RevenueCatUITests",
      "module_type" : "SwiftTarget",
      "name" : "RevenueCatUITests",
      "path" : "Tests/RevenueCatUITests",
      "product_dependencies" : [
        "Nimble",
        "SnapshotTesting"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Resources/background.heic",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Resources/header.heic",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "BaseSnapshotTest.swift",
        "CustomerCenter/BaseManageSubscriptionViewModelTests.swift",
        "CustomerCenter/ContactSupportUtilitiesTests.swift",
        "CustomerCenter/CustomerCenterActionWrapperTests.swift",
        "CustomerCenter/CustomerCenterViewModelTests.swift",
        "CustomerCenter/DiscountsHandlerTests.swift",
        "CustomerCenter/FeedbackSurveyViewModelTests.swift",
        "CustomerCenter/PromotionalOfferViewModelTests.swift",
        "CustomerCenter/PurchaseInformationTests.swift",
        "CustomerCenter/SubscriptionDetailViewModelTests.swift",
        "Data/LocalizedAlertErrorTests.swift",
        "Data/PackageVariablesTests.swift",
        "Data/PaywallDataValidationTests.swift",
        "Data/SemanticVersionTests.swift",
        "Data/TemplateViewConfigurationTests.swift",
        "Data/VariablesTests.swift",
        "Helpers/AsyncTestHelpers.swift",
        "Helpers/AvailabilityChecks.swift",
        "Helpers/CurrentTestCaseTracker.swift",
        "Helpers/DataExtensions.swift",
        "Helpers/ImageSnapshot.swift",
        "Helpers/OSVersionEquivalent.swift",
        "Helpers/SnapshotTesting+Extensions.swift",
        "Helpers/TestCase.swift",
        "ImageLoaderTests.swift",
        "LocalizationTests.swift",
        "Mocks/MockStoreProductDiscount.swift",
        "Mocks/MockTransaction.swift",
        "PaywallFooterTests.swift",
        "PaywallViewEventsTests.swift",
        "PaywallsV2/LocaleFinderTests.swift",
        "PaywallsV2/PresentedPartialsTests.swift",
        "PaywallsV2/TakeScreenshot.swift",
        "PaywallsV2/VariableHandlerV2Tests.swift",
        "PresentIfNeededTests.swift",
        "PurchaseCompletedHandlerTests.swift",
        "Purchasing/PurchaseHandlerTests.swift",
        "Templates/ExternalPurchaseAndRestoreTests.swift",
        "Templates/OtherPaywallViewTests.swift",
        "Templates/PaywallViewDynamicTypeTests.swift",
        "Templates/PaywallViewLocalizationTests.swift",
        "Templates/Template1ViewTests.swift",
        "Templates/Template2ViewTests.swift",
        "Templates/Template3ViewTests.swift",
        "Templates/Template4ViewTests.swift",
        "Templates/Template5ViewTests.swift",
        "Templates/Template7ViewTests.swift"
      ],
      "target_dependencies" : [
        "RevenueCatUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RevenueCatUI",
      "module_type" : "SwiftTarget",
      "name" : "RevenueCatUI",
      "path" : "RevenueCatUI",
      "product_memberships" : [
        "RevenueCatUI"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/ar.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ar"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/background.jpg",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/bg.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "bg"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/ca.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ca"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/cs.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "cs"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/da.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "da"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/de.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "de"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/el.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "el"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/en.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/en_AU.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en_au"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/en_CA.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en_ca"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/en_GB.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en_gb"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/en_US.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "en_us"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/es_419.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "es_419"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/es_ES.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "es_es"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/fi.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "fi"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/fr_CA.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "fr_ca"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/fr_FR.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "fr_fr"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/he.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "he"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/hi.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "hi"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/hr.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "hr"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/hu.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "hu"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/icons.xcassets",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/id.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "id"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/it.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "it"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/ja.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ja"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/kk.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "kk"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/ko.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ko"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/ms.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ms"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/nl.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "nl"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/no.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "no"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/pl.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "pl"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/pt_BR.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "pt_br"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/pt_PT.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "pt_pt"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/ro.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ro"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/ru.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ru"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/sk.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "sk"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/sv.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "sv"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/th.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "th"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/tr.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "tr"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/uk.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "uk"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/vi.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "vi"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/zh_Hans.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "zh_hans"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/zh_Hant.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "zh_hant"
            }
          }
        }
      ],
      "sources" : [
        "Binding+Extensions.swift",
        "CustomerCenter/Abstractions/CustomerCenterPurchasesType.swift",
        "CustomerCenter/Actions/CustomerCenter+PreferenceKeys.swift",
        "CustomerCenter/Actions/CustomerCenterConfigData.HelpPath+PurchaseInformation.swift",
        "CustomerCenter/Actions/CustomerCenterView+Actions.swift",
        "CustomerCenter/ButtonStyles.swift",
        "CustomerCenter/ColorFromAppearance.swift",
        "CustomerCenter/ContactSupportUtilities.swift",
        "CustomerCenter/CustomerInfo+CurrentEntitlement.swift",
        "CustomerCenter/Data/CustomerCenterAction.swift",
        "CustomerCenter/Data/CustomerCenterActionViewModifier.swift",
        "CustomerCenter/Data/CustomerCenterActionWrapper.swift",
        "CustomerCenter/Data/CustomerCenterConfigData+Mock.swift",
        "CustomerCenter/Data/CustomerCenterEnvironment.swift",
        "CustomerCenter/Data/CustomerCenterError.swift",
        "CustomerCenter/Data/CustomerCenterManagementOption.swift",
        "CustomerCenter/Data/CustomerCenterPurchases.swift",
        "CustomerCenter/Data/DiscountsHandler.swift",
        "CustomerCenter/Data/EntitlementInfo+Extensions.swift",
        "CustomerCenter/Data/FeedbackSurveyData.swift",
        "CustomerCenter/Data/LoadPromotionalOfferUseCase.swift",
        "CustomerCenter/Data/PromotionalOfferData.swift",
        "CustomerCenter/Data/PurchaseInformation+Mock.swift",
        "CustomerCenter/Data/PurchaseInformation.swift",
        "CustomerCenter/Data/SemanticVersion.swift",
        "CustomerCenter/Data/Transaction.swift",
        "CustomerCenter/Extensions/CustomerCenterConfigDataSupport+URL.swift",
        "CustomerCenter/Extensions/CustomerInfo+SeeAllPurchases.swift",
        "CustomerCenter/Extensions/Store+Localization.swift",
        "CustomerCenter/Mocks/MockCustomerCenterPurchases.swift",
        "CustomerCenter/Mocks/MockCustomerCenterStoreKitUtilities.swift",
        "CustomerCenter/Mocks/MockLoadPromotionalOfferUseCase.swift",
        "CustomerCenter/Mocks/PurchaseInformationFixtures.swift",
        "CustomerCenter/URLUtilities.swift",
        "CustomerCenter/Utilities/CustomerCenterLocalizationStrings.swift",
        "CustomerCenter/Utilities/CustomerCenterStoreKitUtilities.swift",
        "CustomerCenter/Utilities/CustomerCenterStoreKitUtilitiesType.swift",
        "CustomerCenter/Utilities/IdentifiableURL.swift",
        "CustomerCenter/View+PresentCustomerCenter.swift",
        "CustomerCenter/ViewModels/BaseManageSubscriptionViewModel.swift",
        "CustomerCenter/ViewModels/CustomerCenterViewModel.swift",
        "CustomerCenter/ViewModels/CustomerCenterViewState.swift",
        "CustomerCenter/ViewModels/FeedbackSurveyViewModel.swift",
        "CustomerCenter/ViewModels/PromotionalOfferViewModel.swift",
        "CustomerCenter/ViewModels/PurchaseHistory/PurchaseDetailItem.swift",
        "CustomerCenter/ViewModels/PurchaseHistory/PurchaseDetailViewModel.swift",
        "CustomerCenter/ViewModels/PurchaseHistory/PurchaseHistoryViewModel.swift",
        "CustomerCenter/ViewModels/PurchaseHistory/PurchaseInfo.swift",
        "CustomerCenter/ViewModels/RelevantPurchasesListViewModel.swift",
        "CustomerCenter/ViewModels/RestorePurchasesAlertViewModel.swift",
        "CustomerCenter/ViewModels/SubscriptionDetailViewModel.swift",
        "CustomerCenter/Views/ActiveSubscriptionButtonsView.swift",
        "CustomerCenter/Views/AppUpdateWarningView.swift",
        "CustomerCenter/Views/CompatibilityContentUnavailableView.swift",
        "CustomerCenter/Views/CompatibilityLabeledContent.swift",
        "CustomerCenter/Views/CompatibilityNavigationStack.swift",
        "CustomerCenter/Views/CompatibilityTopBarTrailing.swift",
        "CustomerCenter/Views/CustomerCenterNavigationLink.swift",
        "CustomerCenter/Views/CustomerCenterNavigationOptions.swift",
        "CustomerCenter/Views/CustomerCenterView.swift",
        "CustomerCenter/Views/ErrorView.swift",
        "CustomerCenter/Views/FallbackNoSubscriptionsView.swift",
        "CustomerCenter/Views/FeedbackSurveyView.swift",
        "CustomerCenter/Views/ManageSubscriptionsButtonsView.swift",
        "CustomerCenter/Views/NoSubscriptionsCardView.swift",
        "CustomerCenter/Views/PromotionalOfferView.swift",
        "CustomerCenter/Views/PurchaseCardView.swift",
        "CustomerCenter/Views/PurchaseHistory/PurchaseDetailView.swift",
        "CustomerCenter/Views/PurchaseHistory/PurchaseHistoryView.swift",
        "CustomerCenter/Views/PurchaseHistory/PurchaseLinkView.swift",
        "CustomerCenter/Views/RelevantPurchasesListView.swift",
        "CustomerCenter/Views/RestorePurchasesAlert.swift",
        "CustomerCenter/Views/ScrollViewSection.swift",
        "CustomerCenter/Views/ScrollViewWithOSBackground.swift",
        "CustomerCenter/Views/SubscriptionDetailView.swift",
        "CustomerCenter/Views/TintedProgressView.swift",
        "CustomerCenter/Views/UIKit Compatibility/CustomerCenterViewController.swift",
        "Data/Constants.swift",
        "Data/CustomerInfoFixtures.swift",
        "Data/Errors/PaywallError.swift",
        "Data/Errors/TemplateError.swift",
        "Data/IntroEligibility/IntroEligibilityViewModel.swift",
        "Data/IntroEligibility/TrialOrIntroEligibilityChecker+TestData.swift",
        "Data/IntroEligibility/TrialOrIntroEligibilityChecker.swift",
        "Data/Localization.swift",
        "Data/LocalizedAlertError.swift",
        "Data/PaywallData+Validation.swift",
        "Data/PaywallTemplate.swift",
        "Data/PaywallViewConfiguration.swift",
        "Data/PaywallViewMode+Extensions.swift",
        "Data/ProcessedLocalizedConfiguration.swift",
        "Data/Strings.swift",
        "Data/TemplateViewConfiguration+Extensions.swift",
        "Data/TemplateViewConfiguration+Images.swift",
        "Data/TemplateViewConfiguration.swift",
        "Data/TestData.swift",
        "Data/UserInterfaceIdiom.swift",
        "Data/Variables.swift",
        "Helpers/Bundle+Extensions.swift",
        "Helpers/ColorInformation+MultiScheme.swift",
        "Helpers/EmergeRenderingMode.swift",
        "Helpers/ImageLoader.swift",
        "Helpers/Logger.swift",
        "Helpers/Optional+Extensions.swift",
        "Helpers/Package+VariableDataProvider.swift",
        "Helpers/PaywallData+Default.swift",
        "Helpers/PreviewHelpers.swift",
        "Helpers/RuntimeUtils.swift",
        "Helpers/StoreProduct+Extensions.swift",
        "Helpers/StoreProductDiscount+Extensions.swift",
        "Helpers/SubscriptionPeriod+Extensions.swift",
        "Helpers/TemplateView+MultiTier.swift",
        "Helpers/VersionDetector.swift",
        "Modifiers/ConsistentPackageContentView.swift",
        "Modifiers/ConsistentTierContentView.swift",
        "Modifiers/FitToAspectRatio.swift",
        "Modifiers/FooterHidingModifier.swift",
        "Modifiers/ViewExtensions.swift",
        "PaywallFontProvider.swift",
        "PaywallView.swift",
        "Purchasing/MockPurchases.swift",
        "Purchasing/PaywallPurchasesType.swift",
        "Purchasing/PurchaseHandler+TestData.swift",
        "Purchasing/PurchaseHandler.swift",
        "Templates/Other platforms/WatchTemplateView.swift",
        "Templates/Template1View.swift",
        "Templates/Template2View.swift",
        "Templates/Template3View.swift",
        "Templates/Template4View.swift",
        "Templates/Template5View.swift",
        "Templates/Template7View.swift",
        "Templates/TemplateViewType.swift",
        "Templates/V2/Components/Button/BottomSheetView.swift",
        "Templates/V2/Components/Button/ButtonComponentView.swift",
        "Templates/V2/Components/Button/ButtonComponentViewModel.swift",
        "Templates/V2/Components/Carousel/CarouselComponentView.swift",
        "Templates/V2/Components/Carousel/CarouselComponentViewModel.swift",
        "Templates/V2/Components/ComponentsView.swift",
        "Templates/V2/Components/Icon/IconComponentView.swift",
        "Templates/V2/Components/Icon/IconComponentViewModel.swift",
        "Templates/V2/Components/Image/ImageComponentView.swift",
        "Templates/V2/Components/Image/ImageComponentViewModel.swift",
        "Templates/V2/Components/Packages/Package/ComponentViewState.swift",
        "Templates/V2/Components/Packages/Package/PackageComponentView.swift",
        "Templates/V2/Components/Packages/Package/PackageComponentViewModel.swift",
        "Templates/V2/Components/Packages/PurchaseButton/PurchaseButtonComponentView.swift",
        "Templates/V2/Components/Packages/PurchaseButton/PurchaseButtonComponentViewModel.swift",
        "Templates/V2/Components/Root/RootView.swift",
        "Templates/V2/Components/Root/RootViewModel.swift",
        "Templates/V2/Components/Stack/FlexHStack.swift",
        "Templates/V2/Components/Stack/FlexVStack.swift",
        "Templates/V2/Components/Stack/JustifyContent.swift",
        "Templates/V2/Components/Stack/StackComponentView.swift",
        "Templates/V2/Components/Stack/StackComponentViewModel.swift",
        "Templates/V2/Components/StickyFooter/StickyFooterComponentView.swift",
        "Templates/V2/Components/StickyFooter/StickyFooterComponentViewModel.swift",
        "Templates/V2/Components/Tabs/TabControlButtonComponentView.swift",
        "Templates/V2/Components/Tabs/TabControlButtonComponentViewModel.swift",
        "Templates/V2/Components/Tabs/TabControlComponentView.swift",
        "Templates/V2/Components/Tabs/TabControlComponentViewModel.swift",
        "Templates/V2/Components/Tabs/TabControlToggleComponentView.swift",
        "Templates/V2/Components/Tabs/TabControlToggleComponentViewModel.swift",
        "Templates/V2/Components/Tabs/TabsComponentView.swift",
        "Templates/V2/Components/Tabs/TabsComponentViewModel.swift",
        "Templates/V2/Components/Text/TextComponentView.swift",
        "Templates/V2/Components/Text/TextComponentViewModel.swift",
        "Templates/V2/Components/Timeline/TimelineComponentView.swift",
        "Templates/V2/Components/Timeline/TimelineComponentViewModel.swift",
        "Templates/V2/EnvironmentObjects/IntroOfferEligibilityContext.swift",
        "Templates/V2/EnvironmentObjects/OpenSheet.swift",
        "Templates/V2/EnvironmentObjects/PackageContext.swift",
        "Templates/V2/EnvironmentObjects/ScreenCondition.swift",
        "Templates/V2/Localizations/LocaleExtensions.swift",
        "Templates/V2/Localizations/LocaleFinder.swift",
        "Templates/V2/Localizations/LocalizationDictionaryExtensions.swift",
        "Templates/V2/PaywallsV2View.swift",
        "Templates/V2/Previews/PreviewMock.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/ButtonWithFooterPreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/FallbackComponentPreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/FamilySharingTogglePreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/MultiTierPreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/PurchaseButtonInPackagePreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/Template1Preview.swift",
        "Templates/V2/Variables/VariableHandlerV2.swift",
        "Templates/V2/ViewHelpers/BackgroundStyle.swift",
        "Templates/V2/ViewHelpers/BadgeModifier.swift",
        "Templates/V2/ViewHelpers/DisplayableColor.swift",
        "Templates/V2/ViewHelpers/Fill.swift",
        "Templates/V2/ViewHelpers/ForegroundColorScheme.swift",
        "Templates/V2/ViewHelpers/NavigatetoURL.swift",
        "Templates/V2/ViewHelpers/ProgressViewModifier.swift",
        "Templates/V2/ViewHelpers/ShadowModifier.swift",
        "Templates/V2/ViewHelpers/Shape.swift",
        "Templates/V2/ViewHelpers/SizeModifier.swift",
        "Templates/V2/ViewModelHelpers/LocalizationProvider.swift",
        "Templates/V2/ViewModelHelpers/PackageValidator.swift",
        "Templates/V2/ViewModelHelpers/PaywallComponentTypeTransformers.swift",
        "Templates/V2/ViewModelHelpers/PaywallComponentViewModel.swift",
        "Templates/V2/ViewModelHelpers/PresentedPartials.swift",
        "Templates/V2/ViewModelHelpers/UIConfigProvider.swift",
        "Templates/V2/ViewModelHelpers/ViewModelFactory.swift",
        "UIKit/PaywallFooterViewController.swift",
        "UIKit/PaywallViewController.swift",
        "View+OnRedeemWebPurchaseAttempt.swift",
        "View+PresentPaywall.swift",
        "View+PresentPaywallFooter.swift",
        "View+PurchaseRestoreCompleted.swift",
        "Views/AsyncButton.swift",
        "Views/DebugErrorView.swift",
        "Views/ErrorDisplay.swift",
        "Views/FooterView.swift",
        "Views/GradientView.swift",
        "Views/IconView.swift",
        "Views/IntroEligibilityStateView.swift",
        "Views/LoadingPaywallView.swift",
        "Views/PackageButtonStyle.swift",
        "Views/ProgressView.swift",
        "Views/PurchaseButton.swift",
        "Views/RemoteImage.swift",
        "Views/SafariView.swift",
        "Views/TemplateBackgroundImageView.swift",
        "Views/TemplatePackageSetting.swift",
        "Views/TierSelectorView.swift"
      ],
      "target_dependencies" : [
        "RevenueCat"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RevenueCat",
      "module_type" : "SwiftTarget",
      "name" : "RevenueCat",
      "path" : "Sources",
      "product_memberships" : [
        "RevenueCat",
        "RevenueCatUI"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Attribution/ASIdManagerProxy.swift",
        "Attribution/AttributionData.swift",
        "Attribution/AttributionFetcher.swift",
        "Attribution/AttributionNetwork.swift",
        "Attribution/AttributionPoster.swift",
        "Attribution/AttributionTypeFactory.swift",
        "Attribution/TrackingManagerProxy.swift",
        "Caching/CacheStatus.swift",
        "Caching/DeviceCache.swift",
        "Caching/InMemoryCachedObject.swift",
        "CodableExtensions/PeriodType+Extensions.swift",
        "CodableExtensions/PurchaseOwnershipType+Extensions.swift",
        "CodableExtensions/Store+Extensions.swift",
        "CustomerCenter/CustomerCenterConfigData.swift",
        "CustomerCenter/CustomerCenterPresentationMode.swift",
        "CustomerCenter/Events/CustomerCenterEvent.swift",
        "CustomerCenter/Events/EventsRequest+CustomerCenter.swift",
        "DeepLink/DeepLinkParser.swift",
        "Diagnostics/DiagnosticsEvent.swift",
        "Diagnostics/DiagnosticsFileHandler.swift",
        "Diagnostics/DiagnosticsTracker.swift",
        "Diagnostics/FileHandler.swift",
        "Diagnostics/Networking/DiagnosticsEventsRequest.swift",
        "Diagnostics/Networking/DiagnosticsHTTPRequestPath.swift",
        "Diagnostics/Networking/DiagnosticsPostOperation.swift",
        "Diagnostics/Networking/DiagnosticsSynchronizer.swift",
        "DocCDocumentation/EmptyFile.swift",
        "Error Handling/Assertions.swift",
        "Error Handling/BackendError.swift",
        "Error Handling/BackendErrorCode.swift",
        "Error Handling/DescribableError.swift",
        "Error Handling/ErrorCode.swift",
        "Error Handling/ErrorDetails.swift",
        "Error Handling/ErrorUtils.swift",
        "Error Handling/PurchasesError.swift",
        "Error Handling/SKError+Extensions.swift",
        "Error Handling/StoreKitError+Extensions.swift",
        "Error Handling/StoreKitErrorHelper.swift",
        "Events/FeatureEvent.swift",
        "Events/Networking/EventsRequest.swift",
        "Events/StoredEvent.swift",
        "Events/StoredEventSerializer.swift",
        "FoundationExtensions/Array+Extensions.swift",
        "FoundationExtensions/AsyncExtensions.swift",
        "FoundationExtensions/Data+Extensions.swift",
        "FoundationExtensions/Date+Extensions.swift",
        "FoundationExtensions/Decoder+Extensions.swift",
        "FoundationExtensions/Dictionary+Extensions.swift",
        "FoundationExtensions/DispatchTimeInterval+Extensions.swift",
        "FoundationExtensions/Error+Extensions.swift",
        "FoundationExtensions/Integer+Extensions.swift",
        "FoundationExtensions/Locale+Extensions.swift",
        "FoundationExtensions/OperationQueue+Extensions.swift",
        "FoundationExtensions/Operators+Extensions.swift",
        "FoundationExtensions/Optional+Extensions.swift",
        "FoundationExtensions/Result+Extensions.swift",
        "FoundationExtensions/Set+Extensions.swift",
        "FoundationExtensions/String+Extensions.swift",
        "FoundationExtensions/TimeInterval+Extensions.swift",
        "FoundationExtensions/UIApplication+RCExtensions.swift",
        "FoundationExtensions/UserDefaults+Extensions.swift",
        "Identity/CustomerInfo+ActiveDates.swift",
        "Identity/CustomerInfo+NonSubscriptions.swift",
        "Identity/CustomerInfo.swift",
        "Identity/CustomerInfoManager.swift",
        "Identity/IdentityManager.swift",
        "Identity/ProductPaidPrice.swift",
        "Identity/SubscriptionInfo.swift",
        "LocalReceiptParsing/BasicTypes/ASN1Container.swift",
        "LocalReceiptParsing/BasicTypes/ASN1ObjectIdentifier.swift",
        "LocalReceiptParsing/BasicTypes/AppleReceipt.swift",
        "LocalReceiptParsing/BasicTypes/InAppPurchase.swift",
        "LocalReceiptParsing/Builders/ASN1ContainerBuilder.swift",
        "LocalReceiptParsing/Builders/ASN1ObjectIdentifierBuilder.swift",
        "LocalReceiptParsing/Builders/AppleReceiptBuilder.swift",
        "LocalReceiptParsing/Builders/InAppPurchaseBuilder.swift",
        "LocalReceiptParsing/DataConverters/ArraySlice_UInt8+Extensions.swift",
        "LocalReceiptParsing/DataConverters/Codable+Extensions.swift",
        "LocalReceiptParsing/DataConverters/DateFormatter+Extensions.swift",
        "LocalReceiptParsing/DataConverters/UInt8+Extensions.swift",
        "LocalReceiptParsing/Helpers/FileReader.swift",
        "LocalReceiptParsing/Helpers/LoggerType.swift",
        "LocalReceiptParsing/Helpers/ProcessInfo+Extensions.swift",
        "LocalReceiptParsing/Helpers/ReceiptParserLogger.swift",
        "LocalReceiptParsing/Helpers/ReceiptStrings.swift",
        "LocalReceiptParsing/LocalReceiptFetcher.swift",
        "LocalReceiptParsing/PurchasesReceiptParser.swift",
        "LocalReceiptParsing/ReceiptParsingError.swift",
        "Logging/LogIntent.swift",
        "Logging/Logger.swift",
        "Logging/Strings/AnalyticsStrings.swift",
        "Logging/Strings/AttributionStrings.swift",
        "Logging/Strings/BackendErrorStrings.swift",
        "Logging/Strings/CodableStrings.swift",
        "Logging/Strings/ConfigureStrings.swift",
        "Logging/Strings/CustomerInfoStrings.swift",
        "Logging/Strings/DiagnosticsStrings.swift",
        "Logging/Strings/ETagStrings.swift",
        "Logging/Strings/EligibilityStrings.swift",
        "Logging/Strings/IdentityStrings.swift",
        "Logging/Strings/ManageSubscriptionsStrings.swift",
        "Logging/Strings/NetworkStrings.swift",
        "Logging/Strings/OfferingStrings.swift",
        "Logging/Strings/OfflineEntitlementsStrings.swift",
        "Logging/Strings/PaywallsStrings.swift",
        "Logging/Strings/PurchaseStrings.swift",
        "Logging/Strings/SigningStrings.swift",
        "Logging/Strings/StoreKitStrings.swift",
        "Logging/Strings/Strings.swift",
        "Logging/Strings/WebRedemptionStrings.swift",
        "Misc/Box.swift",
        "Misc/Codable/AnyDecodable.swift",
        "Misc/Codable/AnyEncodable.swift",
        "Misc/Codable/DefaultDecodable.swift",
        "Misc/Codable/EnsureNonEmptyCollectionDecodable.swift",
        "Misc/Codable/IgnoreHashable.swift",
        "Misc/Codable/NonEmptyStringDecodable.swift",
        "Misc/Codable/RawDataContainer.swift",
        "Misc/Concurrency/Atomic.swift",
        "Misc/Concurrency/Lock.swift",
        "Misc/Concurrency/OperationDispatcher.swift",
        "Misc/Concurrency/Purchases+async.swift",
        "Misc/Concurrency/Purchases+nonasync.swift",
        "Misc/Concurrency/SynchronizedUserDefaults.swift",
        "Misc/DangerousSettings.swift",
        "Misc/DateAndTime/Clock.swift",
        "Misc/DateAndTime/DateExtensions.swift",
        "Misc/DateAndTime/DateProvider.swift",
        "Misc/DateAndTime/ISODurationFormatter.swift",
        "Misc/DateAndTime/ISOPeriodFormatter.swift",
        "Misc/DateAndTime/TimingUtil.swift",
        "Misc/Deprecations.swift",
        "Misc/Either.swift",
        "Misc/Locale/PreferredLocalesProvider.swift",
        "Misc/MacDevice.swift",
        "Misc/MapAppStoreDetector.swift",
        "Misc/Obsoletions.swift",
        "Misc/PlatformInfo.swift",
        "Misc/PriceFormatterProvider.swift",
        "Misc/RateLimiter.swift",
        "Misc/SandboxEnvironmentDetector.swift",
        "Misc/StoreKitVersion.swift",
        "Misc/SystemInfo.swift",
        "Networking/Backend.swift",
        "Networking/BackendConfiguration.swift",
        "Networking/Caching/CacheFetchPolicy.swift",
        "Networking/Caching/CallbackCache.swift",
        "Networking/Caching/CallbackCacheStatus.swift",
        "Networking/Caching/CustomerCenterConfigCallback.swift",
        "Networking/Caching/CustomerInfoCallback.swift",
        "Networking/Caching/LogInCallback.swift",
        "Networking/Caching/OfferingsCallback.swift",
        "Networking/Caching/ProductEntitlementMappingCallback.swift",
        "Networking/Caching/WebProductsCallback.swift",
        "Networking/CustomerAPI.swift",
        "Networking/CustomerCenterConfigAPI.swift",
        "Networking/HTTPClient/DNSChecker.swift",
        "Networking/HTTPClient/ETagManager.swift",
        "Networking/HTTPClient/ErrorResponse.swift",
        "Networking/HTTPClient/HTTPClient.swift",
        "Networking/HTTPClient/HTTPRequest.swift",
        "Networking/HTTPClient/HTTPRequestBody.swift",
        "Networking/HTTPClient/HTTPRequestPath.swift",
        "Networking/HTTPClient/HTTPResponse.swift",
        "Networking/HTTPClient/HTTPResponseBody.swift",
        "Networking/HTTPClient/HTTPStatusCode.swift",
        "Networking/HTTPClient/NetworkError.swift",
        "Networking/HTTPClient/RedirectLoggerTaskDelegate.swift",
        "Networking/IdentityAPI.swift",
        "Networking/InternalAPI.swift",
        "Networking/OfferingsAPI.swift",
        "Networking/OfflineEntitlementsAPI.swift",
        "Networking/Operations/GetCustomerCenterConfigOperation.swift",
        "Networking/Operations/GetCustomerInfoOperation.swift",
        "Networking/Operations/GetIntroEligibilityOperation.swift",
        "Networking/Operations/GetOfferingsOperation.swift",
        "Networking/Operations/GetProductEntitlementMappingOperation.swift",
        "Networking/Operations/GetWebProductsOperation.swift",
        "Networking/Operations/Handling/CustomerInfoResponseHandler.swift",
        "Networking/Operations/HealthOperation.swift",
        "Networking/Operations/HealthReportOperation.swift",
        "Networking/Operations/LogInOperation.swift",
        "Networking/Operations/NetworkOperation.swift",
        "Networking/Operations/PostAdServicesTokenOperation.swift",
        "Networking/Operations/PostAttributionDataOperation.swift",
        "Networking/Operations/PostOfferForSigningOperation.swift",
        "Networking/Operations/PostReceiptDataOperation.swift",
        "Networking/Operations/PostRedeemWebPurchaseOperation.swift",
        "Networking/Operations/PostSubscriberAttributesOperation.swift",
        "Networking/RedeemWebPurchaseAPI.swift",
        "Networking/Responses/CustomerCenterConfigResponse.swift",
        "Networking/Responses/CustomerInfoResponse.swift",
        "Networking/Responses/GetIntroEligibilityResponse.swift",
        "Networking/Responses/HealthReportResponse.swift",
        "Networking/Responses/OfferingsResponse.swift",
        "Networking/Responses/PostOfferResponse.swift",
        "Networking/Responses/ProductEntitlementMappingResponse.swift",
        "Networking/Responses/RevenueCatUI/PaywallComponentsData.swift",
        "Networking/Responses/RevenueCatUI/UIConfig.swift",
        "Networking/Responses/WebProductsResponse.swift",
        "Networking/WebBillingHTTPRequestPath.swift",
        "OfflineEntitlements/CustomerInfo+OfflineEntitlements.swift",
        "OfflineEntitlements/OfflineCustomerInfoCreator.swift",
        "OfflineEntitlements/OfflineEntitlementsManager.swift",
        "OfflineEntitlements/ProductEntitlementMapping.swift",
        "OfflineEntitlements/ProductEntitlementMappingFetcher.swift",
        "OfflineEntitlements/PurchasedProductsFetcher.swift",
        "OfflineEntitlements/PurchasedSK2Product.swift",
        "Paywalls/Components/Common/Background.swift",
        "Paywalls/Components/Common/Border.swift",
        "Paywalls/Components/Common/ComponentOverrides.swift",
        "Paywalls/Components/Common/Dimension.swift",
        "Paywalls/Components/Common/PaywallComponentBase.swift",
        "Paywalls/Components/Common/PaywallComponentLocalization.swift",
        "Paywalls/Components/Common/PaywallComponentPropertyTypes.swift",
        "Paywalls/Components/PaywallButtonComponent.swift",
        "Paywalls/Components/PaywallCarouselComponent.swift",
        "Paywalls/Components/PaywallIconComponent.swift",
        "Paywalls/Components/PaywallImageComponent.swift",
        "Paywalls/Components/PaywallPackageComponent.swift",
        "Paywalls/Components/PaywallPurchaseButtonComponent.swift",
        "Paywalls/Components/PaywallStackComponent.swift",
        "Paywalls/Components/PaywallStickyFooterComponent.swift",
        "Paywalls/Components/PaywallTabsComponent.swift",
        "Paywalls/Components/PaywallTextComponent.swift",
        "Paywalls/Components/PaywallTimelineComponent.swift",
        "Paywalls/Components/PaywallV2CacheWarming.swift",
        "Paywalls/Events/Networking/EventsRequest+Paywall.swift",
        "Paywalls/Events/Networking/PaywallHTTPRequestPath.swift",
        "Paywalls/Events/Networking/PostPaywallEventsOperation.swift",
        "Paywalls/Events/PaywallEvent.swift",
        "Paywalls/Events/PaywallEventStore.swift",
        "Paywalls/Events/PaywallEventsManager.swift",
        "Paywalls/PaywallCacheWarming.swift",
        "Paywalls/PaywallColor.swift",
        "Paywalls/PaywallData+Localization.swift",
        "Paywalls/PaywallData.swift",
        "Paywalls/PaywallFontManagerType.swift",
        "Paywalls/PaywallViewMode.swift",
        "Purchasing/CachingProductsManager.swift",
        "Purchasing/CachingTrialOrIntroPriceEligibilityChecker.swift",
        "Purchasing/Configuration.swift",
        "Purchasing/EntitlementInfo.swift",
        "Purchasing/EntitlementInfos.swift",
        "Purchasing/IntroEligibility.swift",
        "Purchasing/IntroEligibilityCalculator.swift",
        "Purchasing/NonSubscriptionTransaction.swift",
        "Purchasing/Offering.swift",
        "Purchasing/Offerings.swift",
        "Purchasing/OfferingsFactory.swift",
        "Purchasing/OfferingsManager.swift",
        "Purchasing/Package.swift",
        "Purchasing/PackageType.swift",
        "Purchasing/ProductRequestData+Initialization.swift",
        "Purchasing/ProductRequestData.swift",
        "Purchasing/ProductsManager.swift",
        "Purchasing/ProductsRequestFactory.swift",
        "Purchasing/PurchaseOwnershipType.swift",
        "Purchasing/Purchases/Attribution.swift",
        "Purchasing/Purchases/PurchaseParams.swift",
        "Purchasing/Purchases/Purchases.swift",
        "Purchasing/Purchases/PurchasesAreCompletedBy.swift",
        "Purchasing/Purchases/PurchasesDelegate.swift",
        "Purchasing/Purchases/PurchasesOrchestrator.swift",
        "Purchasing/Purchases/PurchasesType.swift",
        "Purchasing/Purchases/TransactionPoster.swift",
        "Purchasing/ReceiptFetcher.swift",
        "Purchasing/ReceiptRefreshPolicy.swift",
        "Purchasing/StoreKit1/PaymentQueueWrapper.swift",
        "Purchasing/StoreKit1/ProductsFetcherSK1.swift",
        "Purchasing/StoreKit1/StoreKit1Wrapper.swift",
        "Purchasing/StoreKit1/StoreKitRequestFetcher.swift",
        "Purchasing/StoreKit2/Observer Mode/StoreKit2ObserverModePurchaseDetector.swift",
        "Purchasing/StoreKit2/ProductsFetcherSK2.swift",
        "Purchasing/StoreKit2/SK2AppTransaction.swift",
        "Purchasing/StoreKit2/SK2BeginRefundRequestHelper.swift",
        "Purchasing/StoreKit2/StoreKit2PurchaseIntentListener.swift",
        "Purchasing/StoreKit2/StoreKit2Receipt.swift",
        "Purchasing/StoreKit2/StoreKit2StorefrontListener.swift",
        "Purchasing/StoreKit2/StoreKit2TransactionFetcher.swift",
        "Purchasing/StoreKit2/StoreKit2TransactionListener.swift",
        "Purchasing/StoreKit2/Win-Back Offers/WinBackOfferEligibilityCalculator.swift",
        "Purchasing/StoreKit2/Win-Back Offers/WinBackOfferEligibilityCalculatorType.swift",
        "Purchasing/StoreKitAbstractions/EncodedAppleReceipt.swift",
        "Purchasing/StoreKitAbstractions/ProductType.swift",
        "Purchasing/StoreKitAbstractions/PromotionalOffer.swift",
        "Purchasing/StoreKitAbstractions/SK1StoreProduct.swift",
        "Purchasing/StoreKitAbstractions/SK1StoreProductDiscount.swift",
        "Purchasing/StoreKitAbstractions/SK1StoreTransaction.swift",
        "Purchasing/StoreKitAbstractions/SK1Storefront.swift",
        "Purchasing/StoreKitAbstractions/SK2StoreProduct.swift",
        "Purchasing/StoreKitAbstractions/SK2StoreProductDiscount.swift",
        "Purchasing/StoreKitAbstractions/SK2StoreTransaction.swift",
        "Purchasing/StoreKitAbstractions/SK2Storefront.swift",
        "Purchasing/StoreKitAbstractions/StoreEnvironment.swift",
        "Purchasing/StoreKitAbstractions/StoreKitWorkarounds.swift",
        "Purchasing/StoreKitAbstractions/StoreProduct.swift",
        "Purchasing/StoreKitAbstractions/StoreProductDiscount.swift",
        "Purchasing/StoreKitAbstractions/StoreTransaction.swift",
        "Purchasing/StoreKitAbstractions/Storefront.swift",
        "Purchasing/StoreKitAbstractions/StorefrontProvider.swift",
        "Purchasing/StoreKitAbstractions/SubscriptionPeriod.swift",
        "Purchasing/StoreKitAbstractions/Test Data/TestStoreProduct.swift",
        "Purchasing/StoreKitAbstractions/Test Data/TestStoreProductDiscount.swift",
        "Purchasing/StoreKitAbstractions/WinBackOffer.swift",
        "Purchasing/TransactionsFactory.swift",
        "Purchasing/TransactionsManager.swift",
        "Purchasing/TrialOrIntroPriceEligibilityChecker.swift",
        "Security/FakeSigning.swift",
        "Security/HTTPRequest+Signing.swift",
        "Security/HTTPRequestBody+Signing.swift",
        "Security/Signing+ResponseVerification.swift",
        "Security/Signing.swift",
        "Security/VerificationResult.swift",
        "SubscriberAttributes/AttributionDataMigrator.swift",
        "SubscriberAttributes/AttributionKey.swift",
        "SubscriberAttributes/ReservedSubscriberAttributes.swift",
        "SubscriberAttributes/SubscriberAttribute.swift",
        "SubscriberAttributes/SubscriberAttributesManager.swift",
        "Support/BeginRefundRequestHelper.swift",
        "Support/DebugUI/DebugContentViews.swift",
        "Support/DebugUI/DebugView.swift",
        "Support/DebugUI/DebugViewController.swift",
        "Support/DebugUI/DebugViewModel.swift",
        "Support/DebugUI/DebugViewSheetPresentation.swift",
        "Support/DebugUI/ProductStatus+Icon.swift",
        "Support/DebugUI/SDKHealthCheckStatus+Icon.swift",
        "Support/DebugUI/SDKHealthStatus+Icon.swift",
        "Support/FrameworkDisambiguation.swift",
        "Support/HealthReport+Validate.swift",
        "Support/ManageSubscriptionsHelper.swift",
        "Support/PaywallExtensions.swift",
        "Support/PurchasesDiagnostics.swift",
        "Support/SDKHealthError+CustomNSError.swift",
        "Support/StoreMessageType.swift",
        "Support/StoreMessagesHelper.swift",
        "Support/SwiftVersionCheck.swift",
        "WebPurchaseRedemption/URL+WebPurchaseRedemption.swift",
        "WebPurchaseRedemption/WebPurchaseRedemption.swift",
        "WebPurchaseRedemption/WebPurchaseRedemptionHelper.swift",
        "WebPurchaseRedemption/WebPurchaseRedemptionResult.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ReceiptParserTests",
      "module_type" : "SwiftTarget",
      "name" : "ReceiptParserTests",
      "path" : "Tests/ReceiptParserTests",
      "product_dependencies" : [
        "Nimble"
      ],
      "sources" : [
        "Helpers/MockBundle.swift",
        "ReceiptParserFetchingTests.swift"
      ],
      "target_dependencies" : [
        "ReceiptParser"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ReceiptParser",
      "module_type" : "SwiftTarget",
      "name" : "ReceiptParser",
      "path" : "LocalReceiptParsing",
      "product_memberships" : [
        "ReceiptParser"
      ],
      "sources" : [
        "BasicTypes/ASN1Container.swift",
        "BasicTypes/ASN1ObjectIdentifier.swift",
        "BasicTypes/AppleReceipt.swift",
        "BasicTypes/InAppPurchase.swift",
        "Builders/ASN1ContainerBuilder.swift",
        "Builders/ASN1ObjectIdentifierBuilder.swift",
        "Builders/AppleReceiptBuilder.swift",
        "Builders/InAppPurchaseBuilder.swift",
        "DataConverters/ArraySlice_UInt8+Extensions.swift",
        "DataConverters/Codable+Extensions.swift",
        "DataConverters/DateFormatter+Extensions.swift",
        "DataConverters/UInt8+Extensions.swift",
        "Helpers/FileReader.swift",
        "Helpers/LoggerType.swift",
        "Helpers/ProcessInfo+Extensions.swift",
        "Helpers/ReceiptParserLogger.swift",
        "Helpers/ReceiptStrings.swift",
        "LocalReceiptFetcher.swift",
        "PurchasesReceiptParser.swift",
        "ReceiptParser-only-files/PurchasesReceiptParser+Extensions.swift",
        "ReceiptParsingError.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Templates/__Snapshots__': File not found.
warning: 'spi-builder-workspace': ignoring broken symlink /Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/PaywallsV2/__PreviewResources__
warning: 'spi-builder-workspace': Invalid Resource 'PaywallsV2/__PreviewResources__': File not found.
Done.