The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of RevenueCat, reference main (b95997), with Swift 6.1 for macOS (SPM) on 12 Sep 2025 22:45:01 UTC.

Swift 6 data race errors: 160

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

 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:133:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
131 |             Template4View(configuration)
132 |         case .template5:
133 |             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
134 |         case .template7:
135 |             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:135:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
133 |             Template5View(configuration)
134 |         case .template7:
135 |             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
136 |         }
137 |         #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:279:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
277 |         switch self.purchases.purchasesAreCompletedBy {
278 |         case .revenueCat:
279 |             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
280 |         case .myApp:
281 |             return try await performExternalRestoreLogic()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:281:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
279 |             return try await performRestorePurchases()
280 |         case .myApp:
281 |             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
282 |         }
283 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:125:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
123 |         switch template {
124 |         case .template1:
125 |             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
126 |         case .template2:
127 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:127:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
125 |             Template1View(configuration)
126 |         case .template2:
127 |             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
128 |         case .template3:
129 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:129:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
127 |             Template2View(configuration)
128 |         case .template3:
129 |             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
130 |         case .template4:
131 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:131:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
129 |             Template3View(configuration)
130 |         case .template4:
131 |             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
132 |         case .template5:
133 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:133:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
131 |             Template4View(configuration)
132 |         case .template5:
133 |             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
134 |         case .template7:
135 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:135:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
133 |             Template5View(configuration)
134 |         case .template7:
135 |             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
136 |         }
137 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74:18: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74:18: warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/V2/Components/Button/ButtonComponentView.swift:116:70: warning: sending 'self.purchaseHandler' risks causing data races; this is an error in the Swift 6 language mode
114 |         Logger.debug(Strings.restoring_purchases)
115 |
116 |         let (customerInfo, success) = try await self.purchaseHandler.restorePurchases()
    |                                                                      |- warning: sending 'self.purchaseHandler' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                      `- note: sending main actor-isolated 'self.purchaseHandler' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
117 |         if success {
118 |             Logger.debug(Strings.restored_purchases)
[1067/1069] Compiling RevenueCatUI BottomSheetView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Helpers/TemplateView+MultiTier.swift:36: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
34 |     typealias Value = Data?
35 |
36 |     static var defaultValue: Value = nil
   |                |- 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
37 |
38 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:432: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
430 | private struct ViewWidthPreferenceKey: ViewDimensionPreferenceKey {
431 |
432 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
433 |
434 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:439: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
437 | private struct ViewHeightPreferenceKey: ViewDimensionPreferenceKey {
438 |
439 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
440 |
441 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:448:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
446 |     typealias Value = CGSize
447 |
448 |     static var defaultValue: Value = .init(width: 10, height: 10)
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
449 |
450 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:105: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
103 |     ) -> PaywallPurchasesType {
104 |         return MockPurchases { package in
105 |             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'
106 |         } restorePurchases: {
107 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:107: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
105 |             try await purchase(self.purchase(package:))(package)
106 |         } restorePurchases: {
107 |             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'
108 |         } trackEvent: { event in
109 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:124: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
122 |             try await self.restorePurchases()
123 |         } trackEvent: { event in
124 |             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'
125 |         } customerInfo: {
126 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:489: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
487 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
488 |
489 |     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
490 |
491 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:500: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
498 | struct RestoreInProgressPreferenceKey: PreferenceKey {
499 |
500 |     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
501 |
502 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:528: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
526 |     }
527 |
528 |     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
529 |
530 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:539: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
537 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
538 |
539 |     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
540 |
541 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:550: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
548 | struct PurchaseErrorPreferenceKey: PreferenceKey {
549 |
550 |     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
551 |
552 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:561: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
559 | struct RestoreErrorPreferenceKey: PreferenceKey {
560 |
561 |     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
562 |
563 |     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:573: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
571 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
572 | struct RequestedDismissalKey: EnvironmentKey {
573 |     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
574 | }
575 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74: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
 65 |
 66 |     @ViewBuilder
 67 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 68 |                     template: PaywallTemplate,
 69 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
    :
143 | extension View {
144 |
145 |     func adaptTemplateView(with configuration: TemplateViewConfiguration) -> some View {
    |          `- note: calls to instance method 'adaptTemplateView(with:)' from outside of its actor context are implicitly asynchronous
146 |         self
147 |             .background(configuration.backgroundView)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:76:68: warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 74 |                 .adaptTemplateView(with: configuration)
 75 |                 .task(id: offering) {
 76 |                     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
 77 |                 }
 78 |
/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:80: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
 65 |
 66 |     @ViewBuilder
 67 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 68 |                     template: PaywallTemplate,
 69 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 78 |
 79 |         case let .failure(error):
 80 |             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
 81 |         }
 82 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Views/DebugErrorView.swift:106:5: note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
104 | extension DebugErrorView where Content == AnyView {
105 |
106 |     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'
107 |         self.init(
108 |             (error as NSError).localizedDescription,
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:125:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
123 |         switch template {
124 |         case .template1:
125 |             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
126 |         case .template2:
127 |             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:127:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
125 |             Template1View(configuration)
126 |         case .template2:
127 |             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
128 |         case .template3:
129 |             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:129:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
127 |             Template2View(configuration)
128 |         case .template3:
129 |             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
130 |         case .template4:
131 |             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:131:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
129 |             Template3View(configuration)
130 |         case .template4:
131 |             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
132 |         case .template5:
133 |             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:133:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
131 |             Template4View(configuration)
132 |         case .template5:
133 |             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
134 |         case .template7:
135 |             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:135:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
133 |             Template5View(configuration)
134 |         case .template7:
135 |             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
136 |         }
137 |         #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:279:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
277 |         switch self.purchases.purchasesAreCompletedBy {
278 |         case .revenueCat:
279 |             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
280 |         case .myApp:
281 |             return try await performExternalRestoreLogic()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:281:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
279 |             return try await performRestorePurchases()
280 |         case .myApp:
281 |             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
282 |         }
283 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:125:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
123 |         switch template {
124 |         case .template1:
125 |             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
126 |         case .template2:
127 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:127:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
125 |             Template1View(configuration)
126 |         case .template2:
127 |             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
128 |         case .template3:
129 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:129:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
127 |             Template2View(configuration)
128 |         case .template3:
129 |             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
130 |         case .template4:
131 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:131:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
129 |             Template3View(configuration)
130 |         case .template4:
131 |             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
132 |         case .template5:
133 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:133:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
131 |             Template4View(configuration)
132 |         case .template5:
133 |             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
134 |         case .template7:
135 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:135:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
133 |             Template5View(configuration)
134 |         case .template7:
135 |             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
136 |         }
137 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74:18: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74:18: warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/V2/Components/Button/ButtonComponentView.swift:116:70: warning: sending 'self.purchaseHandler' risks causing data races; this is an error in the Swift 6 language mode
114 |         Logger.debug(Strings.restoring_purchases)
115 |
116 |         let (customerInfo, success) = try await self.purchaseHandler.restorePurchases()
    |                                                                      |- warning: sending 'self.purchaseHandler' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                      `- note: sending main actor-isolated 'self.purchaseHandler' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
117 |         if success {
118 |             Logger.debug(Strings.restored_purchases)
[1068/1069] Compiling RevenueCatUI ButtonComponentView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Helpers/TemplateView+MultiTier.swift:36: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
34 |     typealias Value = Data?
35 |
36 |     static var defaultValue: Value = nil
   |                |- 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
37 |
38 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:432: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
430 | private struct ViewWidthPreferenceKey: ViewDimensionPreferenceKey {
431 |
432 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
433 |
434 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:439: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
437 | private struct ViewHeightPreferenceKey: ViewDimensionPreferenceKey {
438 |
439 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
440 |
441 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:448:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
446 |     typealias Value = CGSize
447 |
448 |     static var defaultValue: Value = .init(width: 10, height: 10)
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
449 |
450 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:105: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
103 |     ) -> PaywallPurchasesType {
104 |         return MockPurchases { package in
105 |             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'
106 |         } restorePurchases: {
107 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:107: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
105 |             try await purchase(self.purchase(package:))(package)
106 |         } restorePurchases: {
107 |             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'
108 |         } trackEvent: { event in
109 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:124: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
122 |             try await self.restorePurchases()
123 |         } trackEvent: { event in
124 |             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'
125 |         } customerInfo: {
126 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:489: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
487 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
488 |
489 |     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
490 |
491 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:500: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
498 | struct RestoreInProgressPreferenceKey: PreferenceKey {
499 |
500 |     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
501 |
502 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:528: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
526 |     }
527 |
528 |     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
529 |
530 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:539: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
537 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
538 |
539 |     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
540 |
541 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:550: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
548 | struct PurchaseErrorPreferenceKey: PreferenceKey {
549 |
550 |     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
551 |
552 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:561: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
559 | struct RestoreErrorPreferenceKey: PreferenceKey {
560 |
561 |     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
562 |
563 |     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:573: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
571 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
572 | struct RequestedDismissalKey: EnvironmentKey {
573 |     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
574 | }
575 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74: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
 65 |
 66 |     @ViewBuilder
 67 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 68 |                     template: PaywallTemplate,
 69 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
    :
143 | extension View {
144 |
145 |     func adaptTemplateView(with configuration: TemplateViewConfiguration) -> some View {
    |          `- note: calls to instance method 'adaptTemplateView(with:)' from outside of its actor context are implicitly asynchronous
146 |         self
147 |             .background(configuration.backgroundView)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:76:68: warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 74 |                 .adaptTemplateView(with: configuration)
 75 |                 .task(id: offering) {
 76 |                     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
 77 |                 }
 78 |
/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:80: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
 65 |
 66 |     @ViewBuilder
 67 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 68 |                     template: PaywallTemplate,
 69 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 78 |
 79 |         case let .failure(error):
 80 |             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
 81 |         }
 82 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Views/DebugErrorView.swift:106:5: note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
104 | extension DebugErrorView where Content == AnyView {
105 |
106 |     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'
107 |         self.init(
108 |             (error as NSError).localizedDescription,
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:125:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
123 |         switch template {
124 |         case .template1:
125 |             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
126 |         case .template2:
127 |             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:127:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
125 |             Template1View(configuration)
126 |         case .template2:
127 |             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
128 |         case .template3:
129 |             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:129:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
127 |             Template2View(configuration)
128 |         case .template3:
129 |             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
130 |         case .template4:
131 |             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:131:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
129 |             Template3View(configuration)
130 |         case .template4:
131 |             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
132 |         case .template5:
133 |             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:133:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
131 |             Template4View(configuration)
132 |         case .template5:
133 |             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
134 |         case .template7:
135 |             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:135:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
133 |             Template5View(configuration)
134 |         case .template7:
135 |             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
136 |         }
137 |         #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:279:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
277 |         switch self.purchases.purchasesAreCompletedBy {
278 |         case .revenueCat:
279 |             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
280 |         case .myApp:
281 |             return try await performExternalRestoreLogic()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:281:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
279 |             return try await performRestorePurchases()
280 |         case .myApp:
281 |             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
282 |         }
283 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:125:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
123 |         switch template {
124 |         case .template1:
125 |             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
126 |         case .template2:
127 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:127:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
125 |             Template1View(configuration)
126 |         case .template2:
127 |             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
128 |         case .template3:
129 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:129:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
127 |             Template2View(configuration)
128 |         case .template3:
129 |             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
130 |         case .template4:
131 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:131:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
129 |             Template3View(configuration)
130 |         case .template4:
131 |             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
132 |         case .template5:
133 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:133:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
131 |             Template4View(configuration)
132 |         case .template5:
133 |             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
134 |         case .template7:
135 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:135:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
133 |             Template5View(configuration)
134 |         case .template7:
135 |             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
136 |         }
137 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74:18: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74:18: warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/V2/Components/Button/ButtonComponentView.swift:116:70: warning: sending 'self.purchaseHandler' risks causing data races; this is an error in the Swift 6 language mode
114 |         Logger.debug(Strings.restoring_purchases)
115 |
116 |         let (customerInfo, success) = try await self.purchaseHandler.restorePurchases()
    |                                                                      |- warning: sending 'self.purchaseHandler' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                      `- note: sending main actor-isolated 'self.purchaseHandler' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
117 |         if success {
118 |             Logger.debug(Strings.restored_purchases)
[1069/1069] Compiling RevenueCatUI ButtonComponentViewModel.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Helpers/TemplateView+MultiTier.swift:36: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
34 |     typealias Value = Data?
35 |
36 |     static var defaultValue: Value = nil
   |                |- 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
37 |
38 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:432: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
430 | private struct ViewWidthPreferenceKey: ViewDimensionPreferenceKey {
431 |
432 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
433 |
434 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:439: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
437 | private struct ViewHeightPreferenceKey: ViewDimensionPreferenceKey {
438 |
439 |     static var defaultValue: Value = 10
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
440 |
441 | }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Modifiers/ViewExtensions.swift:448:16: warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
446 |     typealias Value = CGSize
447 |
448 |     static var defaultValue: Value = .init(width: 10, height: 10)
    |                |- warning: static property 'defaultValue' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'defaultValue' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
449 |
450 |     static func reduce(value: inout Value, nextValue: () -> Value) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:105: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
103 |     ) -> PaywallPurchasesType {
104 |         return MockPurchases { package in
105 |             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'
106 |         } restorePurchases: {
107 |             try await restore(self.restorePurchases)()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:107: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
105 |             try await purchase(self.purchase(package:))(package)
106 |         } restorePurchases: {
107 |             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'
108 |         } trackEvent: { event in
109 |             await self.track(paywallEvent: event)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/MockPurchases.swift:124: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
122 |             try await self.restorePurchases()
123 |         } trackEvent: { event in
124 |             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'
125 |         } customerInfo: {
126 |             try await self.customerInfo()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:489: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
487 | struct PurchaseInProgressPreferenceKey: PreferenceKey {
488 |
489 |     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
490 |
491 |     static func reduce(value: inout Package?, nextValue: () -> Package?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:500: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
498 | struct RestoreInProgressPreferenceKey: PreferenceKey {
499 |
500 |     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
501 |
502 |     static func reduce(value: inout Bool, nextValue: () -> Bool) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:528: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
526 |     }
527 |
528 |     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
529 |
530 |     static func reduce(value: inout PurchaseResult?, nextValue: () -> PurchaseResult?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:539: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
537 | struct RestoredCustomerInfoPreferenceKey: PreferenceKey {
538 |
539 |     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
540 |
541 |     static func reduce(value: inout CustomerInfo?, nextValue: () -> CustomerInfo?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:550: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
548 | struct PurchaseErrorPreferenceKey: PreferenceKey {
549 |
550 |     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
551 |
552 |     static func reduce(value: inout NSError?, nextValue: () -> NSError?) {
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:561: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
559 | struct RestoreErrorPreferenceKey: PreferenceKey {
560 |
561 |     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
562 |
563 |     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:573: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
571 | /// `EnvironmentKey` for storing closure triggered when paywall should be dismissed.
572 | struct RequestedDismissalKey: EnvironmentKey {
573 |     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
574 | }
575 |
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74: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
 65 |
 66 |     @ViewBuilder
 67 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 68 |                     template: PaywallTemplate,
 69 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
    :
143 | extension View {
144 |
145 |     func adaptTemplateView(with configuration: TemplateViewConfiguration) -> some View {
    |          `- note: calls to instance method 'adaptTemplateView(with:)' from outside of its actor context are implicitly asynchronous
146 |         self
147 |             .background(configuration.backgroundView)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:76:68: warning: capture of 'configuration' with non-sendable type 'TemplateViewConfiguration' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 74 |                 .adaptTemplateView(with: configuration)
 75 |                 .task(id: offering) {
 76 |                     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
 77 |                 }
 78 |
/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:80: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
 65 |
 66 |     @ViewBuilder
 67 |     func createView(for offering: Offering,
    |          `- note: add '@MainActor' to make instance method 'createView(for:template:configuration:introEligibility:)' part of global actor 'MainActor'
 68 |                     template: PaywallTemplate,
 69 |                     configuration: Result<TemplateViewConfiguration, Error>,
    :
 78 |
 79 |         case let .failure(error):
 80 |             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
 81 |         }
 82 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Views/DebugErrorView.swift:106:5: note: calls to initializer 'init(_:releaseBehavior:)' from outside of its actor context are implicitly asynchronous
104 | extension DebugErrorView where Content == AnyView {
105 |
106 |     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'
107 |         self.init(
108 |             (error as NSError).localizedDescription,
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:125:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
123 |         switch template {
124 |         case .template1:
125 |             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
126 |         case .template2:
127 |             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:127:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
125 |             Template1View(configuration)
126 |         case .template2:
127 |             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
128 |         case .template3:
129 |             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:129:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
127 |             Template2View(configuration)
128 |         case .template3:
129 |             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
130 |         case .template4:
131 |             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:131:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
129 |             Template3View(configuration)
130 |         case .template4:
131 |             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
132 |         case .template5:
133 |             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:133:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
131 |             Template4View(configuration)
132 |         case .template5:
133 |             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
134 |         case .template7:
135 |             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:135:13: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
116 |
117 |     @ViewBuilder
118 |     private static func createView(template: PaywallTemplate,
    |                         `- note: add '@MainActor' to make static method 'createView(template:configuration:)' part of global actor 'MainActor'
119 |                                    configuration: TemplateViewConfiguration) -> some View {
120 |         #if os(watchOS)
    :
133 |             Template5View(configuration)
134 |         case .template7:
135 |             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
136 |         }
137 |         #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:279:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
277 |         switch self.purchases.purchasesAreCompletedBy {
278 |         case .revenueCat:
279 |             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
280 |         case .myApp:
281 |             return try await performExternalRestoreLogic()
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Purchasing/PurchaseHandler.swift:281:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
279 |             return try await performRestorePurchases()
280 |         case .myApp:
281 |             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
282 |         }
283 |     }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:125:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
123 |         switch template {
124 |         case .template1:
125 |             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
126 |         case .template2:
127 |             Template2View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:127:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
125 |             Template1View(configuration)
126 |         case .template2:
127 |             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
128 |         case .template3:
129 |             Template3View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:129:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
127 |             Template2View(configuration)
128 |         case .template3:
129 |             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
130 |         case .template4:
131 |             Template4View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:131:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
129 |             Template3View(configuration)
130 |         case .template4:
131 |             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
132 |         case .template5:
133 |             Template5View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:133:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
131 |             Template4View(configuration)
132 |         case .template5:
133 |             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
134 |         case .template7:
135 |             Template7View(configuration)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:135:13: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
133 |             Template5View(configuration)
134 |         case .template7:
135 |             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
136 |         }
137 |         #endif
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74:18: warning: sending 'configuration' risks causing data races; this is an error in the Swift 6 language mode
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/TemplateViewType.swift:74:18: warning: sending value of non-Sendable type 'some View' risks causing data races; this is an error in the Swift 6 language mode
 72 |         case let .success(configuration):
 73 |             Self.createView(template: template, configuration: configuration)
 74 |                 .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
 75 |                 .task(id: offering) {
 76 |                     await introEligibility.computeEligibility(for: configuration.packages)
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Templates/V2/Components/Button/ButtonComponentView.swift:116:70: warning: sending 'self.purchaseHandler' risks causing data races; this is an error in the Swift 6 language mode
114 |         Logger.debug(Strings.restoring_purchases)
115 |
116 |         let (customerInfo, success) = try await self.purchaseHandler.restorePurchases()
    |                                                                      |- warning: sending 'self.purchaseHandler' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                      `- note: sending main actor-isolated 'self.purchaseHandler' to nonisolated callee risks causing data races between nonisolated and main actor-isolated uses
117 |         if success {
118 |             Logger.debug(Strings.restored_purchases)
Build complete! (35.39s)
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Templates/__Snapshots__': File not found.
warning: 'spi-builder-workspace': ignoring broken symlink /Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/PaywallsV2/__PreviewResources__
warning: 'spi-builder-workspace': Invalid Resource 'PaywallsV2/__PreviewResources__': File not found.
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/RevenueCatUI/RevenueCatUIDev.xctestplan
warning: 'nimble': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/nimble/Sources/Nimble/PrivacyInfo.xcprivacy
Build complete.
{
  "default_localization" : "en",
  "dependencies" : [
    {
      "identity" : "nimble",
      "requirement" : {
        "exact" : [
          "13.7.1"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/quick/nimble"
    },
    {
      "identity" : "swift-snapshot-testing",
      "requirement" : {
        "revision" : [
          "26ed3a2b4a2df47917ca9b790a57f91285b923fb"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-snapshot-testing"
    }
  ],
  "manifest_display_name" : "RevenueCat",
  "name" : "RevenueCat",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "watchos",
      "version" : "6.2"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "RevenueCat",
      "targets" : [
        "RevenueCat"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RevenueCat_CustomEntitlementComputation",
      "targets" : [
        "RevenueCat_CustomEntitlementComputation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ReceiptParser",
      "targets" : [
        "ReceiptParser"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "RevenueCatUI",
      "targets" : [
        "RevenueCatUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "RevenueCat_CustomEntitlementComputation",
      "module_type" : "SwiftTarget",
      "name" : "RevenueCat_CustomEntitlementComputation",
      "path" : "CustomEntitlementComputation",
      "product_memberships" : [
        "RevenueCat_CustomEntitlementComputation"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/CustomEntitlementComputation/PrivacyInfo.xcprivacy",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Attribution/ASIdManagerProxy.swift",
        "Attribution/AttributionData.swift",
        "Attribution/AttributionFetcher.swift",
        "Attribution/AttributionNetwork.swift",
        "Attribution/AttributionPoster.swift",
        "Attribution/AttributionTypeFactory.swift",
        "Attribution/TrackingManagerProxy.swift",
        "Caching/CacheStatus.swift",
        "Caching/DeviceCache.swift",
        "Caching/FileRepository.swift",
        "Caching/InMemoryCachedObject.swift",
        "Caching/KeyedDeferredValueStore.swift",
        "Caching/LargeItemCacheType.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/FileRepositoryStrings.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/VirtualCurrencyStrings.swift",
        "Logging/Strings/WebRedemptionStrings.swift",
        "Misc/Box.swift",
        "Misc/Codable/AnyDecodable.swift",
        "Misc/Codable/AnyEncodable.swift",
        "Misc/Codable/DefaultDecodable.swift",
        "Misc/Codable/EnsureNonEmptyCollectionDecodable.swift",
        "Misc/Codable/IgnoreHashable.swift",
        "Misc/Codable/NonEmptyStringDecodable.swift",
        "Misc/Codable/RawDataContainer.swift",
        "Misc/Concurrency/Atomic.swift",
        "Misc/Concurrency/Lock.swift",
        "Misc/Concurrency/OperationDispatcher.swift",
        "Misc/Concurrency/Purchases+async.swift",
        "Misc/Concurrency/Purchases+nonasync.swift",
        "Misc/Concurrency/SynchronizedUserDefaults.swift",
        "Misc/DangerousSettings.swift",
        "Misc/DateAndTime/Clock.swift",
        "Misc/DateAndTime/DateExtensions.swift",
        "Misc/DateAndTime/DateProvider.swift",
        "Misc/DateAndTime/ISODurationFormatter.swift",
        "Misc/DateAndTime/ISOPeriodFormatter.swift",
        "Misc/DateAndTime/TimingUtil.swift",
        "Misc/Deprecations.swift",
        "Misc/Either.swift",
        "Misc/Locale/PreferredLocalesProvider.swift",
        "Misc/MacDevice.swift",
        "Misc/MapAppStoreDetector.swift",
        "Misc/Obsoletions.swift",
        "Misc/PlatformInfo.swift",
        "Misc/PriceFormatterProvider.swift",
        "Misc/RateLimiter.swift",
        "Misc/SandboxEnvironmentDetector.swift",
        "Misc/StoreKitVersion.swift",
        "Misc/SystemInfo.swift",
        "Networking/Backend.swift",
        "Networking/BackendConfiguration.swift",
        "Networking/Caching/CacheFetchPolicy.swift",
        "Networking/Caching/CallbackCache.swift",
        "Networking/Caching/CallbackCacheStatus.swift",
        "Networking/Caching/CustomerCenterConfigCallback.swift",
        "Networking/Caching/CustomerInfoCallback.swift",
        "Networking/Caching/LogInCallback.swift",
        "Networking/Caching/OfferingsCallback.swift",
        "Networking/Caching/ProductEntitlementMappingCallback.swift",
        "Networking/Caching/VirtualCurrenciesCallback.swift",
        "Networking/Caching/WebBillingProductsCallback.swift",
        "Networking/Caching/WebOfferingProductsCallback.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/HTTPClient/SimpleNetworkServiceType.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/GetVirtualCurrenciesOperation.swift",
        "Networking/Operations/GetWebBillingProductsOperation.swift",
        "Networking/Operations/GetWebOfferingProductsOperation.swift",
        "Networking/Operations/Handling/CustomerInfoResponseHandler.swift",
        "Networking/Operations/HealthOperation.swift",
        "Networking/Operations/HealthReportAvailabilityOperation.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/HealthReportAvailabilityResponse.swift",
        "Networking/Responses/HealthReportResponse.swift",
        "Networking/Responses/OfferingsResponse.swift",
        "Networking/Responses/PostOfferResponse.swift",
        "Networking/Responses/ProductEntitlementMappingResponse.swift",
        "Networking/Responses/RevenueCatUI/PaywallComponentsData.swift",
        "Networking/Responses/RevenueCatUI/UIConfig.swift",
        "Networking/Responses/VirtualCurrenciesResponse.swift",
        "Networking/Responses/WebBillingProductsResponse.swift",
        "Networking/Responses/WebOfferingProductsResponse.swift",
        "Networking/VirtualCurrenciesAPI.swift",
        "Networking/WebBillingAPI.swift",
        "Networking/WebBillingHTTPRequestPath.swift",
        "OfflineEntitlements/CustomerInfo+OfflineEntitlements.swift",
        "OfflineEntitlements/OfflineCustomerInfoCreator.swift",
        "OfflineEntitlements/OfflineEntitlementsManager.swift",
        "OfflineEntitlements/ProductEntitlementMapping.swift",
        "OfflineEntitlements/ProductEntitlementMappingFetcher.swift",
        "OfflineEntitlements/PurchasedProductsFetcher.swift",
        "OfflineEntitlements/PurchasedSK2Product.swift",
        "Paywalls/Components/Common/Background.swift",
        "Paywalls/Components/Common/Border.swift",
        "Paywalls/Components/Common/ComponentOverrides.swift",
        "Paywalls/Components/Common/Dimension.swift",
        "Paywalls/Components/Common/PaywallComponentBase.swift",
        "Paywalls/Components/Common/PaywallComponentLocalization.swift",
        "Paywalls/Components/Common/PaywallComponentPropertyTypes.swift",
        "Paywalls/Components/PaywallButtonComponent.swift",
        "Paywalls/Components/PaywallCarouselComponent.swift",
        "Paywalls/Components/PaywallIconComponent.swift",
        "Paywalls/Components/PaywallImageComponent.swift",
        "Paywalls/Components/PaywallPackageComponent.swift",
        "Paywalls/Components/PaywallPurchaseButtonComponent.swift",
        "Paywalls/Components/PaywallStackComponent.swift",
        "Paywalls/Components/PaywallStickyFooterComponent.swift",
        "Paywalls/Components/PaywallTabsComponent.swift",
        "Paywalls/Components/PaywallTextComponent.swift",
        "Paywalls/Components/PaywallTimelineComponent.swift",
        "Paywalls/Components/PaywallV2CacheWarming.swift",
        "Paywalls/Components/PaywallVideoComponent.swift",
        "Paywalls/Components/Transitions/PaywallAnimation.swift",
        "Paywalls/Components/Transitions/PaywallTransition.swift",
        "Paywalls/Events/Networking/EventsRequest+Paywall.swift",
        "Paywalls/Events/Networking/PaywallHTTPRequestPath.swift",
        "Paywalls/Events/Networking/PostPaywallEventsOperation.swift",
        "Paywalls/Events/PaywallEvent.swift",
        "Paywalls/Events/PaywallEventStore.swift",
        "Paywalls/Events/PaywallEventsManager.swift",
        "Paywalls/PaywallCacheWarming.swift",
        "Paywalls/PaywallColor.swift",
        "Paywalls/PaywallData+Localization.swift",
        "Paywalls/PaywallData.swift",
        "Paywalls/PaywallFontManagerType.swift",
        "Paywalls/PaywallViewMode.swift",
        "Paywalls/SubscriptionHistoryTracker.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/ProductsManagerFactory.swift",
        "Purchasing/ProductsManagerType.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/SimulatedStore/SimulatedStoreProduct.swift",
        "Purchasing/SimulatedStore/SimulatedStoreProductsManager.swift",
        "Purchasing/SimulatedStore/SimulatedStorePurchaseHandler.swift",
        "Purchasing/SimulatedStore/SimulatedStorePurchaseUI.swift",
        "Purchasing/SimulatedStore/SimulatedStoreTransaction.swift",
        "Purchasing/SimulatedStore/WebBillingProduct+SimulatedStoreProduct.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/PaymentAuthorizationProvider.swift",
        "Support/PaywallExtensions.swift",
        "Support/PurchasesDiagnostics.swift",
        "Support/SDKHealthError+CustomNSError.swift",
        "Support/SDKHealthManager.swift",
        "Support/StoreMessageType.swift",
        "Support/StoreMessagesHelper.swift",
        "Support/SwiftVersionCheck.swift",
        "Virtual Currencies/VirtualCurrencies.swift",
        "Virtual Currencies/VirtualCurrency.swift",
        "Virtual Currencies/VirtualCurrencyManager.swift",
        "WebPurchaseRedemption/URL+WebPurchaseRedemption.swift",
        "WebPurchaseRedemption/WebPurchaseRedemption.swift",
        "WebPurchaseRedemption/WebPurchaseRedemptionHelper.swift",
        "WebPurchaseRedemption/WebPurchaseRedemptionResult.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "RevenueCatUITests",
      "module_type" : "SwiftTarget",
      "name" : "RevenueCatUITests",
      "path" : "Tests/RevenueCatUITests",
      "product_dependencies" : [
        "Nimble",
        "SnapshotTesting"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Resources/background.heic",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Resources/header.heic",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "BaseSnapshotTest.swift",
        "CustomerCenter/BaseManageSubscriptionViewModelTests.swift",
        "CustomerCenter/ContactSupportUtilitiesTests.swift",
        "CustomerCenter/CustomActionDataTests.swift",
        "CustomerCenter/CustomerCenterActionWrapperTests.swift",
        "CustomerCenter/CustomerCenterViewModelTests.swift",
        "CustomerCenter/DiscountsHandlerTests.swift",
        "CustomerCenter/FeedbackSurveyViewModelTests.swift",
        "CustomerCenter/PromotionalOfferViewModelTests.swift",
        "CustomerCenter/PurchaseCardViewBadgeTests.swift",
        "CustomerCenter/PurchaseInformationTests.swift",
        "CustomerCenter/SubscriptionDetailViewModelTests.swift",
        "CustomerCenter/VirtualCurrencyBalancesScreenViewModelTests.swift",
        "Data/LocalizedAlertErrorTests.swift",
        "Data/PackageVariablesTests.swift",
        "Data/PaywallDataValidationTests.swift",
        "Data/SemanticVersionTests.swift",
        "Data/TemplateViewConfigurationTests.swift",
        "Data/VariablesTests.swift",
        "Helpers/AsyncTestHelpers.swift",
        "Helpers/AvailabilityChecks.swift",
        "Helpers/CurrentTestCaseTracker.swift",
        "Helpers/DataExtensions.swift",
        "Helpers/ImageSnapshot.swift",
        "Helpers/OSVersionEquivalent.swift",
        "Helpers/SnapshotTesting+Extensions.swift",
        "Helpers/TestCase.swift",
        "ImageLoaderTests.swift",
        "LocalizationTests.swift",
        "Mocks/MockStoreProductDiscount.swift",
        "Mocks/MockTransaction.swift",
        "PaywallFooterTests.swift",
        "PaywallViewEventsTests.swift",
        "PaywallsV2/LocaleFinderTests.swift",
        "PaywallsV2/PaywallPreviewResourcesLoader.swift",
        "PaywallsV2/PresentedPartialsTests.swift",
        "PaywallsV2/TakeScreenshot.swift",
        "PaywallsV2/VariableHandlerV2Tests.swift",
        "PresentIfNeededTests.swift",
        "PurchaseCompletedHandlerTests.swift",
        "Purchasing/PurchaseHandlerTests.swift",
        "Templates/ExternalPurchaseAndRestoreTests.swift",
        "Templates/OtherPaywallViewTests.swift",
        "Templates/PaywallViewDynamicTypeTests.swift",
        "Templates/PaywallViewLocalizationTests.swift",
        "Templates/Template1ViewTests.swift",
        "Templates/Template2ViewTests.swift",
        "Templates/Template3ViewTests.swift",
        "Templates/Template4ViewTests.swift",
        "Templates/Template5ViewTests.swift",
        "Templates/Template7ViewTests.swift"
      ],
      "target_dependencies" : [
        "RevenueCatUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "RevenueCatUI",
      "module_type" : "SwiftTarget",
      "name" : "RevenueCatUI",
      "path" : "RevenueCatUI",
      "product_memberships" : [
        "RevenueCatUI"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/ar.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "ar"
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/RevenueCatUI/Resources/az.lproj/Localizable.strings",
          "rule" : {
            "process" : {
              "localization" : "az"
            }
          }
        },
        {
          "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",
        "CrossPlatform/PlatformBezierPath.swift",
        "CrossPlatform/PlatformColor.swift",
        "CrossPlatform/PlatformFont.swift",
        "CrossPlatform/PlatformImage.swift",
        "CustomerCenter/Abstractions/CustomerCenterPurchasesType.swift",
        "CustomerCenter/Actions/CustomerCenter+PreferenceKeys.swift",
        "CustomerCenter/Actions/CustomerCenterConfigData.HelpPath+PurchaseInformation.swift",
        "CustomerCenter/Actions/CustomerCenterView+Actions.swift",
        "CustomerCenter/ButtonStyles.swift",
        "CustomerCenter/ColorFromAppearance.swift",
        "CustomerCenter/ContactSupportUtilities.swift",
        "CustomerCenter/CustomerInfo+CurrentEntitlement.swift",
        "CustomerCenter/Data/CustomActionData.swift",
        "CustomerCenter/Data/CustomerCenterAction.swift",
        "CustomerCenter/Data/CustomerCenterActionViewModifier.swift",
        "CustomerCenter/Data/CustomerCenterActionWrapper.swift",
        "CustomerCenter/Data/CustomerCenterConfigData+Mock.swift",
        "CustomerCenter/Data/CustomerCenterEnvironment.swift",
        "CustomerCenter/Data/CustomerCenterError.swift",
        "CustomerCenter/Data/CustomerCenterManagementOption.swift",
        "CustomerCenter/Data/CustomerCenterPurchases.swift",
        "CustomerCenter/Data/DiscountsHandler.swift",
        "CustomerCenter/Data/EntitlementInfo+Extensions.swift",
        "CustomerCenter/Data/FeedbackSurveyData.swift",
        "CustomerCenter/Data/LoadPromotionalOfferUseCase.swift",
        "CustomerCenter/Data/PromotionalOfferData.swift",
        "CustomerCenter/Data/PurchaseInformation+Mock.swift",
        "CustomerCenter/Data/PurchaseInformation.swift",
        "CustomerCenter/Data/SemanticVersion.swift",
        "CustomerCenter/Data/Transaction.swift",
        "CustomerCenter/Extensions/CustomerCenterConfigDataSupport+URL.swift",
        "CustomerCenter/Extensions/CustomerInfo+SeeAllPurchases.swift",
        "CustomerCenter/Extensions/PurchaseInformation+Creation.swift",
        "CustomerCenter/Mocks/MockCustomerCenterPurchases.swift",
        "CustomerCenter/Mocks/MockCustomerCenterStoreKitUtilities.swift",
        "CustomerCenter/Mocks/MockLoadPromotionalOfferUseCase.swift",
        "CustomerCenter/Mocks/PurchaseInformationFixtures.swift",
        "CustomerCenter/URLUtilities.swift",
        "CustomerCenter/Utilities/CustomerCenterLocalizationStrings.swift",
        "CustomerCenter/Utilities/CustomerCenterStoreKitUtilities.swift",
        "CustomerCenter/Utilities/CustomerCenterStoreKitUtilitiesType.swift",
        "CustomerCenter/Utilities/CustomerCenterStylingUtilities.swift",
        "CustomerCenter/Utilities/IdentifiableURL.swift",
        "CustomerCenter/View+PresentCustomerCenter.swift",
        "CustomerCenter/ViewModels/BaseManageSubscriptionViewModel.swift",
        "CustomerCenter/ViewModels/CustomerCenterViewModel.swift",
        "CustomerCenter/ViewModels/CustomerCenterViewState.swift",
        "CustomerCenter/ViewModels/FeedbackSurveyViewModel.swift",
        "CustomerCenter/ViewModels/NoSubscriptionsCardViewModel.swift",
        "CustomerCenter/ViewModels/PromotionalOfferViewModel.swift",
        "CustomerCenter/ViewModels/PurchaseHistory/PurchaseDetailItem.swift",
        "CustomerCenter/ViewModels/PurchaseHistory/PurchaseDetailViewModel.swift",
        "CustomerCenter/ViewModels/PurchaseHistory/PurchaseHistoryViewModel.swift",
        "CustomerCenter/ViewModels/PurchaseHistory/PurchaseInformation+History.swift",
        "CustomerCenter/ViewModels/RelevantPurchasesListViewModel.swift",
        "CustomerCenter/ViewModels/RestorePurchasesAlertViewModel.swift",
        "CustomerCenter/ViewModels/SubscriptionDetailViewModel.swift",
        "CustomerCenter/ViewModels/VirtualCurrencyBalancesScreenViewModel.swift",
        "CustomerCenter/Views/ActiveSubscriptionButtonsView.swift",
        "CustomerCenter/Views/AppUpdateWarningView.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/FallbackNoSubscriptionsView.swift",
        "CustomerCenter/Views/FeedbackSurveyView.swift",
        "CustomerCenter/Views/ManageSubscriptionsButtonsView.swift",
        "CustomerCenter/Views/NoSubscriptionsCardView.swift",
        "CustomerCenter/Views/PromotionalOfferView.swift",
        "CustomerCenter/Views/PurchaseCardView.swift",
        "CustomerCenter/Views/PurchaseHistory/PurchaseDetailView.swift",
        "CustomerCenter/Views/PurchaseHistory/PurchaseHistoryView.swift",
        "CustomerCenter/Views/RelevantPurchasesListView.swift",
        "CustomerCenter/Views/RestorePurchasesAlert.swift",
        "CustomerCenter/Views/ScrollViewSection.swift",
        "CustomerCenter/Views/ScrollViewWithOSBackground.swift",
        "CustomerCenter/Views/SubscriptionDetailView.swift",
        "CustomerCenter/Views/TintedProgressView.swift",
        "CustomerCenter/Views/UIKit Compatibility/CustomerCenterViewController.swift",
        "CustomerCenter/Views/Virtual Currencies/VirtualCurrenciesScrollViewWithOSBackgroundSection.swift",
        "CustomerCenter/Views/Virtual Currencies/VirtualCurrencyBalanceListRow.swift",
        "CustomerCenter/Views/Virtual Currencies/VirtualCurrencyBalancesScreen.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",
        "Data/VirtualCurrenciesFixtures.swift",
        "Helpers/Bundle+Extensions.swift",
        "Helpers/ColorInformation+MultiScheme.swift",
        "Helpers/EmergeRenderingMode.swift",
        "Helpers/ImageLoader.swift",
        "Helpers/Logger.swift",
        "Helpers/Optional+Extensions.swift",
        "Helpers/Package+VariableDataProvider.swift",
        "Helpers/PaywallData+Default.swift",
        "Helpers/PreviewHelpers.swift",
        "Helpers/RuntimeUtils.swift",
        "Helpers/StoreProduct+Extensions.swift",
        "Helpers/StoreProductDiscount+Extensions.swift",
        "Helpers/SubscriptionPeriod+Extensions.swift",
        "Helpers/TemplateView+MultiTier.swift",
        "Helpers/VersionDetector.swift",
        "Modifiers/ConsistentPackageContentView.swift",
        "Modifiers/ConsistentTierContentView.swift",
        "Modifiers/FitToAspectRatio.swift",
        "Modifiers/FooterHidingModifier.swift",
        "Modifiers/ViewExtensions.swift",
        "PaywallFontProvider.swift",
        "PaywallView.swift",
        "Purchasing/MockPurchases.swift",
        "Purchasing/PaywallPurchasesType.swift",
        "Purchasing/PurchaseHandler+TestData.swift",
        "Purchasing/PurchaseHandler.swift",
        "Templates/Other platforms/WatchTemplateView.swift",
        "Templates/Template1View.swift",
        "Templates/Template2View.swift",
        "Templates/Template3View.swift",
        "Templates/Template4View.swift",
        "Templates/Template5View.swift",
        "Templates/Template7View.swift",
        "Templates/TemplateViewType.swift",
        "Templates/V2/Components/Button/BottomSheetView.swift",
        "Templates/V2/Components/Button/ButtonComponentView.swift",
        "Templates/V2/Components/Button/ButtonComponentViewModel.swift",
        "Templates/V2/Components/Carousel/CarouselComponentView.swift",
        "Templates/V2/Components/Carousel/CarouselComponentViewModel.swift",
        "Templates/V2/Components/ComponentsView.swift",
        "Templates/V2/Components/Icon/IconComponentView.swift",
        "Templates/V2/Components/Icon/IconComponentViewModel.swift",
        "Templates/V2/Components/Image/ImageComponentView.swift",
        "Templates/V2/Components/Image/ImageComponentViewModel.swift",
        "Templates/V2/Components/Packages/Package/ComponentViewState.swift",
        "Templates/V2/Components/Packages/Package/PackageComponentView.swift",
        "Templates/V2/Components/Packages/Package/PackageComponentViewModel.swift",
        "Templates/V2/Components/Packages/PurchaseButton/PurchaseButtonComponentView.swift",
        "Templates/V2/Components/Packages/PurchaseButton/PurchaseButtonComponentViewModel.swift",
        "Templates/V2/Components/Root/RootView.swift",
        "Templates/V2/Components/Root/RootViewModel.swift",
        "Templates/V2/Components/Stack/FlexHStack.swift",
        "Templates/V2/Components/Stack/FlexVStack.swift",
        "Templates/V2/Components/Stack/JustifyContent.swift",
        "Templates/V2/Components/Stack/StackComponentView.swift",
        "Templates/V2/Components/Stack/StackComponentViewModel.swift",
        "Templates/V2/Components/StickyFooter/StickyFooterComponentView.swift",
        "Templates/V2/Components/StickyFooter/StickyFooterComponentViewModel.swift",
        "Templates/V2/Components/Tabs/TabControlButtonComponentView.swift",
        "Templates/V2/Components/Tabs/TabControlButtonComponentViewModel.swift",
        "Templates/V2/Components/Tabs/TabControlComponentView.swift",
        "Templates/V2/Components/Tabs/TabControlComponentViewModel.swift",
        "Templates/V2/Components/Tabs/TabControlToggleComponentView.swift",
        "Templates/V2/Components/Tabs/TabControlToggleComponentViewModel.swift",
        "Templates/V2/Components/Tabs/TabsComponentView.swift",
        "Templates/V2/Components/Tabs/TabsComponentViewModel.swift",
        "Templates/V2/Components/Text/TextComponentView.swift",
        "Templates/V2/Components/Text/TextComponentViewModel.swift",
        "Templates/V2/Components/Timeline/TimelineComponentView.swift",
        "Templates/V2/Components/Timeline/TimelineComponentViewModel.swift",
        "Templates/V2/EnvironmentObjects/IntroOfferEligibilityContext.swift",
        "Templates/V2/EnvironmentObjects/OpenSheet.swift",
        "Templates/V2/EnvironmentObjects/PackageContext.swift",
        "Templates/V2/EnvironmentObjects/PaywallPromoOfferCache.swift",
        "Templates/V2/EnvironmentObjects/ScreenCondition.swift",
        "Templates/V2/Localizations/LocaleExtensions.swift",
        "Templates/V2/Localizations/LocaleFinder.swift",
        "Templates/V2/Localizations/LocalizationDictionaryExtensions.swift",
        "Templates/V2/PaywallsV2View.swift",
        "Templates/V2/Previews/PreviewMock.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/ButtonWithFooterPreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/FallbackComponentPreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/FamilySharingTogglePreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/MultiTierPreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/PurchaseButtonInPackagePreview.swift",
        "Templates/V2/Previews/TemplateComponentsViewPreviews/Template1Preview.swift",
        "Templates/V2/Variables/VariableHandlerV2.swift",
        "Templates/V2/ViewHelpers/BackgroundStyle.swift",
        "Templates/V2/ViewHelpers/BadgeModifier.swift",
        "Templates/V2/ViewHelpers/DisplayableColor.swift",
        "Templates/V2/ViewHelpers/Fill.swift",
        "Templates/V2/ViewHelpers/FixMacButtonsModifier.swift",
        "Templates/V2/ViewHelpers/ForegroundColorScheme.swift",
        "Templates/V2/ViewHelpers/NavigatetoURL.swift",
        "Templates/V2/ViewHelpers/ProgressViewModifier.swift",
        "Templates/V2/ViewHelpers/ShadowModifier.swift",
        "Templates/V2/ViewHelpers/Shape.swift",
        "Templates/V2/ViewHelpers/SizeModifier.swift",
        "Templates/V2/ViewHelpers/TransitionModifier.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/VideoComponentViewModel.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/CompatibilityContentUnavailableView.swift",
        "Views/DebugErrorView.swift",
        "Views/ErrorDisplay.swift",
        "Views/ErrorView.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/FileRepository.swift",
        "Caching/InMemoryCachedObject.swift",
        "Caching/KeyedDeferredValueStore.swift",
        "Caching/LargeItemCacheType.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/FileRepositoryStrings.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/VirtualCurrencyStrings.swift",
        "Logging/Strings/WebRedemptionStrings.swift",
        "Misc/Box.swift",
        "Misc/Codable/AnyDecodable.swift",
        "Misc/Codable/AnyEncodable.swift",
        "Misc/Codable/DefaultDecodable.swift",
        "Misc/Codable/EnsureNonEmptyCollectionDecodable.swift",
        "Misc/Codable/IgnoreHashable.swift",
        "Misc/Codable/NonEmptyStringDecodable.swift",
        "Misc/Codable/RawDataContainer.swift",
        "Misc/Concurrency/Atomic.swift",
        "Misc/Concurrency/Lock.swift",
        "Misc/Concurrency/OperationDispatcher.swift",
        "Misc/Concurrency/Purchases+async.swift",
        "Misc/Concurrency/Purchases+nonasync.swift",
        "Misc/Concurrency/SynchronizedUserDefaults.swift",
        "Misc/DangerousSettings.swift",
        "Misc/DateAndTime/Clock.swift",
        "Misc/DateAndTime/DateExtensions.swift",
        "Misc/DateAndTime/DateProvider.swift",
        "Misc/DateAndTime/ISODurationFormatter.swift",
        "Misc/DateAndTime/ISOPeriodFormatter.swift",
        "Misc/DateAndTime/TimingUtil.swift",
        "Misc/Deprecations.swift",
        "Misc/Either.swift",
        "Misc/Locale/PreferredLocalesProvider.swift",
        "Misc/MacDevice.swift",
        "Misc/MapAppStoreDetector.swift",
        "Misc/Obsoletions.swift",
        "Misc/PlatformInfo.swift",
        "Misc/PriceFormatterProvider.swift",
        "Misc/RateLimiter.swift",
        "Misc/SandboxEnvironmentDetector.swift",
        "Misc/StoreKitVersion.swift",
        "Misc/SystemInfo.swift",
        "Networking/Backend.swift",
        "Networking/BackendConfiguration.swift",
        "Networking/Caching/CacheFetchPolicy.swift",
        "Networking/Caching/CallbackCache.swift",
        "Networking/Caching/CallbackCacheStatus.swift",
        "Networking/Caching/CustomerCenterConfigCallback.swift",
        "Networking/Caching/CustomerInfoCallback.swift",
        "Networking/Caching/LogInCallback.swift",
        "Networking/Caching/OfferingsCallback.swift",
        "Networking/Caching/ProductEntitlementMappingCallback.swift",
        "Networking/Caching/VirtualCurrenciesCallback.swift",
        "Networking/Caching/WebBillingProductsCallback.swift",
        "Networking/Caching/WebOfferingProductsCallback.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/HTTPClient/SimpleNetworkServiceType.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/GetVirtualCurrenciesOperation.swift",
        "Networking/Operations/GetWebBillingProductsOperation.swift",
        "Networking/Operations/GetWebOfferingProductsOperation.swift",
        "Networking/Operations/Handling/CustomerInfoResponseHandler.swift",
        "Networking/Operations/HealthOperation.swift",
        "Networking/Operations/HealthReportAvailabilityOperation.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/HealthReportAvailabilityResponse.swift",
        "Networking/Responses/HealthReportResponse.swift",
        "Networking/Responses/OfferingsResponse.swift",
        "Networking/Responses/PostOfferResponse.swift",
        "Networking/Responses/ProductEntitlementMappingResponse.swift",
        "Networking/Responses/RevenueCatUI/PaywallComponentsData.swift",
        "Networking/Responses/RevenueCatUI/UIConfig.swift",
        "Networking/Responses/VirtualCurrenciesResponse.swift",
        "Networking/Responses/WebBillingProductsResponse.swift",
        "Networking/Responses/WebOfferingProductsResponse.swift",
        "Networking/VirtualCurrenciesAPI.swift",
        "Networking/WebBillingAPI.swift",
        "Networking/WebBillingHTTPRequestPath.swift",
        "OfflineEntitlements/CustomerInfo+OfflineEntitlements.swift",
        "OfflineEntitlements/OfflineCustomerInfoCreator.swift",
        "OfflineEntitlements/OfflineEntitlementsManager.swift",
        "OfflineEntitlements/ProductEntitlementMapping.swift",
        "OfflineEntitlements/ProductEntitlementMappingFetcher.swift",
        "OfflineEntitlements/PurchasedProductsFetcher.swift",
        "OfflineEntitlements/PurchasedSK2Product.swift",
        "Paywalls/Components/Common/Background.swift",
        "Paywalls/Components/Common/Border.swift",
        "Paywalls/Components/Common/ComponentOverrides.swift",
        "Paywalls/Components/Common/Dimension.swift",
        "Paywalls/Components/Common/PaywallComponentBase.swift",
        "Paywalls/Components/Common/PaywallComponentLocalization.swift",
        "Paywalls/Components/Common/PaywallComponentPropertyTypes.swift",
        "Paywalls/Components/PaywallButtonComponent.swift",
        "Paywalls/Components/PaywallCarouselComponent.swift",
        "Paywalls/Components/PaywallIconComponent.swift",
        "Paywalls/Components/PaywallImageComponent.swift",
        "Paywalls/Components/PaywallPackageComponent.swift",
        "Paywalls/Components/PaywallPurchaseButtonComponent.swift",
        "Paywalls/Components/PaywallStackComponent.swift",
        "Paywalls/Components/PaywallStickyFooterComponent.swift",
        "Paywalls/Components/PaywallTabsComponent.swift",
        "Paywalls/Components/PaywallTextComponent.swift",
        "Paywalls/Components/PaywallTimelineComponent.swift",
        "Paywalls/Components/PaywallV2CacheWarming.swift",
        "Paywalls/Components/PaywallVideoComponent.swift",
        "Paywalls/Components/Transitions/PaywallAnimation.swift",
        "Paywalls/Components/Transitions/PaywallTransition.swift",
        "Paywalls/Events/Networking/EventsRequest+Paywall.swift",
        "Paywalls/Events/Networking/PaywallHTTPRequestPath.swift",
        "Paywalls/Events/Networking/PostPaywallEventsOperation.swift",
        "Paywalls/Events/PaywallEvent.swift",
        "Paywalls/Events/PaywallEventStore.swift",
        "Paywalls/Events/PaywallEventsManager.swift",
        "Paywalls/PaywallCacheWarming.swift",
        "Paywalls/PaywallColor.swift",
        "Paywalls/PaywallData+Localization.swift",
        "Paywalls/PaywallData.swift",
        "Paywalls/PaywallFontManagerType.swift",
        "Paywalls/PaywallViewMode.swift",
        "Paywalls/SubscriptionHistoryTracker.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/ProductsManagerFactory.swift",
        "Purchasing/ProductsManagerType.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/SimulatedStore/SimulatedStoreProduct.swift",
        "Purchasing/SimulatedStore/SimulatedStoreProductsManager.swift",
        "Purchasing/SimulatedStore/SimulatedStorePurchaseHandler.swift",
        "Purchasing/SimulatedStore/SimulatedStorePurchaseUI.swift",
        "Purchasing/SimulatedStore/SimulatedStoreTransaction.swift",
        "Purchasing/SimulatedStore/WebBillingProduct+SimulatedStoreProduct.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/PaymentAuthorizationProvider.swift",
        "Support/PaywallExtensions.swift",
        "Support/PurchasesDiagnostics.swift",
        "Support/SDKHealthError+CustomNSError.swift",
        "Support/SDKHealthManager.swift",
        "Support/StoreMessageType.swift",
        "Support/StoreMessagesHelper.swift",
        "Support/SwiftVersionCheck.swift",
        "Virtual Currencies/VirtualCurrencies.swift",
        "Virtual Currencies/VirtualCurrency.swift",
        "Virtual Currencies/VirtualCurrencyManager.swift",
        "WebPurchaseRedemption/URL+WebPurchaseRedemption.swift",
        "WebPurchaseRedemption/WebPurchaseRedemption.swift",
        "WebPurchaseRedemption/WebPurchaseRedemptionHelper.swift",
        "WebPurchaseRedemption/WebPurchaseRedemptionResult.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ReceiptParserTests",
      "module_type" : "SwiftTarget",
      "name" : "ReceiptParserTests",
      "path" : "Tests/ReceiptParserTests",
      "product_dependencies" : [
        "Nimble"
      ],
      "sources" : [
        "Helpers/MockBundle.swift",
        "ReceiptParserFetchingTests.swift"
      ],
      "target_dependencies" : [
        "ReceiptParser"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ReceiptParser",
      "module_type" : "SwiftTarget",
      "name" : "ReceiptParser",
      "path" : "LocalReceiptParsing",
      "product_memberships" : [
        "ReceiptParser"
      ],
      "sources" : [
        "BasicTypes/ASN1Container.swift",
        "BasicTypes/ASN1ObjectIdentifier.swift",
        "BasicTypes/AppleReceipt.swift",
        "BasicTypes/InAppPurchase.swift",
        "Builders/ASN1ContainerBuilder.swift",
        "Builders/ASN1ObjectIdentifierBuilder.swift",
        "Builders/AppleReceiptBuilder.swift",
        "Builders/InAppPurchaseBuilder.swift",
        "DataConverters/ArraySlice_UInt8+Extensions.swift",
        "DataConverters/Codable+Extensions.swift",
        "DataConverters/DateFormatter+Extensions.swift",
        "DataConverters/UInt8+Extensions.swift",
        "Helpers/FileReader.swift",
        "Helpers/LoggerType.swift",
        "Helpers/ProcessInfo+Extensions.swift",
        "Helpers/ReceiptParserLogger.swift",
        "Helpers/ReceiptStrings.swift",
        "LocalReceiptFetcher.swift",
        "PurchasesReceiptParser.swift",
        "ReceiptParser-only-files/PurchasesReceiptParser+Extensions.swift",
        "ReceiptParsingError.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
warning: 'spi-builder-workspace': Invalid Exclude '/Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/Templates/__Snapshots__': File not found.
warning: 'spi-builder-workspace': ignoring broken symlink /Users/admin/builder/spi-builder-workspace/Tests/RevenueCatUITests/PaywallsV2/__PreviewResources__
warning: 'spi-builder-workspace': Invalid Resource 'PaywallsV2/__PreviewResources__': File not found.
Done.