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.0 for macOS (SPM) on 12 Sep 2025 22:43:17 UTC.

Swift 6 data race errors: 0

Build Command

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

Build Log

332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[957/1069] Compiling RevenueCatUI DebugErrorView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[958/1069] Compiling RevenueCatUI ErrorDisplay.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[959/1069] Compiling RevenueCatUI ErrorView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[960/1069] Compiling RevenueCatUI FooterView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[961/1069] Compiling RevenueCatUI GradientView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[962/1069] Compiling RevenueCatUI IconView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[963/1069] Compiling RevenueCatUI IntroEligibilityStateView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[964/1069] Compiling RevenueCatUI LoadingPaywallView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[965/1069] Compiling RevenueCatUI PackageButtonStyle.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[966/1069] Compiling RevenueCatUI ProgressView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[967/1069] Compiling RevenueCatUI PurchaseButton.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[968/1069] Compiling RevenueCatUI RemoteImage.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[969/1069] Compiling RevenueCatUI SafariView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[970/1069] Compiling RevenueCatUI TemplateBackgroundImageView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[971/1069] Compiling RevenueCatUI TemplatePackageSetting.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[972/1069] Compiling RevenueCatUI TierSelectorView.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[973/1069] Compiling RevenueCatUI resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PresentPaywallFooter.swift:404:26: warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
402 |             .onPreferenceChange(PaywallCurrentTierPreferenceKey.self) { data in
403 |                 if let data {
404 |                     self.handler(data.tier, data.localizedName)
    |                          `- warning: converting function value of type 'PaywallTierChangeHandler' (aka '@MainActor @Sendable (PaywallData.Tier, String) -> ()') to '(PaywallData.Tier, String) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
405 |                 }
406 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:307:26: warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
305 |             .onPreferenceChange(PurchaseInProgressPreferenceKey.self) { package in
306 |                 if let package {
307 |                     self.handler(package)
    |                          `- warning: converting function value of type 'PurchaseOfPackageStartedHandler' (aka '@MainActor @Sendable (Package) -> ()') to '(Package) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
308 |                 }
309 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:331:26: warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
329 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
330 |                 if let result, !result.userCancelled {
331 |                     self.handler(result.transaction, result.customerInfo)
    |                          `- warning: converting function value of type 'PurchaseCompletedHandler' (aka '@MainActor @Sendable (Optional<StoreTransaction>, CustomerInfo) -> ()') to '(StoreTransaction?, CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
332 |                 }
333 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:351:26: warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
349 |             .onPreferenceChange(PurchasedResultPreferenceKey.self) { result in
350 |                 if let result, result.userCancelled {
351 |                     self.handler()
    |                          `- warning: converting function value of type 'PurchaseCancelledHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
352 |                 }
353 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:367:26: warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
365 |             .onPreferenceChange(RestoreInProgressPreferenceKey.self) { inProgress in
366 |                 if inProgress {
367 |                     self.handler()
    |                          `- warning: converting function value of type 'RestoreStartedHandler' (aka '@MainActor @Sendable () -> ()') to '() -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
368 |                 }
369 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:383:26: warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
381 |             .onPreferenceChange(RestoredCustomerInfoPreferenceKey.self) { customerInfo in
382 |                 if let customerInfo {
383 |                     self.handler(customerInfo)
    |                          `- warning: converting function value of type 'PurchaseOrRestoreCompletedHandler' (aka '@MainActor @Sendable (CustomerInfo) -> ()') to '(CustomerInfo) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
384 |                 }
385 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:399:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
397 |             .onPreferenceChange(PurchaseErrorPreferenceKey.self) { error in
398 |                 if let error {
399 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
400 |                 }
401 |             }
/Users/admin/builder/spi-builder-workspace/RevenueCatUI/View+PurchaseRestoreCompleted.swift:415:26: warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
413 |             .onPreferenceChange(RestoreErrorPreferenceKey.self) { error in
414 |                 if let error {
415 |                     self.handler(error)
    |                          `- warning: converting function value of type 'PurchaseFailureHandler' (aka '@MainActor @Sendable (NSError) -> ()') to '(NSError) -> Void' loses global actor 'MainActor'; this is an error in the Swift 6 language mode
416 |                 }
417 |             }
[974/1069] Compiling RevenueCatUI PurchaseCardView.swift
[975/1069] Compiling RevenueCatUI PurchaseDetailView.swift
[976/1069] Compiling RevenueCatUI PurchaseHistoryView.swift
[977/1069] Compiling RevenueCatUI RelevantPurchasesListView.swift
[978/1069] Compiling RevenueCatUI RestorePurchasesAlert.swift
[979/1069] Compiling RevenueCatUI ScrollViewSection.swift
[980/1069] Compiling RevenueCatUI ScrollViewWithOSBackground.swift
[981/1069] Compiling RevenueCatUI SubscriptionDetailView.swift
[982/1069] Compiling RevenueCatUI TintedProgressView.swift
[983/1069] Compiling RevenueCatUI CustomerCenterViewController.swift
[984/1069] Compiling RevenueCatUI VirtualCurrenciesScrollViewWithOSBackgroundSection.swift
[985/1069] Compiling RevenueCatUI VirtualCurrencyBalanceListRow.swift
[986/1069] Compiling RevenueCatUI VirtualCurrencyBalancesScreen.swift
[987/1069] Compiling RevenueCatUI Constants.swift
[988/1069] Compiling RevenueCatUI CustomerInfoFixtures.swift
[989/1069] Compiling RevenueCatUI PaywallError.swift
[990/1069] Compiling RevenueCatUI TemplateError.swift
[991/1069] Compiling RevenueCatUI IntroEligibilityViewModel.swift
[992/1069] Compiling RevenueCatUI TrialOrIntroEligibilityChecker+TestData.swift
[993/1069] Compiling RevenueCatUI TrialOrIntroEligibilityChecker.swift
[994/1069] Compiling RevenueCatUI Localization.swift
[995/1069] Compiling RevenueCatUI LocalizedAlertError.swift
[996/1069] Compiling RevenueCatUI PaywallData+Validation.swift
[997/1069] Compiling RevenueCatUI PaywallTemplate.swift
[998/1069] Compiling RevenueCatUI TemplateView+MultiTier.swift
[999/1069] Compiling RevenueCatUI VersionDetector.swift
[1000/1069] Compiling RevenueCatUI ConsistentPackageContentView.swift
[1001/1069] Compiling RevenueCatUI ConsistentTierContentView.swift
[1002/1069] Compiling RevenueCatUI FitToAspectRatio.swift
[1003/1069] Compiling RevenueCatUI FooterHidingModifier.swift
[1004/1069] Compiling RevenueCatUI ViewExtensions.swift
[1005/1069] Compiling RevenueCatUI PaywallFontProvider.swift
[1006/1069] Compiling RevenueCatUI PaywallView.swift
[1007/1069] Compiling RevenueCatUI MockPurchases.swift
[1008/1069] Compiling RevenueCatUI PaywallPurchasesType.swift
[1009/1069] Compiling RevenueCatUI PurchaseHandler+TestData.swift
[1010/1069] Compiling RevenueCatUI PurchaseHandler.swift
[1011/1069] Compiling RevenueCatUI WatchTemplateView.swift
[1012/1069] Compiling RevenueCatUI Template1View.swift
[1013/1069] Compiling RevenueCatUI Template2View.swift
[1014/1069] Compiling RevenueCatUI Template3View.swift
[1015/1069] Compiling RevenueCatUI Template4View.swift
[1016/1069] Compiling RevenueCatUI Template5View.swift
[1017/1069] Compiling RevenueCatUI Template7View.swift
[1018/1069] Compiling RevenueCatUI TemplateViewType.swift
[1019/1069] Compiling RevenueCatUI BottomSheetView.swift
[1020/1069] Compiling RevenueCatUI ButtonComponentView.swift
[1021/1069] Compiling RevenueCatUI ButtonComponentViewModel.swift
[1022/1069] Compiling RevenueCatUI CarouselComponentView.swift
[1023/1069] Compiling RevenueCatUI CarouselComponentViewModel.swift
[1024/1069] Compiling RevenueCatUI ComponentsView.swift
[1025/1069] Compiling RevenueCatUI IconComponentView.swift
[1026/1069] Compiling RevenueCatUI IconComponentViewModel.swift
[1027/1069] Compiling RevenueCatUI ImageComponentView.swift
[1028/1069] Compiling RevenueCatUI ImageComponentViewModel.swift
[1029/1069] Compiling RevenueCatUI ComponentViewState.swift
[1030/1069] Compiling RevenueCatUI PackageComponentView.swift
[1031/1069] Compiling RevenueCatUI PackageComponentViewModel.swift
[1032/1069] Compiling RevenueCatUI PurchaseButtonComponentView.swift
[1033/1069] Compiling RevenueCatUI PurchaseButtonComponentViewModel.swift
[1034/1069] Compiling RevenueCatUI RootView.swift
[1035/1069] Compiling RevenueCatUI RootViewModel.swift
[1036/1069] Compiling RevenueCatUI FlexHStack.swift
[1037/1069] Compiling RevenueCatUI FlexVStack.swift
[1038/1069] Compiling RevenueCatUI JustifyContent.swift
[1039/1069] Compiling RevenueCatUI StackComponentView.swift
[1040/1069] Compiling RevenueCatUI StackComponentViewModel.swift
[1041/1069] Compiling RevenueCatUI StickyFooterComponentView.swift
[1042/1069] Compiling RevenueCatUI StickyFooterComponentViewModel.swift
[1043/1069] Compiling RevenueCatUI TabControlButtonComponentView.swift
[1044/1069] Compiling RevenueCatUI TabControlButtonComponentViewModel.swift
[1045/1069] Compiling RevenueCatUI TabControlComponentView.swift
[1046/1069] Compiling RevenueCatUI FeedbackSurveyViewModel.swift
[1047/1069] Compiling RevenueCatUI NoSubscriptionsCardViewModel.swift
[1048/1069] Compiling RevenueCatUI PromotionalOfferViewModel.swift
[1049/1069] Compiling RevenueCatUI PurchaseDetailItem.swift
[1050/1069] Compiling RevenueCatUI PurchaseDetailViewModel.swift
[1051/1069] Compiling RevenueCatUI PurchaseHistoryViewModel.swift
[1052/1069] Compiling RevenueCatUI PurchaseInformation+History.swift
[1053/1069] Compiling RevenueCatUI RelevantPurchasesListViewModel.swift
[1054/1069] Compiling RevenueCatUI RestorePurchasesAlertViewModel.swift
[1055/1069] Compiling RevenueCatUI SubscriptionDetailViewModel.swift
[1056/1069] Compiling RevenueCatUI VirtualCurrencyBalancesScreenViewModel.swift
[1057/1069] Compiling RevenueCatUI ActiveSubscriptionButtonsView.swift
[1058/1069] Compiling RevenueCatUI AppUpdateWarningView.swift
[1059/1069] Compiling RevenueCatUI CompatibilityLabeledContent.swift
[1060/1069] Compiling RevenueCatUI CompatibilityNavigationStack.swift
[1061/1069] Compiling RevenueCatUI CompatibilityTopBarTrailing.swift
[1062/1069] Compiling RevenueCatUI CustomerCenterNavigationLink.swift
[1063/1069] Compiling RevenueCatUI CustomerCenterNavigationOptions.swift
[1064/1069] Compiling RevenueCatUI CustomerCenterView.swift
[1065/1069] Compiling RevenueCatUI FallbackNoSubscriptionsView.swift
[1066/1069] Compiling RevenueCatUI FeedbackSurveyView.swift
[1067/1069] Compiling RevenueCatUI ManageSubscriptionsButtonsView.swift
[1068/1069] Compiling RevenueCatUI NoSubscriptionsCardView.swift
[1069/1069] Compiling RevenueCatUI PromotionalOfferView.swift
Build complete! (43.46s)
Fetching https://github.com/pointfreeco/swift-snapshot-testing
[1/15367] Fetching swift-snapshot-testing
Fetched https://github.com/pointfreeco/swift-snapshot-testing from cache (2.97s)
Fetching https://github.com/quick/nimble
[1/19635] Fetching nimble
Fetched https://github.com/quick/nimble from cache (1.84s)
Computing version for https://github.com/quick/nimble
Computed https://github.com/quick/nimble at 13.7.1 (0.62s)
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
[1/1257] Fetching cwlpreconditiontesting
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (0.84s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.2 (0.58s)
Fetching https://github.com/mattgallagher/CwlCatchException.git
[1/460] Fetching cwlcatchexception
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (0.74s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.2.1 (0.58s)
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.2.1
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing
Working copy of https://github.com/pointfreeco/swift-snapshot-testing resolved at 26ed3a2b4a2df47917ca9b790a57f91285b923fb
Creating working copy for https://github.com/quick/nimble
Working copy of https://github.com/quick/nimble resolved at 13.7.1
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.2.2
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.