Files
purchases-ios/api/revenuecatui-api-visionos-simulator.swiftinterface
dc43529883 feat(paywalls): Add onPaywallInteraction callback (#7583)
* feat(paywalls): add onPaywallInteraction callback

Forwards the paywall_component_interacted analytics event to the app right
after the SDK tracks it, as a PaywallInteractionEvent: typed Key subscripts
for single values and the snake_case `dictionary` for forwarding. Exposed as
a SwiftUI onPaywallInteraction modifier (also on the presentPaywall*
helpers) and a PaywallViewControllerDelegate method. Known keys and
component_type values are constants.

* Update baseline swiftinterface files (#7622)

* Deliver paywall interactions through a notifier in the environment, like URL opens

* Update baseline swiftinterface files (#7670)

* Leave onInteraction off the deprecated presentPaywallIfNeeded overloads

* Move the internal ifSet modifier to its own extension

* Map PaywallEvent to PaywallInteractionEvent in an initializer

* Update baseline swiftinterface files

---------

Co-authored-by: RevenueCat Git Bot <72824662+RCGitBot@users.noreply.github.com>
Co-authored-by: RCGitBot <dev+RCGitBot@revenuecat.com>
2026-09-09 17:09:08 +02:00

495 lines
46 KiB
Plaintext

// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 6.3.2 effective-5.10 (swiftlang-6.3.2.1.108 clang-2100.1.1.101)
// swift-module-flags: -target arm64-apple-xros1.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -O -enable-experimental-feature DebugDescriptionMacro -module-name RevenueCatUI -package-name purchases_ios
// swift-module-flags-ignorable: -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.2
import AVFoundation
import AVKit
import Combine
import DeveloperToolsSupport
import Foundation
import Foundation/*.Bundle*/
import Foundation/*.ProcessInfo*/
import Foundation/*.URL*/
import RegexBuilder
import RevenueCat
import SafariServices
import StoreKit
import Swift
import SwiftUI
import UIKit
import WebKit
import _AVKit_SwiftUI
import _Concurrency
import _StoreKit_SwiftUI
import _StringProcessing
import _SwiftConcurrencyShims
import _WebKit_SwiftUI
public struct CustomActionData {
public let actionIdentifier: Swift.String
public let purchaseIdentifier: Swift.String?
public init(actionIdentifier: Swift.String, purchaseIdentifier: Swift.String?)
}
extension RevenueCatUI.CustomActionData : Swift.Equatable {
public static func == (lhs: RevenueCatUI.CustomActionData, rhs: RevenueCatUI.CustomActionData) -> Swift.Bool
}
extension RevenueCatUI.CustomActionData : Swift.Hashable {
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
extension RevenueCatUI.CustomActionData : Swift.CustomStringConvertible {
public var description: Swift.String {
get
}
}
@available(*, deprecated, message: "Use the view modifiers in View+CustomerCenterActions.swift instead.\nFor example, use .onCustomerCenterRestoreStarted(), .onCustomerCenterRestoreCompleted(), etc.")
public typealias CustomerCenterActionHandler = @_Concurrency.MainActor @Sendable (RevenueCatUI.CustomerCenterAction) -> Swift.Void
public enum CustomerCenterAction {
case restoreStarted
case restoreFailed(_: any Swift.Error)
case restoreCompleted(_: RevenueCat.CustomerInfo)
case showingManageSubscriptions
case refundRequestStarted(_: Swift.String)
case refundRequestCompleted(_: RevenueCat.RefundRequestStatus)
case feedbackSurveyCompleted(_: Swift.String)
}
public protocol CustomerCenterActionable {
}
public enum CustomerCenterManagementOption {
public struct Cancel : RevenueCatUI.CustomerCenterActionable {
}
public struct CustomUrl : RevenueCatUI.CustomerCenterActionable {
public let url: Foundation.URL
}
public struct MissingPurchase : RevenueCatUI.CustomerCenterActionable {
}
public struct RefundRequest : RevenueCatUI.CustomerCenterActionable {
}
public struct ChangePlans : RevenueCatUI.CustomerCenterActionable {
}
public struct CustomAction : RevenueCatUI.CustomerCenterActionable {
public let actionIdentifier: Swift.String
public let purchaseIdentifier: Swift.String?
public init(actionIdentifier: Swift.String, purchaseIdentifier: Swift.String?)
}
}
public struct CustomerCenterNavigationOptions {
public let usesNavigationStack: Swift.Bool
public let usesExistingNavigation: Swift.Bool
public let shouldShowCloseButton: Swift.Bool
public let onCloseHandler: (() -> Swift.Void)?
public init(usesNavigationStack: Swift.Bool = true, usesExistingNavigation: Swift.Bool = false, shouldShowCloseButton: Swift.Bool = true, onCloseHandler: (() -> Swift.Void)? = nil)
}
extension RevenueCatUI.CustomerCenterNavigationOptions {
public static let `default`: RevenueCatUI.CustomerCenterNavigationOptions
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
public struct CustomVariableValue : Swift.Sendable, Swift.Equatable, Swift.Hashable {
public static func string(_ value: Swift.String) -> RevenueCatUI.CustomVariableValue
public static func number(_ value: Swift.Double) -> RevenueCatUI.CustomVariableValue
public static func bool(_ value: Swift.Bool) -> RevenueCatUI.CustomVariableValue
public var stringValue: Swift.String {
get
}
public static func == (a: RevenueCatUI.CustomVariableValue, b: RevenueCatUI.CustomVariableValue) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
extension RevenueCatUI.CustomVariableValue : Swift.ExpressibleByStringLiteral {
public init(stringLiteral value: Swift.String)
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
public typealias ExtendedGraphemeClusterLiteralType = Swift.String
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
public typealias StringLiteralType = Swift.String
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
public typealias UnicodeScalarLiteralType = Swift.String
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
extension RevenueCatUI.CustomVariableValue : Swift.ExpressibleByIntegerLiteral {
public init(integerLiteral value: Swift.Int64)
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
public typealias IntegerLiteralType = Swift.Int64
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
extension RevenueCatUI.CustomVariableValue : Swift.ExpressibleByFloatLiteral {
public init(floatLiteral value: Swift.Double)
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
public typealias FloatLiteralType = Swift.Double
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
extension RevenueCatUI.CustomVariableValue : Swift.ExpressibleByBooleanLiteral {
public init(booleanLiteral value: Swift.Bool)
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
public typealias BooleanLiteralType = Swift.Bool
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
extension SwiftUICore.EnvironmentValues {
public var customPaywallVariables: [Swift.String : RevenueCatUI.CustomVariableValue] {
get
set
}
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
extension SwiftUICore.View {
@_Concurrency.MainActor @preconcurrency public func customPaywallVariables(_ variables: [Swift.String : RevenueCatUI.CustomVariableValue]) -> some SwiftUICore.View
}
public struct ResumeAction : Swift.Sendable {
public init(action: @escaping @Sendable (Swift.Bool) -> Swift.Void)
@_Concurrency.MainActor public func resume(shouldProceed: Swift.Bool)
}
extension RevenueCatUI.ResumeAction {
@_Concurrency.MainActor public func callAsFunction(shouldProceed: Swift.Bool = true)
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
extension SwiftUICore.View {
@inlinable @_Concurrency.MainActor @preconcurrency internal func onChangeOf<V>(_ value: V, perform action: @escaping (_ newValue: V) -> Swift.Void) -> some SwiftUICore.View where V : Swift.Equatable {
if #available(iOS 17.0, macOS 14.0, tvOS 17.0, watchOS 10.0, *) {
AnyView(self.onChange(of: value) { _, newValue in action(newValue) })
} else {
AnyView(self.onChange(of: value) { newValue in action(newValue) })
}
}
}
public protocol PaywallFontProvider {
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
func font(for textStyle: SwiftUICore.Font.TextStyle) -> SwiftUICore.Font
}
open class DefaultPaywallFontProvider : RevenueCatUI.PaywallFontProvider {
public init()
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
open func font(for textStyle: SwiftUICore.Font.TextStyle) -> SwiftUICore.Font
@objc deinit
}
open class CustomPaywallFontProvider : RevenueCatUI.PaywallFontProvider {
public init(fontName: Swift.String)
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
open func font(for textStyle: SwiftUICore.Font.TextStyle) -> SwiftUICore.Font
@objc deinit
}
public typealias PaywallInteractionHandler = @_Concurrency.MainActor @Sendable (_ event: RevenueCatUI.PaywallInteractionEvent) -> Swift.Void
@_hasMissingDesignatedInitializers @objc(RCPaywallInteractionEvent) final public class PaywallInteractionEvent : ObjectiveC.NSObject, @unchecked Swift.Sendable {
@objc final public let rawProperties: [Swift.String : Any]
final public func property<Value>(for key: RevenueCatUI.PaywallInteractionEvent.Key<Value>) -> Value?
@objc override final public func isEqual(_ object: Any?) -> Swift.Bool
@objc override final public var hash: Swift.Int {
@objc get
}
@objc override final public var description: Swift.String {
@objc get
}
public struct Key<Value> : Swift.Sendable {
public let name: Swift.String
}
public struct Keys {
public static let timestamp: RevenueCatUI.PaywallInteractionEvent.Key<Swift.UInt64>
public static let sessionId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let offeringId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let paywallId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let paywallRevision: RevenueCatUI.PaywallInteractionEvent.Key<Swift.Int>
public static let displayMode: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let darkMode: RevenueCatUI.PaywallInteractionEvent.Key<Swift.Bool>
public static let locale: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let componentType: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let componentValue: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let componentName: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let componentUrl: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let originIndex: RevenueCatUI.PaywallInteractionEvent.Key<Swift.Int>
public static let destinationIndex: RevenueCatUI.PaywallInteractionEvent.Key<Swift.Int>
public static let originContextName: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let destinationContextName: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let defaultIndex: RevenueCatUI.PaywallInteractionEvent.Key<Swift.Int>
public static let originPackageId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let destinationPackageId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let defaultPackageId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let currentPackageId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let resultingPackageId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let originProductId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let destinationProductId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let defaultProductId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let currentProductId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
public static let resultingProductId: RevenueCatUI.PaywallInteractionEvent.Key<Swift.String>
}
public struct ComponentTypes {
public static let tab: Swift.String
public static let `switch`: Swift.String
public static let carousel: Swift.String
public static let button: Swift.String
public static let text: Swift.String
public static let package: Swift.String
public static let packageSelectionSheet: Swift.String
public static let purchaseButton: Swift.String
}
@objc deinit
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
@available(tvOS, unavailable, message: "RevenueCatUI does not support tvOS yet")
@_Concurrency.MainActor @preconcurrency public struct PaywallView : SwiftUICore.View {
@_Concurrency.MainActor @preconcurrency public init(fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), displayCloseButton: Swift.Bool = false, performPurchase: RevenueCatUI.PerformPurchase? = nil, performRestore: RevenueCatUI.PerformRestore? = nil)
@_Concurrency.MainActor @preconcurrency public init(offering: RevenueCat.Offering, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), displayCloseButton: Swift.Bool = false, performPurchase: RevenueCatUI.PerformPurchase? = nil, performRestore: RevenueCatUI.PerformRestore? = nil)
@_Concurrency.MainActor @preconcurrency public var body: some SwiftUICore.View {
get
}
@available(iOS 15.0, watchOS 8.0, macOS 12.0, *)
@available(tvOS, unavailable, introduced: 15.0, message: "RevenueCatUI does not support tvOS yet")
public typealias Body = @_opaqueReturnTypeOf("$s12RevenueCatUI11PaywallViewV4bodyQrvp", 0) __
}
extension RevenueCat.Purchases {
@available(iOS 15.0, macOS 12.0, *)
@_Concurrency.MainActor @objc final public func presentPaywall(from url: Foundation.URL, viewController: UIKit.UIViewController?) -> Swift.Bool
@available(iOS 15.0, macOS 12.0, *)
@_Concurrency.MainActor @objc final public func presentPaywall(from url: Foundation.URL, window: UIKit.UIWindow?) -> Swift.Bool
@available(iOS 15.0, macOS 12.0, *)
@_Concurrency.MainActor @objc final public func presentPaywall(from url: Foundation.URL, scene: UIKit.UIWindowScene?) -> Swift.Bool
@available(iOS 15.0, macOS 12.0, *)
@_Concurrency.MainActor @objc final public func presentPaywall(from url: Foundation.URL) -> Swift.Bool
}
@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
@objc(RCPaywallFooterViewController) @_Concurrency.MainActor @preconcurrency final public class PaywallFooterViewController : RevenueCatUI.PaywallViewController {
@_Concurrency.MainActor @preconcurrency public init(offering: RevenueCat.Offering? = nil, performPurchase: @escaping RevenueCatUI.PerformPurchase, performRestore: @escaping RevenueCatUI.PerformRestore, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@objc @_Concurrency.MainActor @preconcurrency public init(offering: RevenueCat.Offering? = nil, purchaseHandler: (any RevenueCatUI.PaywallPurchaseHandler)?, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@objc @_Concurrency.MainActor @preconcurrency public init(offering: RevenueCat.Offering? = nil, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@available(*, deprecated, message: "use init with Offering instead")
@objc @_Concurrency.MainActor @preconcurrency public init(offeringIdentifier: Swift.String, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@available(*, deprecated, message: "use init with Offering instead")
@objc @_Concurrency.MainActor @preconcurrency public init(offeringIdentifier: Swift.String, fontName: Swift.String, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@objc deinit
}
@_hasMissingDesignatedInitializers @available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
@objc(RCPaywallViewController) @_Concurrency.MainActor @preconcurrency public class PaywallViewController : UIKit.UIViewController {
@objc @_Concurrency.MainActor @preconcurrency final weak public var delegate: (any RevenueCatUI.PaywallViewControllerDelegate)?
@_Concurrency.MainActor @preconcurrency public var customVariables: [Swift.String : RevenueCatUI.CustomVariableValue] {
get
set
}
@objc @_Concurrency.MainActor @preconcurrency public func setCustomVariable(_ value: Swift.String, forKey key: Swift.String)
@objc @_Concurrency.MainActor @preconcurrency public func setCustomVariableNumber(_ value: Swift.Double, forKey key: Swift.String)
@objc @_Concurrency.MainActor @preconcurrency public func setCustomVariableBool(_ value: Swift.Bool, forKey key: Swift.String)
@objc @_Concurrency.MainActor @preconcurrency convenience public init(offering: RevenueCat.Offering? = nil, displayCloseButton: Swift.Bool = false, shouldBlockTouchEvents: Swift.Bool = false, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@_Concurrency.MainActor @preconcurrency convenience public init(offering: RevenueCat.Offering? = nil, fonts: any RevenueCatUI.PaywallFontProvider, displayCloseButton: Swift.Bool = false, shouldBlockTouchEvents: Swift.Bool = false, performPurchase: RevenueCatUI.PerformPurchase? = nil, performRestore: RevenueCatUI.PerformRestore? = nil, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@objc @_Concurrency.MainActor @preconcurrency convenience public init(offering: RevenueCat.Offering? = nil, displayCloseButton: Swift.Bool = false, shouldBlockTouchEvents: Swift.Bool = false, purchaseHandler: (any RevenueCatUI.PaywallPurchaseHandler)?, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@available(*, deprecated, message: "use init with Offering instead")
@_Concurrency.MainActor @preconcurrency convenience public init(offeringIdentifier: Swift.String, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), displayCloseButton: Swift.Bool = false, shouldBlockTouchEvents: Swift.Bool = false, dismissRequestedHandler: ((_ controller: RevenueCatUI.PaywallViewController) -> Swift.Void)? = nil)
@_Concurrency.MainActor @preconcurrency @objc required dynamic public init?(coder: Foundation.NSCoder)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidLoad()
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewWillAppear(_ animated: Swift.Bool)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func viewDidDisappear(_ animated: Swift.Bool)
@objc(updateWithOffering:) @_Concurrency.MainActor @preconcurrency public func update(with offering: RevenueCat.Offering)
@available(*, deprecated, message: "use init with Offering instead")
@objc(updateWithOfferingIdentifier:) @_Concurrency.MainActor @preconcurrency public func update(with offeringIdentifier: Swift.String)
@objc(updateWithDisplayCloseButton:) @_Concurrency.MainActor @preconcurrency public func update(with displayCloseButton: Swift.Bool)
@objc(updateFontWithFontName:) @_Concurrency.MainActor @preconcurrency public func updateFont(with fontName: Swift.String)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func touchesBegan(_ touches: Swift.Set<UIKit.UITouch>, with event: UIKit.UIEvent?)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func touchesMoved(_ touches: Swift.Set<UIKit.UITouch>, with event: UIKit.UIEvent?)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func touchesEnded(_ touches: Swift.Set<UIKit.UITouch>, with event: UIKit.UIEvent?)
@_Concurrency.MainActor @preconcurrency @objc override dynamic public func touchesCancelled(_ touches: Swift.Set<UIKit.UITouch>, with event: UIKit.UIEvent?)
@objc deinit
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
extension RevenueCatUI.PaywallViewController : UIKit.UIAdaptivePresentationControllerDelegate {
@_Concurrency.MainActor @preconcurrency @objc dynamic public func presentationControllerShouldDismiss(_ presentationController: UIKit.UIPresentationController) -> Swift.Bool
@_Concurrency.MainActor @preconcurrency @objc dynamic public func presentationControllerDidAttemptToDismiss(_ presentationController: UIKit.UIPresentationController)
@_Concurrency.MainActor @preconcurrency @objc dynamic public func presentationControllerWillDismiss(_ presentationController: UIKit.UIPresentationController)
@_Concurrency.MainActor @preconcurrency @objc dynamic public func presentationControllerDidDismiss(_ presentationController: UIKit.UIPresentationController)
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
@objc(RCPaywallViewControllerDelegate) public protocol PaywallViewControllerDelegate {
@objc(paywallViewControllerDidStartPurchase:) optional func paywallViewControllerDidStartPurchase(_ controller: RevenueCatUI.PaywallViewController)
@objc(paywallViewController:didStartPurchaseWithPackage:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didStartPurchaseWith package: RevenueCat.Package)
@objc(paywallViewController:didFinishPurchasingWithCustomerInfo:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didFinishPurchasingWith customerInfo: RevenueCat.CustomerInfo)
@objc(paywallViewController:didFinishPurchasingWithCustomerInfo:transaction:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didFinishPurchasingWith customerInfo: RevenueCat.CustomerInfo, transaction: RevenueCat.StoreTransaction?)
@objc(paywallViewControllerDidCancelPurchase:) optional func paywallViewControllerDidCancelPurchase(_ controller: RevenueCatUI.PaywallViewController)
@objc(paywallViewControllerDidOpenWebCheckout:) optional func paywallViewControllerDidOpenWebCheckout(_ controller: RevenueCatUI.PaywallViewController)
@objc(paywallViewController:didOpenURL:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didOpenURL url: Foundation.URL)
@objc(paywallViewController:didTrackInteraction:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didTrackInteraction event: RevenueCatUI.PaywallInteractionEvent)
@objc(paywallViewController:didFailPurchasingWithError:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didFailPurchasingWith error: Foundation.NSError)
@objc(paywallViewControllerDidStartRestore:) optional func paywallViewControllerDidStartRestore(_ controller: RevenueCatUI.PaywallViewController)
@objc(paywallViewController:didFinishRestoringWithCustomerInfo:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didFinishRestoringWith customerInfo: RevenueCat.CustomerInfo)
@objc(paywallViewController:didFailRestoringWithError:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didFailRestoringWith error: Foundation.NSError)
@objc(paywallViewControllerWasDismissed:) optional func paywallViewControllerWasDismissed(_ controller: RevenueCatUI.PaywallViewController)
@objc(paywallViewController:didChangeSizeTo:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didChangeSizeTo size: CoreFoundation.CGSize)
@objc(paywallViewController:willPresentExitOfferController:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, willPresentExitOfferController exitOfferController: RevenueCatUI.PaywallViewController)
@objc(paywallViewController:didInitiatePurchaseWithPackage:resume:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didInitiatePurchaseWith package: RevenueCat.Package, resume: @escaping (Swift.Bool) -> Swift.Void)
@objc(paywallViewController:didInitiateRestoreWithResume:) optional func paywallViewController(_ controller: RevenueCatUI.PaywallViewController, didInitiateRestoreWith resume: @escaping (Swift.Bool) -> Swift.Void)
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
@objc(RCPaywallPurchaseHandler) public protocol PaywallPurchaseHandler {
@objc func performPurchase(for package: RevenueCat.Package, completion: @escaping (_ userCancelled: Swift.Bool, _ error: (any Swift.Error)?) -> Swift.Void)
@objc func performRestore(completion: @escaping (_ success: Swift.Bool, _ error: (any Swift.Error)?) -> Swift.Void)
}
@available(iOS 14.0, macOS 11.0, tvOS 14.0, watchOS 7.0, *)
extension SwiftUICore.View {
@_Concurrency.MainActor @preconcurrency public func onWebPurchaseRedemptionAttempt(perform completion: @escaping @Sendable (RevenueCat.WebPurchaseRedemptionResult) -> Swift.Void) -> some SwiftUICore.View
}
public enum PaywallPresentationMode {
case sheet
@available(macOS, unavailable)
case fullScreen
public static func == (a: RevenueCatUI.PaywallPresentationMode, b: RevenueCatUI.PaywallPresentationMode) -> Swift.Bool
public func hash(into hasher: inout Swift.Hasher)
public var hashValue: Swift.Int {
get
}
}
extension RevenueCatUI.PaywallPresentationMode {
public static let `default`: RevenueCatUI.PaywallPresentationMode
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
public struct MyAppPurchaseLogic {
public let performPurchase: RevenueCatUI.PerformPurchase
public let performRestore: RevenueCatUI.PerformRestore
public init(performPurchase: @escaping RevenueCatUI.PerformPurchase, performRestore: @escaping RevenueCatUI.PerformRestore)
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
@available(tvOS, unavailable, message: "RevenueCatUI does not support tvOS yet")
extension SwiftUICore.View {
@available(iOS, deprecated: 1, renamed: "presentPaywallIfNeeded(requiredEntitlementIdentifier:offering:fonts:presentationMode:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@available(tvOS, deprecated: 1, renamed: "presentPaywallIfNeeded(requiredEntitlementIdentifier:offering:fonts:presentationMode:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@available(watchOS, deprecated: 1, renamed: "presentPaywallIfNeeded(requiredEntitlementIdentifier:offering:fonts:presentationMode:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@available(macOS, deprecated: 1, renamed: "presentPaywallIfNeeded(requiredEntitlementIdentifier:offering:fonts:presentationMode:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@available(macCatalyst, deprecated: 1, renamed: "presentPaywallIfNeeded(requiredEntitlementIdentifier:offering:fonts:presentationMode:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@_Concurrency.MainActor @preconcurrency public func presentPaywallIfNeeded(requiredEntitlementIdentifier: Swift.String, offering: RevenueCat.Offering? = nil, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), presentationMode: RevenueCatUI.PaywallPresentationMode = .default, purchaseStarted: @escaping RevenueCatUI.PurchaseStartedHandler, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil, webCheckoutOpened: RevenueCatUI.WebCheckoutOpenedHandler? = nil, urlOpened: RevenueCatUI.URLOpenedHandler? = nil, onDismiss: (() -> Swift.Void)? = nil) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func presentPaywallIfNeeded(requiredEntitlementIdentifier: Swift.String, offering: RevenueCat.Offering? = nil, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), presentationMode: RevenueCatUI.PaywallPresentationMode = .default, myAppPurchaseLogic: RevenueCatUI.MyAppPurchaseLogic? = nil, purchaseStarted: RevenueCatUI.PurchaseOfPackageStartedHandler? = nil, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreStarted: RevenueCatUI.RestoreStartedHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil, webCheckoutOpened: RevenueCatUI.WebCheckoutOpenedHandler? = nil, urlOpened: RevenueCatUI.URLOpenedHandler? = nil, onInteraction: RevenueCatUI.PaywallInteractionHandler? = nil, onDismiss: (() -> Swift.Void)? = nil) -> some SwiftUICore.View
@available(iOS, deprecated: 1, renamed: "presentPaywallIfNeeded(offering:fonts:presentationMode:shouldDisplay:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@available(tvOS, deprecated: 1, renamed: "presentPaywallIfNeeded(offering:fonts:presentationMode:shouldDisplay:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@available(watchOS, deprecated: 1, renamed: "presentPaywallIfNeeded(offering:fonts:presentationMode:shouldDisplay:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@available(macOS, deprecated: 1, renamed: "presentPaywallIfNeeded(offering:fonts:presentationMode:shouldDisplay:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@available(macCatalyst, deprecated: 1, renamed: "presentPaywallIfNeeded(offering:fonts:presentationMode:shouldDisplay:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:onDismiss:)")
@_Concurrency.MainActor @preconcurrency public func presentPaywallIfNeeded(offering: RevenueCat.Offering? = nil, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), presentationMode: RevenueCatUI.PaywallPresentationMode = .default, myAppPurchaseLogic: RevenueCatUI.MyAppPurchaseLogic? = nil, shouldDisplay: @escaping @Sendable (RevenueCat.CustomerInfo) -> Swift.Bool, purchaseStarted: @escaping RevenueCatUI.PurchaseStartedHandler, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil, webCheckoutOpened: RevenueCatUI.WebCheckoutOpenedHandler? = nil, urlOpened: RevenueCatUI.URLOpenedHandler? = nil, onDismiss: (() -> Swift.Void)? = nil) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func presentPaywallIfNeeded(offering: RevenueCat.Offering? = nil, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), presentationMode: RevenueCatUI.PaywallPresentationMode = .default, myAppPurchaseLogic: RevenueCatUI.MyAppPurchaseLogic? = nil, shouldDisplay: @escaping @Sendable (RevenueCat.CustomerInfo) -> Swift.Bool, purchaseStarted: RevenueCatUI.PurchaseOfPackageStartedHandler? = nil, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreStarted: RevenueCatUI.RestoreStartedHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil, webCheckoutOpened: RevenueCatUI.WebCheckoutOpenedHandler? = nil, urlOpened: RevenueCatUI.URLOpenedHandler? = nil, onInteraction: RevenueCatUI.PaywallInteractionHandler? = nil, onDismiss: (() -> Swift.Void)? = nil) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func presentPaywall(offering: SwiftUICore.Binding<RevenueCat.Offering?>, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), presentationMode: RevenueCatUI.PaywallPresentationMode = .default, myAppPurchaseLogic: RevenueCatUI.MyAppPurchaseLogic? = nil, purchaseStarted: RevenueCatUI.PurchaseOfPackageStartedHandler? = nil, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreStarted: RevenueCatUI.RestoreStartedHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil, webCheckoutOpened: RevenueCatUI.WebCheckoutOpenedHandler? = nil, urlOpened: RevenueCatUI.URLOpenedHandler? = nil, onInteraction: RevenueCatUI.PaywallInteractionHandler? = nil, onDismiss: (() -> Swift.Void)? = nil) -> some SwiftUICore.View
}
public typealias PaywallTierChangeHandler = @_Concurrency.MainActor @Sendable (_ tier: RevenueCat.PaywallData.Tier, _ localizedName: Swift.String) -> Swift.Void
@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
extension SwiftUICore.View {
@available(iOS, deprecated: 1, renamed: "paywallFooter(condensed:fonts:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(tvOS, deprecated: 1, renamed: "paywallFooter(condensed:fonts:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(watchOS, deprecated: 1, renamed: "paywallFooter(condensed:fonts:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(macOS, unavailable, message: "Legacy paywalls are unavailable in macOS")
@available(macCatalyst, deprecated: 1, renamed: "paywallFooter(condensed:fonts:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@_Concurrency.MainActor @preconcurrency public func paywallFooter(condensed: Swift.Bool = false, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), purchaseStarted: @escaping RevenueCatUI.PurchaseStartedHandler, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil) -> some SwiftUICore.View
@available(iOS, deprecated: 1, renamed: "originalTemplatePaywallFooter(condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(tvOS, deprecated: 1, renamed: "originalTemplatePaywallFooter(condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(watchOS, deprecated: 1, renamed: "originalTemplatePaywallFooter(condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(macOS, unavailable, message: "Legacy paywalls are unavailable in macOS")
@available(macCatalyst, deprecated: 1, renamed: "originalTemplatePaywallFooter(condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@_Concurrency.MainActor @preconcurrency public func paywallFooter(condensed: Swift.Bool = false, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), myAppPurchaseLogic: RevenueCatUI.MyAppPurchaseLogic? = nil, purchaseStarted: RevenueCatUI.PurchaseOfPackageStartedHandler? = nil, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreStarted: RevenueCatUI.RestoreStartedHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil) -> some SwiftUICore.View
@available(macOS, unavailable, message: "Legacy paywalls are unavailable in macOS")
@_Concurrency.MainActor @preconcurrency public func originalTemplatePaywallFooter(condensed: Swift.Bool = false, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), myAppPurchaseLogic: RevenueCatUI.MyAppPurchaseLogic? = nil, purchaseStarted: RevenueCatUI.PurchaseOfPackageStartedHandler? = nil, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreStarted: RevenueCatUI.RestoreStartedHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil) -> some SwiftUICore.View
@available(iOS, deprecated: 1, renamed: "paywallFooter(offering:condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(tvOS, deprecated: 1, renamed: "paywallFooter(offering:condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(watchOS, deprecated: 1, renamed: "paywallFooter(offering:condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(macOS, unavailable, message: "Legacy paywalls are unavailable in macOS")
@available(macCatalyst, deprecated: 1, renamed: "paywallFooter(offering:condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@_disfavoredOverload @_Concurrency.MainActor @preconcurrency public func paywallFooter(offering: RevenueCat.Offering, condensed: Swift.Bool = false, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), purchaseStarted: @escaping RevenueCatUI.PurchaseStartedHandler, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil) -> some SwiftUICore.View
@available(iOS, deprecated: 1, renamed: "originalTemplatePaywallFooter(offering:condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(tvOS, deprecated: 1, renamed: "originalTemplatePaywallFooter(offering:condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(watchOS, deprecated: 1, renamed: "originalTemplatePaywallFooter(offering:condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@available(macOS, unavailable, message: "Legacy paywalls are unavailable in macOS")
@available(macCatalyst, deprecated: 1, renamed: "originalTemplatePaywallFooter(offering:condensed:fonts:myAppPurchaseLogic:purchaseStarted:purchaseCompleted:purchaseCancelled:restoreStarted:restoreCompleted:purchaseFailure:restoreFailure:)")
@_Concurrency.MainActor @preconcurrency public func paywallFooter(offering: RevenueCat.Offering, condensed: Swift.Bool = false, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), myAppPurchaseLogic: RevenueCatUI.MyAppPurchaseLogic? = nil, purchaseStarted: RevenueCatUI.PurchaseOfPackageStartedHandler? = nil, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreStarted: RevenueCatUI.RestoreStartedHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil) -> some SwiftUICore.View
@available(macOS, unavailable, message: "Legacy paywalls are unavailable in macOS")
@_Concurrency.MainActor @preconcurrency public func originalTemplatePaywallFooter(offering: RevenueCat.Offering, condensed: Swift.Bool = false, fonts: any RevenueCatUI.PaywallFontProvider = DefaultPaywallFontProvider(), myAppPurchaseLogic: RevenueCatUI.MyAppPurchaseLogic? = nil, purchaseStarted: RevenueCatUI.PurchaseOfPackageStartedHandler? = nil, purchaseCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseCancelled: RevenueCatUI.PurchaseCancelledHandler? = nil, restoreStarted: RevenueCatUI.RestoreStartedHandler? = nil, restoreCompleted: RevenueCatUI.PurchaseOrRestoreCompletedHandler? = nil, purchaseFailure: RevenueCatUI.PurchaseFailureHandler? = nil, restoreFailure: RevenueCatUI.PurchaseFailureHandler? = nil) -> some SwiftUICore.View
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, *)
extension SwiftUICore.View {
@_Concurrency.MainActor @preconcurrency public func onPaywallTierChange(_ handler: @escaping RevenueCatUI.PaywallTierChangeHandler) -> some SwiftUICore.View
}
public typealias PurchaseOrRestoreCompletedHandler = @_Concurrency.MainActor @Sendable (RevenueCat.CustomerInfo) -> Swift.Void
public typealias PurchaseCompletedHandler = @_Concurrency.MainActor @Sendable (_ transaction: RevenueCat.StoreTransaction?, _ customerInfo: RevenueCat.CustomerInfo) -> Swift.Void
@available(iOS, deprecated: 1, renamed: "PurchaseOfPackageStartedHandler")
@available(tvOS, deprecated: 1, renamed: "PurchaseOfPackageStartedHandler")
@available(watchOS, deprecated: 1, renamed: "PurchaseOfPackageStartedHandler")
@available(macOS, deprecated: 1, renamed: "PurchaseOfPackageStartedHandler")
@available(macCatalyst, deprecated: 1, renamed: "PurchaseOfPackageStartedHandler")
public typealias PurchaseStartedHandler = @_Concurrency.MainActor @Sendable () -> Swift.Void
public typealias PurchaseOfPackageStartedHandler = @_Concurrency.MainActor @Sendable (_ package: RevenueCat.Package) -> Swift.Void
public typealias PurchaseCancelledHandler = @_Concurrency.MainActor @Sendable () -> Swift.Void
public typealias WebCheckoutOpenedHandler = @_Concurrency.MainActor @Sendable () -> Swift.Void
public typealias URLOpenedHandler = @_Concurrency.MainActor @Sendable (_ url: Foundation.URL) -> Swift.Void
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
public typealias PerformPurchase = @_Concurrency.MainActor @Sendable (_ packageToPurchase: RevenueCat.Package) async -> (userCancelled: Swift.Bool, error: (any Swift.Error)?)
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
public typealias PerformRestore = @_Concurrency.MainActor @Sendable () async -> (success: Swift.Bool, error: (any Swift.Error)?)
public typealias PurchaseFailureHandler = @_Concurrency.MainActor @Sendable (Foundation.NSError) -> Swift.Void
public typealias RestoreStartedHandler = @_Concurrency.MainActor @Sendable () -> Swift.Void
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
public struct PurchaseInitiatedAction : Swift.Sendable {
public init(_ action: @escaping @Sendable (RevenueCat.Package, RevenueCatUI.ResumeAction) -> Swift.Void)
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
public struct RestoreInitiatedAction : Swift.Sendable {
public init(_ action: @escaping @Sendable (RevenueCatUI.ResumeAction) -> Swift.Void)
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
public struct OfferCodeRedemptionInitiatedAction : Swift.Sendable {
public init(_ action: @escaping @Sendable (RevenueCatUI.ResumeAction) -> Swift.Void)
}
@available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
extension SwiftUICore.View {
@available(iOS, deprecated: 1, renamed: "onPurchaseStarted(handler:)")
@available(tvOS, deprecated: 1, renamed: "onPurchaseStarted(handler:)")
@available(watchOS, deprecated: 1, renamed: "onPurchaseStarted(handler:)")
@available(macOS, deprecated: 1, renamed: "onPurchaseStarted(handler:)")
@available(macCatalyst, deprecated: 1, renamed: "onPurchaseStarted(handler:)")
@_Concurrency.MainActor @preconcurrency public func onPurchaseStarted(_ handler: @escaping RevenueCatUI.PurchaseStartedHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onPurchaseStarted(_ handler: @escaping RevenueCatUI.PurchaseOfPackageStartedHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onPurchaseCompleted(_ handler: @escaping RevenueCatUI.PurchaseOrRestoreCompletedHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onPurchaseCompleted(_ handler: @escaping RevenueCatUI.PurchaseCompletedHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onPurchaseCancelled(_ handler: @escaping RevenueCatUI.PurchaseCancelledHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onWebCheckoutOpened(_ handler: @escaping RevenueCatUI.WebCheckoutOpenedHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onURLOpened(_ handler: @escaping RevenueCatUI.URLOpenedHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onRestoreStarted(_ handler: @escaping RevenueCatUI.RestoreStartedHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onRestoreCompleted(_ handler: @escaping RevenueCatUI.PurchaseOrRestoreCompletedHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onPurchaseFailure(_ handler: @escaping RevenueCatUI.PurchaseFailureHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onRestoreFailure(_ handler: @escaping RevenueCatUI.PurchaseFailureHandler) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onPurchaseInitiated(_ action: @escaping @Sendable (RevenueCat.Package, RevenueCatUI.ResumeAction) -> Swift.Void) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onRestoreInitiated(_ action: @escaping @Sendable (RevenueCatUI.ResumeAction) -> Swift.Void) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onOfferCodeRedemptionInitiated(_ action: @escaping @Sendable (RevenueCatUI.ResumeAction) -> Swift.Void) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onRequestedDismissal(_ action: @escaping () -> Swift.Void) -> some SwiftUICore.View
@_Concurrency.MainActor @preconcurrency public func onPaywallInteraction(_ handler: @escaping RevenueCatUI.PaywallInteractionHandler) -> some SwiftUICore.View
}
@available(iOS 15.0, macOS 12.0, watchOS 8.0, *)
@available(tvOS, unavailable, message: "RevenueCatUI does not support tvOS yet")
extension RevenueCatUI.PaywallView : Swift.Sendable {}
extension RevenueCatUI.PaywallPresentationMode : Swift.Equatable {}
extension RevenueCatUI.PaywallPresentationMode : Swift.Hashable {}