The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of RevenueCat, reference main (027a64), with Swift 6.1 for macOS (SPM) on 6 May 2025 02:10:48 UTC.

Swift 6 data race errors: 131

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

    |             |- 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)
[954/957] Compiling RevenueCatUI CarouselComponentViewModel.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:79: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
 77 |     ) -> PaywallPurchasesType {
 78 |         return MockPurchases { package in
 79 |             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'
 80 |         } restorePurchases: {
 81 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:81: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
 79 |             try await purchase(self.purchase(package:))(package)
 80 |         } restorePurchases: {
 81 |             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'
 82 |         } trackEvent: { event in
 83 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:98: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
 96 |             try await self.restorePurchases()
 97 |         } trackEvent: { event in
 98 |             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'
 99 |         } customerInfo: {
100 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:431: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
429 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
430 |
431 |     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
432 |
433 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:442: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
440 | struct RestoreInProgressPreferenceKey: PreferenceKey {
441 |
442 |     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
443 |
444 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:470: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
468 |     }
469 |
470 |     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
471 |
472 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:481: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
479 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
480 |
481 |     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
482 |
483 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:492: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
490 | struct PurchaseErrorPreferenceKey: PreferenceKey {
491 |
492 |     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
493 |
494 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:503: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
501 | struct RestoreErrorPreferenceKey: PreferenceKey {
502 |
503 |     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
504 |
505 |     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:515: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
513 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
514 | struct RequestedDismissalKey: EnvironmentKey {
515 |     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
516 | }
517 |
/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)
[955/957] Compiling RevenueCatUI ComponentsView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:79: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
 77 |     ) -> PaywallPurchasesType {
 78 |         return MockPurchases { package in
 79 |             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'
 80 |         } restorePurchases: {
 81 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:81: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
 79 |             try await purchase(self.purchase(package:))(package)
 80 |         } restorePurchases: {
 81 |             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'
 82 |         } trackEvent: { event in
 83 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:98: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
 96 |             try await self.restorePurchases()
 97 |         } trackEvent: { event in
 98 |             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'
 99 |         } customerInfo: {
100 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:431: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
429 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
430 |
431 |     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
432 |
433 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:442: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
440 | struct RestoreInProgressPreferenceKey: PreferenceKey {
441 |
442 |     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
443 |
444 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:470: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
468 |     }
469 |
470 |     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
471 |
472 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:481: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
479 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
480 |
481 |     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
482 |
483 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:492: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
490 | struct PurchaseErrorPreferenceKey: PreferenceKey {
491 |
492 |     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
493 |
494 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:503: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
501 | struct RestoreErrorPreferenceKey: PreferenceKey {
502 |
503 |     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
504 |
505 |     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:515: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
513 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
514 | struct RequestedDismissalKey: EnvironmentKey {
515 |     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
516 | }
517 |
/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)
[956/957] Compiling RevenueCatUI IconComponentView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:79: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
 77 |     ) -> PaywallPurchasesType {
 78 |         return MockPurchases { package in
 79 |             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'
 80 |         } restorePurchases: {
 81 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:81: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
 79 |             try await purchase(self.purchase(package:))(package)
 80 |         } restorePurchases: {
 81 |             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'
 82 |         } trackEvent: { event in
 83 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:98: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
 96 |             try await self.restorePurchases()
 97 |         } trackEvent: { event in
 98 |             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'
 99 |         } customerInfo: {
100 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:431: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
429 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
430 |
431 |     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
432 |
433 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:442: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
440 | struct RestoreInProgressPreferenceKey: PreferenceKey {
441 |
442 |     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
443 |
444 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:470: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
468 |     }
469 |
470 |     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
471 |
472 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:481: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
479 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
480 |
481 |     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
482 |
483 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:492: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
490 | struct PurchaseErrorPreferenceKey: PreferenceKey {
491 |
492 |     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
493 |
494 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:503: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
501 | struct RestoreErrorPreferenceKey: PreferenceKey {
502 |
503 |     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
504 |
505 |     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:515: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
513 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
514 | struct RequestedDismissalKey: EnvironmentKey {
515 |     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
516 | }
517 |
/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)
[957/957] Compiling RevenueCatUI IconComponentViewModel.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:79: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
 77 |     ) -> PaywallPurchasesType {
 78 |         return MockPurchases { package in
 79 |             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'
 80 |         } restorePurchases: {
 81 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:81: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
 79 |             try await purchase(self.purchase(package:))(package)
 80 |         } restorePurchases: {
 81 |             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'
 82 |         } trackEvent: { event in
 83 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:98: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
 96 |             try await self.restorePurchases()
 97 |         } trackEvent: { event in
 98 |             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'
 99 |         } customerInfo: {
100 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:431: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
429 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
430 |
431 |     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
432 |
433 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:442: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
440 | struct RestoreInProgressPreferenceKey: PreferenceKey {
441 |
442 |     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
443 |
444 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:470: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
468 |     }
469 |
470 |     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
471 |
472 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:481: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
479 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
480 |
481 |     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
482 |
483 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:492: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
490 | struct PurchaseErrorPreferenceKey: PreferenceKey {
491 |
492 |     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
493 |
494 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:503: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
501 | struct RestoreErrorPreferenceKey: PreferenceKey {
502 |
503 |     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
504 |
505 |     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:515: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
513 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
514 | struct RequestedDismissalKey: EnvironmentKey {
515 |     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
516 | }
517 |
/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! (30.79s)
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Templates/__Snapshots__': 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
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
    {
      "identity" : "nimble",
      "requirement" : {
        "revision" : [
          "1f3bde57bde12f5e7b07909848c071e9b73d6edc"
        ]
      },
      "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/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/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",
        "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/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/ContactSupportUtilitiesTests.swift",
        "CustomerCenter/CustomerCenterActionWrapperTests.swift",
        "CustomerCenter/CustomerCenterViewModelTests.swift",
        "CustomerCenter/FeedbackSurveyViewModelTests.swift",
        "CustomerCenter/ManageSubscriptionsViewModelTests.swift",
        "CustomerCenter/Mocks/MockCustomerCenterPurchases.swift",
        "CustomerCenter/Mocks/MockCustomerCenterStoreKitUtilities.swift",
        "CustomerCenter/Mocks/MockLoadPromotionalOfferUseCase.swift",
        "CustomerCenter/Mocks/MockStoreProductDiscount.swift",
        "CustomerCenter/PurchaseInformationTests.swift",
        "CustomerCenter/SubscriptionInformationFixtures.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",
        "PaywallFooterTests.swift",
        "PaywallViewEventsTests.swift",
        "PaywallsV2/LocaleFinderTests.swift",
        "PaywallsV2/PresentedPartialsTests.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/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/CustomerCenterConfigTestData.swift",
        "CustomerCenter/Data/CustomerCenterEnvironment.swift",
        "CustomerCenter/Data/CustomerCenterError.swift",
        "CustomerCenter/Data/CustomerCenterManagementOption.swift",
        "CustomerCenter/Data/CustomerCenterPurchases.swift",
        "CustomerCenter/Data/FeedbackSurveyData.swift",
        "CustomerCenter/Data/LoadPromotionalOfferUseCase.swift",
        "CustomerCenter/Data/PromotionalOfferData.swift",
        "CustomerCenter/Data/PurchaseInformation.swift",
        "CustomerCenter/Data/SemanticVersion.swift",
        "CustomerCenter/Extensions/CustomerCenterConfigDataSupport+URL.swift",
        "CustomerCenter/Extensions/CustomerInfo+ActiveTransaction.swift",
        "CustomerCenter/Extensions/Store+Localization.swift",
        "CustomerCenter/URLUtilities.swift",
        "CustomerCenter/Utilities/CustomerCenterLocalizationStrings.swift",
        "CustomerCenter/Utilities/CustomerCenterStoreKitUtilities.swift",
        "CustomerCenter/Utilities/CustomerCenterStoreKitUtilitiesType.swift",
        "CustomerCenter/View+PresentCustomerCenter.swift",
        "CustomerCenter/ViewModels/CustomerCenterViewModel.swift",
        "CustomerCenter/ViewModels/CustomerCenterViewState.swift",
        "CustomerCenter/ViewModels/FeedbackSurveyViewModel.swift",
        "CustomerCenter/ViewModels/ManageSubscriptions/ManageSubscriptionsViewModel.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/RestorePurchasesAlertViewModel.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/FeedbackSurveyView.swift",
        "CustomerCenter/Views/ManageSubscriptionsButtonsView.swift",
        "CustomerCenter/Views/ManageSubscriptionsView.swift",
        "CustomerCenter/Views/NoSubscriptionsView.swift",
        "CustomerCenter/Views/PromotionalOfferView.swift",
        "CustomerCenter/Views/PurchaseHistory/PurchaseDetailView.swift",
        "CustomerCenter/Views/PurchaseHistory/PurchaseHistoryView.swift",
        "CustomerCenter/Views/PurchaseHistory/PurchaseLinkView.swift",
        "CustomerCenter/Views/RestorePurchasesAlert.swift",
        "CustomerCenter/Views/SubscriptionDetailsView.swift",
        "CustomerCenter/Views/TintedProgressView.swift",
        "CustomerCenter/Views/UIKit Compatibility/CustomerCenterViewController.swift",
        "CustomerCenter/Views/WrongPlatformView.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/PackageContext.swift",
        "Templates/V2/EnvironmentObjects/ScreenCondition.swift",
        "Templates/V2/Localizations/LocaleExtensions.swift",
        "Templates/V2/Localizations/LocaleFinder.swift",
        "Templates/V2/PaywallsV2View.swift",
        "Templates/V2/Previews/PreviewMock.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/FallbackComponentPreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/FamilySharingTogglePreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/MultiTierPreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/PurchaseButtonInPackage.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/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/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/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",
        "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/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.
Done.