diff --git a/Xamarin.RevenueCat.iOS.Extensions/Xamarin.RevenueCat.iOS.Extensions.csproj b/Xamarin.RevenueCat.iOS.Extensions/Xamarin.RevenueCat.iOS.Extensions.csproj
index 9aa2f62..0aa235e 100644
--- a/Xamarin.RevenueCat.iOS.Extensions/Xamarin.RevenueCat.iOS.Extensions.csproj
+++ b/Xamarin.RevenueCat.iOS.Extensions/Xamarin.RevenueCat.iOS.Extensions.csproj
@@ -4,7 +4,7 @@
true
Xamarin.RevenueCat.iOS.Extensions
Contains convenience methods and async extensions for Xamarin.RevenueCat.iOS
- 4.1.0.7
+ 4.9.0.2
Christian Kapplmüller
fun.music IT GmbH
nugetoutput
@@ -41,20 +41,20 @@
4
-
-
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
@@ -65,5 +65,5 @@
Xamarin.RevenueCat.iOS
-
+
diff --git a/Xamarin.RevenueCat.iOS.UsageChecker/AppDelegate.cs b/Xamarin.RevenueCat.iOS.UsageChecker/AppDelegate.cs
index 491b982..1e251c3 100644
--- a/Xamarin.RevenueCat.iOS.UsageChecker/AppDelegate.cs
+++ b/Xamarin.RevenueCat.iOS.UsageChecker/AppDelegate.cs
@@ -1,3 +1,4 @@
+using System;
using Foundation;
using RevenueCat;
using UIKit;
@@ -18,6 +19,7 @@ public bool FinishedLaunching(UIApplication application, NSDictionary launchOpti
{
RCPurchases.DebugLogsEnabled = true;
RCPurchases.ConfigureWithAPIKey("theapikey");
+ Console.WriteLine($"Bound RevenueCat iOS SDK Version: {RCPurchases.FrameworkVersion}");
return true;
}
diff --git a/Xamarin.RevenueCat.iOS/ApiDefinitions.cs b/Xamarin.RevenueCat.iOS/ApiDefinitions.cs
index 1269065..6859653 100644
--- a/Xamarin.RevenueCat.iOS/ApiDefinitions.cs
+++ b/Xamarin.RevenueCat.iOS/ApiDefinitions.cs
@@ -5,902 +5,1044 @@
namespace RevenueCat
{
- // @interface RCCustomerInfo : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCCustomerInfo
- {
- // @property (readonly, nonatomic, strong) RCEntitlementInfos * _Nonnull entitlements;
- [Export("entitlements", ArgumentSemantic.Strong)]
- RCEntitlementInfos Entitlements { get; }
-
- // @property (readonly, copy, nonatomic) NSSet * _Nonnull activeSubscriptions;
- [Export("activeSubscriptions", ArgumentSemantic.Copy)]
- NSSet ActiveSubscriptions { get; }
-
- // @property (readonly, copy, nonatomic) NSSet * _Nonnull allPurchasedProductIdentifiers;
- [Export("allPurchasedProductIdentifiers", ArgumentSemantic.Copy)]
- NSSet AllPurchasedProductIdentifiers { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nullable latestExpirationDate;
- [NullAllowed, Export("latestExpirationDate", ArgumentSemantic.Copy)]
- NSDate LatestExpirationDate { get; }
-
- // @property (readonly, copy, nonatomic) SWIFT_DEPRECATED_MSG("use nonSubscriptionTransactions") NSSet * nonConsumablePurchases __attribute__((deprecated("use nonSubscriptionTransactions")));
- [Export("nonConsumablePurchases", ArgumentSemantic.Copy)]
- NSSet NonConsumablePurchases { get; }
-
- // @property (readonly, copy, nonatomic) NSArray * _Nonnull nonSubscriptionTransactions;
- [Export("nonSubscriptionTransactions", ArgumentSemantic.Copy)]
- RCStoreTransaction[] NonSubscriptionTransactions { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nonnull requestDate;
- [Export("requestDate", ArgumentSemantic.Copy)]
- NSDate RequestDate { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nonnull firstSeen;
- [Export("firstSeen", ArgumentSemantic.Copy)]
- NSDate FirstSeen { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull originalAppUserId;
- [Export("originalAppUserId")]
- string OriginalAppUserId { get; }
-
- // @property (readonly, copy, nonatomic) NSURL * _Nullable managementURL;
- [NullAllowed, Export("managementURL", ArgumentSemantic.Copy)]
- NSUrl ManagementURL { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nullable originalPurchaseDate;
- [NullAllowed, Export("originalPurchaseDate", ArgumentSemantic.Copy)]
- NSDate OriginalPurchaseDate { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nullable originalApplicationVersion;
- [NullAllowed, Export("originalApplicationVersion")]
- string OriginalApplicationVersion { get; }
-
- // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull rawData;
- [Export("rawData", ArgumentSemantic.Copy)]
- NSDictionary RawData { get; }
-
- // -(NSDate * _Nullable)expirationDateForProductIdentifier:(NSString * _Nonnull)productIdentifier __attribute__((warn_unused_result("")));
- [Export("expirationDateForProductIdentifier:")]
- [return: NullAllowed]
- NSDate ExpirationDateForProductIdentifier(string productIdentifier);
-
- // -(NSDate * _Nullable)purchaseDateForProductIdentifier:(NSString * _Nonnull)productIdentifier __attribute__((warn_unused_result("")));
- [Export("purchaseDateForProductIdentifier:")]
- [return: NullAllowed]
- NSDate PurchaseDateForProductIdentifier(string productIdentifier);
-
- // -(NSDate * _Nullable)expirationDateForEntitlement:(NSString * _Nonnull)entitlementIdentifier __attribute__((warn_unused_result("")));
- [Export("expirationDateForEntitlement:")]
- [return: NullAllowed]
- NSDate ExpirationDateForEntitlement(string entitlementIdentifier);
-
- // -(NSDate * _Nullable)purchaseDateForEntitlement:(NSString * _Nonnull)entitlementIdentifier __attribute__((warn_unused_result("")));
- [Export("purchaseDateForEntitlement:")]
- [return: NullAllowed]
- NSDate PurchaseDateForEntitlement(string entitlementIdentifier);
-
- // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
- [Export("isEqual:")]
- bool IsEqual([NullAllowed] NSObject @object);
-
- // @property (readonly, nonatomic) NSUInteger hash;
- [Export("hash")]
- nuint Hash { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
- [Export("description")]
- string Description { get; }
- }
-
- // @interface RCDangerousSettings : NSObject
- [BaseType(typeof(NSObject))]
- interface RCDangerousSettings
- {
- // @property (readonly, nonatomic) BOOL autoSyncPurchases;
- [Export("autoSyncPurchases")]
- bool AutoSyncPurchases { get; }
-
- // -(instancetype _Nonnull)initWithAutoSyncPurchases:(BOOL)autoSyncPurchases __attribute__((objc_designated_initializer));
- [Export("initWithAutoSyncPurchases:")]
- [DesignatedInitializer]
- IntPtr Constructor(bool autoSyncPurchases);
- }
-
- // @interface RCEntitlementInfo : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCEntitlementInfo : INativeObject
- {
- // @property (readonly, copy, nonatomic) NSString * _Nonnull identifier;
- [Export("identifier")]
- string Identifier { get; }
-
- // @property (readonly, nonatomic) BOOL isActive;
- [Export("isActive")]
- bool IsActive { get; }
-
- // @property (readonly, nonatomic) BOOL willRenew;
- [Export("willRenew")]
- bool WillRenew { get; }
-
- // @property (readonly, nonatomic) enum RCPeriodType periodType;
- [Export("periodType")]
- RCPeriodType PeriodType { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nullable latestPurchaseDate;
- [NullAllowed, Export("latestPurchaseDate", ArgumentSemantic.Copy)]
- NSDate LatestPurchaseDate { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nullable originalPurchaseDate;
- [NullAllowed, Export("originalPurchaseDate", ArgumentSemantic.Copy)]
- NSDate OriginalPurchaseDate { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nullable expirationDate;
- [NullAllowed, Export("expirationDate", ArgumentSemantic.Copy)]
- NSDate ExpirationDate { get; }
-
- // @property (readonly, nonatomic) enum RCStore store;
- [Export("store")]
- RCStore Store { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull productIdentifier;
- [Export("productIdentifier")]
- string ProductIdentifier { get; }
-
- // @property (readonly, nonatomic) BOOL isSandbox;
- [Export("isSandbox")]
- bool IsSandbox { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nullable unsubscribeDetectedAt;
- [NullAllowed, Export("unsubscribeDetectedAt", ArgumentSemantic.Copy)]
- NSDate UnsubscribeDetectedAt { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nullable billingIssueDetectedAt;
- [NullAllowed, Export("billingIssueDetectedAt", ArgumentSemantic.Copy)]
- NSDate BillingIssueDetectedAt { get; }
-
- // @property (readonly, nonatomic) enum RCPurchaseOwnershipType ownershipType;
- [Export("ownershipType")]
- RCPurchaseOwnershipType OwnershipType { get; }
-
- // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull rawData;
- [Export("rawData", ArgumentSemantic.Copy)]
- NSDictionary RawData { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
- [Export("description")]
- string Description { get; }
-
- // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
- [Export("isEqual:")]
- bool IsEqual([NullAllowed] NSObject @object);
-
- // @property (readonly, nonatomic) NSUInteger hash;
- [Export("hash")]
- nuint Hash { get; }
- }
-
- // @interface RCEntitlementInfos : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCEntitlementInfos
- {
- // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull all;
- [Export("all", ArgumentSemantic.Copy)]
- NSDictionary All { get; }
-
- // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull active;
- [Export("active", ArgumentSemantic.Copy)]
- NSDictionary Active { get; }
-
- // -(RCEntitlementInfo * _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key __attribute__((warn_unused_result("")));
- [Export("objectForKeyedSubscript:")]
- [return: NullAllowed]
- RCEntitlementInfo ObjectForKeyedSubscript(string key);
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
- [Export("description")]
- string Description { get; }
-
- // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
- [Export("isEqual:")]
- bool IsEqual([NullAllowed] NSObject @object);
- }
-
- // @interface RCIntroEligibility : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCIntroEligibility : INativeObject
- {
- // @property (readonly, nonatomic) enum RCIntroEligibilityStatus status;
- [Export("status")]
- RCIntroEligibilityStatus Status { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
- [Export("description")]
- string Description { get; }
- }
-
- // @interface RCOffering : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCOffering : INativeObject
- {
- // @property (readonly, copy, nonatomic) NSString * _Nonnull identifier;
- [Export("identifier")]
- string Identifier { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull serverDescription;
- [Export("serverDescription")]
- string ServerDescription { get; }
-
- // @property (readonly, copy, nonatomic) NSArray * _Nonnull availablePackages;
- [Export("availablePackages", ArgumentSemantic.Copy)]
- RCPackage[] AvailablePackages { get; }
-
- // @property (readonly, nonatomic, strong) RCPackage * _Nullable lifetime;
- [NullAllowed, Export("lifetime", ArgumentSemantic.Strong)]
- RCPackage Lifetime { get; }
-
- // @property (readonly, nonatomic, strong) RCPackage * _Nullable annual;
- [NullAllowed, Export("annual", ArgumentSemantic.Strong)]
- RCPackage Annual { get; }
-
- // @property (readonly, nonatomic, strong) RCPackage * _Nullable sixMonth;
- [NullAllowed, Export("sixMonth", ArgumentSemantic.Strong)]
- RCPackage SixMonth { get; }
-
- // @property (readonly, nonatomic, strong) RCPackage * _Nullable threeMonth;
- [NullAllowed, Export("threeMonth", ArgumentSemantic.Strong)]
- RCPackage ThreeMonth { get; }
-
- // @property (readonly, nonatomic, strong) RCPackage * _Nullable twoMonth;
- [NullAllowed, Export("twoMonth", ArgumentSemantic.Strong)]
- RCPackage TwoMonth { get; }
-
- // @property (readonly, nonatomic, strong) RCPackage * _Nullable monthly;
- [NullAllowed, Export("monthly", ArgumentSemantic.Strong)]
- RCPackage Monthly { get; }
-
- // @property (readonly, nonatomic, strong) RCPackage * _Nullable weekly;
- [NullAllowed, Export("weekly", ArgumentSemantic.Strong)]
- RCPackage Weekly { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
- [Export("description")]
- string Description { get; }
-
- // -(RCPackage * _Nullable)packageWithIdentifier:(NSString * _Nullable)identifier __attribute__((warn_unused_result("")));
- [Export("packageWithIdentifier:")]
- [return: NullAllowed]
- RCPackage PackageWithIdentifier([NullAllowed] string identifier);
-
- // -(RCPackage * _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key __attribute__((warn_unused_result("")));
- [Export("objectForKeyedSubscript:")]
- [return: NullAllowed]
- RCPackage ObjectForKeyedSubscript(string key);
- }
-
- // @interface RCOfferings : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCOfferings
- {
- // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull all;
- [Export("all", ArgumentSemantic.Copy)]
- NSDictionary All { get; }
-
- // @property (readonly, nonatomic, strong) RCOffering * _Nullable current;
- [NullAllowed, Export("current", ArgumentSemantic.Strong)]
- RCOffering Current { get; }
-
- // -(RCOffering * _Nullable)offeringWithIdentifier:(NSString * _Nullable)identifier __attribute__((warn_unused_result("")));
- [Export("offeringWithIdentifier:")]
- [return: NullAllowed]
- RCOffering OfferingWithIdentifier([NullAllowed] string identifier);
-
- // -(RCOffering * _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key __attribute__((warn_unused_result("")));
- [Export("objectForKeyedSubscript:")]
- [return: NullAllowed]
- RCOffering ObjectForKeyedSubscript(string key);
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
- [Export("description")]
- string Description { get; }
- }
-
- // @interface RCPackage : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCPackage
- {
- // @property (readonly, copy, nonatomic) NSString * _Nonnull identifier;
- [Export("identifier")]
- string Identifier { get; }
-
- // @property (readonly, nonatomic) enum RCPackageType packageType;
- [Export("packageType")]
- RCPackageType PackageType { get; }
-
- // @property (readonly, nonatomic, strong) RCStoreProduct * _Nonnull storeProduct;
- [Export("storeProduct", ArgumentSemantic.Strong)]
- RCStoreProduct StoreProduct { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull offeringIdentifier;
- [Export("offeringIdentifier")]
- string OfferingIdentifier { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedPriceString;
- [Export("localizedPriceString")]
- string LocalizedPriceString { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nullable localizedIntroductoryPriceString;
- [NullAllowed, Export("localizedIntroductoryPriceString")]
- string LocalizedIntroductoryPriceString { get; }
-
- // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
- [Export("isEqual:")]
- bool IsEqual([NullAllowed] NSObject @object);
-
- // @property (readonly, nonatomic) NSUInteger hash;
- [Export("hash")]
- nuint Hash { get; }
-
- // +(NSString * _Nullable)stringFrom:(enum RCPackageType)packageType __attribute__((warn_unused_result("")));
- [Static]
- [Export("stringFrom:")]
- [return: NullAllowed]
- string StringFrom(RCPackageType packageType);
-
- // +(enum RCPackageType)packageTypeFrom:(NSString * _Nonnull)string __attribute__((warn_unused_result("")));
- [Static]
- [Export("packageTypeFrom:")]
- RCPackageType PackageTypeFrom(string @string);
- }
-
- // @interface RCPromotionalOffer : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCPromotionalOffer
- {
- }
-
- delegate void DefermentBlockHandler([BlockCallback] DefermentBlockHandler defermentBlock);
- delegate void ShouldPurchasePromoProductCallbackHandler(RCStoreTransaction transaction, RCCustomerInfo customerInfo, NSError error, bool userCancelled);
-
- // @interface RCPurchases : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCPurchases
- {
- // @property (readonly, nonatomic, strong, class) RCPurchases * _Nonnull sharedPurchases;
- [Static]
- [Export("sharedPurchases", ArgumentSemantic.Strong)]
- RCPurchases SharedPurchases { get; }
-
- // @property (readonly, nonatomic, class) BOOL isConfigured;
- [Static]
- [Export("isConfigured")]
- bool IsConfigured { get; }
-
- [Wrap("WeakDelegate")]
- [NullAllowed]
- RCPurchasesDelegate Delegate { get; set; }
-
- // @property (nonatomic, strong) id _Nullable delegate;
- [NullAllowed, Export("delegate", ArgumentSemantic.Strong)]
- NSObject WeakDelegate { get; set; }
-
- // @property (nonatomic, class) BOOL automaticAppleSearchAdsAttributionCollection;
- [Static]
- [Export("automaticAppleSearchAdsAttributionCollection")]
- bool AutomaticAppleSearchAdsAttributionCollection { get; set; }
-
- // @property (nonatomic, class) enum RCLogLevel logLevel;
- [Static]
- [Export("logLevel", ArgumentSemantic.Assign)]
- RCLogLevel LogLevel { get; set; }
-
- // @property (copy, nonatomic, class) NSURL * _Nullable proxyURL;
- [Static]
- [NullAllowed, Export("proxyURL", ArgumentSemantic.Copy)]
- NSUrl ProxyURL { get; set; }
-
- // @property (nonatomic, class) BOOL forceUniversalAppStore;
- [Static]
- [Export("forceUniversalAppStore")]
- bool ForceUniversalAppStore { get; set; }
-
- // @property (nonatomic, class) BOOL simulatesAskToBuyInSandbox __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(macos, introduced=10.14))) __attribute__((availability(ios, introduced=8.0)));
- [Watch(6, 2), Mac(10, 14), iOS(8, 0)]
- [Static]
- [Export("simulatesAskToBuyInSandbox")]
- bool SimulatesAskToBuyInSandbox { get; set; }
-
- // +(BOOL)canMakePayments __attribute__((warn_unused_result("")));
- [Static]
- [Export("canMakePayments")]
- bool CanMakePayments { get; }
-
- // @property (copy, nonatomic, class) void (^ _Nonnull)(enum RCLogLevel, NSString * _Nonnull) logHandler;
- [Static]
- [Export("logHandler", ArgumentSemantic.Copy)]
- Action LogHandler { get; set; }
-
- // @property (copy, nonatomic, class) void (^ _Nonnull)(enum RCLogLevel, NSString * _Nonnull, NSString * _Nullable, NSString * _Nullable, NSUInteger) verboseLogHandler;
- [Static]
- [Export("verboseLogHandler", ArgumentSemantic.Copy)]
- Action VerboseLogHandler { get; set; }
-
- // @property (nonatomic, class) BOOL verboseLogs;
- [Static]
- [Export("verboseLogs")]
- bool VerboseLogs { get; set; }
-
- // @property (readonly, copy, nonatomic, class) NSString * _Nonnull frameworkVersion;
- [Static]
- [Export("frameworkVersion")]
- string FrameworkVersion { get; }
-
- // @property (nonatomic) BOOL finishTransactions;
- [Export("finishTransactions")]
- bool FinishTransactions { get; set; }
-
- // -(void)collectDeviceIdentifiers;
- [Export("collectDeviceIdentifiers")]
- void CollectDeviceIdentifiers();
-
- // -(void)shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))defermentBlock;
- [Export("shouldPurchasePromoProduct:defermentBlock:")]
- void ShouldPurchasePromoProduct(RCStoreProduct product, DefermentBlockHandler defermentBlock);
-
- // @property (nonatomic, strong, class) RCPlatformInfo * _Nullable platformInfo;
- [Static]
- [NullAllowed, Export("platformInfo", ArgumentSemantic.Strong)]
- RCPlatformInfo PlatformInfo { get; set; }
-
- // @property (nonatomic, class) BOOL debugLogsEnabled __attribute__((deprecated("use Purchases.logLevel instead")));
- [Static]
- [Export("debugLogsEnabled")]
- bool DebugLogsEnabled { get; set; }
-
- // @property (nonatomic) BOOL allowSharingAppStoreAccount __attribute__((deprecated("Configure behavior through the RevenueCat dashboard instead")));
- [Export("allowSharingAppStoreAccount")]
- bool AllowSharingAppStoreAccount { get; set; }
-
- // +(void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network __attribute__((deprecated("Use the set functions instead")));
- [Static]
- [Export("addAttributionData:fromNetwork:")]
- void AddAttributionData(NSDictionary data, RCAttributionNetwork network);
-
- // +(void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network forNetworkUserId:(NSString * _Nullable)networkUserId __attribute__((deprecated("Use the set functions instead")));
- [Static]
- [Export("addAttributionData:fromNetwork:forNetworkUserId:")]
- void AddAttributionData(NSDictionary data, RCAttributionNetwork network, [NullAllowed] string networkUserId);
-
- // +(RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey;
- [Static]
- [Export("configureWithAPIKey:")]
- RCPurchases ConfigureWithAPIKey(string apiKey);
-
- // +(RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID;
- [Static]
- [Export("configureWithAPIKey:appUserID:")]
- RCPurchases ConfigureWithAPIKey(string apiKey, [NullAllowed] string appUserID);
-
- // +(RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode;
- [Static]
- [Export("configureWithAPIKey:appUserID:observerMode:")]
- RCPurchases ConfigureWithAPIKey(string apiKey, [NullAllowed] string appUserID, bool observerMode);
-
- // +(RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults;
- [Static]
- [Export("configureWithAPIKey:appUserID:observerMode:userDefaults:")]
- RCPurchases ConfigureWithAPIKey(string apiKey, [NullAllowed] string appUserID, bool observerMode, [NullAllowed] NSUserDefaults userDefaults);
-
- // +(RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable;
- [Static]
- [Export("configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:")]
- RCPurchases ConfigureWithAPIKey(string apiKey, [NullAllowed] string appUserID, bool observerMode, [NullAllowed] NSUserDefaults userDefaults, bool useStoreKit2IfAvailable);
-
- // +(RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable dangerousSettings:(RCDangerousSettings * _Nullable)dangerousSettings;
- [Static]
- [Export("configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:dangerousSettings:")]
- RCPurchases ConfigureWithAPIKey(string apiKey, [NullAllowed] string appUserID, bool observerMode, [NullAllowed] NSUserDefaults userDefaults, bool useStoreKit2IfAvailable, [NullAllowed] RCDangerousSettings dangerousSettings);
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull appUserID;
- [Export("appUserID")]
- string AppUserID { get; }
-
- // @property (readonly, nonatomic) BOOL isAnonymous;
- [Export("isAnonymous")]
- bool IsAnonymous { get; }
-
- // -(void)logIn:(NSString * _Nonnull)appUserID completion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, BOOL, NSError * _Nullable))completion;
- [Export("logIn:completion:")]
- void LogIn(string appUserID, Action completion);
-
- // -(void)logOutWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
- [Export("logOutWithCompletion:")]
- void LogOutWithCompletion([NullAllowed] Action completion);
-
- // -(void)getOfferingsWithCompletion:(void (^ _Nonnull)(RCOfferings * _Nullable, NSError * _Nullable))completion;
- [Export("getOfferingsWithCompletion:")]
- void GetOfferingsWithCompletion(Action completion);
-
- // -(void)setAttributes:(NSDictionary * _Nonnull)attributes;
- [Export("setAttributes:")]
- void SetAttributes(NSDictionary attributes);
-
- // -(void)setEmail:(NSString * _Nullable)email;
- [Export("setEmail:")]
- void SetEmail([NullAllowed] string email);
-
- // -(void)setPhoneNumber:(NSString * _Nullable)phoneNumber;
- [Export("setPhoneNumber:")]
- void SetPhoneNumber([NullAllowed] string phoneNumber);
-
- // -(void)setDisplayName:(NSString * _Nullable)displayName;
- [Export("setDisplayName:")]
- void SetDisplayName([NullAllowed] string displayName);
-
- // -(void)setPushToken:(NSData * _Nullable)pushToken;
- [Export("setPushToken:")]
- void SetPushToken([NullAllowed] NSData pushToken);
-
- // -(void)setAdjustID:(NSString * _Nullable)adjustID;
- [Export("setAdjustID:")]
- void SetAdjustID([NullAllowed] string adjustID);
-
- // -(void)setAppsflyerID:(NSString * _Nullable)appsflyerID;
- [Export("setAppsflyerID:")]
- void SetAppsflyerID([NullAllowed] string appsflyerID);
-
- // -(void)setFBAnonymousID:(NSString * _Nullable)fbAnonymousID;
- [Export("setFBAnonymousID:")]
- void SetFBAnonymousID([NullAllowed] string fbAnonymousID);
-
- // -(void)setMparticleID:(NSString * _Nullable)mparticleID;
- [Export("setMparticleID:")]
- void SetMparticleID([NullAllowed] string mparticleID);
-
- // -(void)setOnesignalID:(NSString * _Nullable)onesignalID;
- [Export("setOnesignalID:")]
- void SetOnesignalID([NullAllowed] string onesignalID);
-
- // -(void)setAirshipChannelID:(NSString * _Nullable)airshipChannelID;
- [Export("setAirshipChannelID:")]
- void SetAirshipChannelID([NullAllowed] string airshipChannelID);
-
- // -(void)setCleverTapID:(NSString * _Nullable)cleverTapID;
- [Export("setCleverTapID:")]
- void SetCleverTapID([NullAllowed] string cleverTapID);
-
- // -(void)setMediaSource:(NSString * _Nullable)mediaSource;
- [Export("setMediaSource:")]
- void SetMediaSource([NullAllowed] string mediaSource);
-
- // -(void)setCampaign:(NSString * _Nullable)campaign;
- [Export("setCampaign:")]
- void SetCampaign([NullAllowed] string campaign);
-
- // -(void)setAdGroup:(NSString * _Nullable)adGroup;
- [Export("setAdGroup:")]
- void SetAdGroup([NullAllowed] string adGroup);
-
- // -(void)setAd:(NSString * _Nullable)installAd;
- [Export("setAd:")]
- void SetAd([NullAllowed] string installAd);
-
- // -(void)setKeyword:(NSString * _Nullable)keyword;
- [Export("setKeyword:")]
- void SetKeyword([NullAllowed] string keyword);
-
- // -(void)setCreative:(NSString * _Nullable)creative;
- [Export("setCreative:")]
- void SetCreative([NullAllowed] string creative);
-
- // -(void)getCustomerInfoWithCompletion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
- [Export("getCustomerInfoWithCompletion:")]
- void GetCustomerInfoWithCompletion(Action completion);
-
- // -(void)getProductsWithIdentifiers:(NSArray * _Nonnull)productIdentifiers completion:(void (^ _Nonnull)(NSArray * _Nonnull))completion;
- [Export("getProductsWithIdentifiers:completion:")]
- void GetProductsWithIdentifiers(string[] productIdentifiers, Action> completion);
-
- // -(void)purchaseProduct:(RCStoreProduct * _Nonnull)product withCompletion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion;
- [Export("purchaseProduct:withCompletion:")]
- void PurchaseProduct(RCStoreProduct product, Action completion);
-
- // -(void)purchasePackage:(RCPackage * _Nonnull)package withCompletion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion;
- [Export("purchasePackage:withCompletion:")]
- void PurchasePackage(RCPackage package, Action completion);
-
- // -(void)purchaseProduct:(RCStoreProduct * _Nonnull)product withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
- [Watch(6, 2), TV(12, 2), Mac(10, 14, 4), iOS(12, 2)]
- [Export("purchaseProduct:withPromotionalOffer:completion:")]
- void PurchaseProduct(RCStoreProduct product, RCPromotionalOffer promotionalOffer, Action completion);
-
- // -(void)purchasePackage:(RCPackage * _Nonnull)package withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
- [Watch(6, 2), TV(12, 2), Mac(10, 14, 4), iOS(12, 2)]
- [Export("purchasePackage:withPromotionalOffer:completion:")]
- void PurchasePackage(RCPackage package, RCPromotionalOffer promotionalOffer, Action completion);
-
- // -(void)syncPurchasesWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
- [Export("syncPurchasesWithCompletion:")]
- void SyncPurchasesWithCompletion([NullAllowed] Action completion);
-
- // -(void)restorePurchasesWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
- [Export("restorePurchasesWithCompletion:")]
- void RestorePurchasesWithCompletion([NullAllowed] Action completion);
-
- // -(void)checkTrialOrIntroDiscountEligibility:(NSArray * _Nonnull)productIdentifiers completion:(void (^ _Nonnull)(NSDictionary * _Nonnull))completion;
- [Export("checkTrialOrIntroDiscountEligibility:completion:")]
- void CheckTrialOrIntroDiscountEligibility(string[] productIdentifiers, Action> completion);
-
- // -(void)checkTrialOrIntroDiscountEligibilityForProduct:(RCStoreProduct * _Nonnull)product completion:(void (^ _Nonnull)(enum RCIntroEligibilityStatus))completion;
- [Export("checkTrialOrIntroDiscountEligibilityForProduct:completion:")]
- void CheckTrialOrIntroDiscountEligibilityForProduct(RCStoreProduct product, Action completion);
-
- // -(void)invalidateCustomerInfoCache;
- [Export("invalidateCustomerInfoCache")]
- void InvalidateCustomerInfoCache();
-
- // -(void)presentCodeRedemptionSheet __attribute__((availability(macos, unavailable))) __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable))) __attribute__((availability(ios, introduced=14.0)));
- [NoWatch, NoTV, NoMac, iOS(14, 0)]
- [Export("presentCodeRedemptionSheet")]
- void PresentCodeRedemptionSheet();
-
- // -(void)getPromotionalOfferForProductDiscount:(RCStoreProductDiscount * _Nonnull)discount withProduct:(RCStoreProduct * _Nonnull)product withCompletion:(void (^ _Nonnull)(RCPromotionalOffer * _Nullable, NSError * _Nullable))completion __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
- [Watch(6, 2), TV(12, 2), Mac(10, 14, 4), iOS(12, 2)]
- [Export("getPromotionalOfferForProductDiscount:withProduct:withCompletion:")]
- void GetPromotionalOfferForProductDiscount(RCStoreProductDiscount discount, RCStoreProduct product, Action completion);
-
- // -(void)showManageSubscriptionsWithCompletion:(void (^ _Nonnull)(NSError * _Nullable))completion __attribute__((availability(macos, introduced=10.15))) __attribute__((availability(ios, introduced=13.0))) __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable)));
- [NoWatch, NoTV, Mac(10, 15), iOS(13, 0)]
- [Export("showManageSubscriptionsWithCompletion:")]
- void ShowManageSubscriptionsWithCompletion(Action completion);
-
- // -(void)beginRefundRequestForProduct:(NSString * _Nonnull)productID completion:(void (^ _Nonnull)(enum RCRefundRequestStatus, NSError * _Nullable))completionHandler __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable))) __attribute__((availability(macos, unavailable))) __attribute__((availability(ios, introduced=15.0)));
- [NoWatch, NoTV, NoMac, iOS(15, 0)]
- [Export("beginRefundRequestForProduct:completion:")]
- void BeginRefundRequestForProduct(string productID, Action completionHandler);
-
- // -(void)beginRefundRequestForEntitlement:(NSString * _Nonnull)entitlementID completion:(void (^ _Nonnull)(enum RCRefundRequestStatus, NSError * _Nullable))completionHandler __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable))) __attribute__((availability(macos, unavailable))) __attribute__((availability(ios, introduced=15.0)));
- [NoWatch, NoTV, NoMac, iOS(15, 0)]
- [Export("beginRefundRequestForEntitlement:completion:")]
- void BeginRefundRequestForEntitlement(string entitlementID, Action completionHandler);
-
- // -(void)beginRefundRequestForActiveEntitlementWithCompletion:(void (^ _Nonnull)(enum RCRefundRequestStatus, NSError * _Nullable))completionHandler __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable))) __attribute__((availability(macos, unavailable))) __attribute__((availability(ios, introduced=15.0)));
- [NoWatch, NoTV, NoMac, iOS(15, 0)]
- [Export("beginRefundRequestForActiveEntitlementWithCompletion:")]
- void BeginRefundRequestForActiveEntitlementWithCompletion(Action completionHandler);
- }
-
- // @interface RCPlatformInfo : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCPlatformInfo
- {
- // -(instancetype _Nonnull)initWithFlavor:(NSString * _Nonnull)flavor version:(NSString * _Nonnull)version __attribute__((objc_designated_initializer));
- [Export("initWithFlavor:version:")]
- [DesignatedInitializer]
- IntPtr Constructor(string flavor, string version);
- }
-
- // @protocol RCPurchasesDelegate
- [Protocol, Model(AutoGeneratedName = true)]
- [BaseType(typeof(NSObject))]
- interface RCPurchasesDelegate
- {
- // @optional -(void)purchases:(RCPurchases * _Nonnull)purchases receivedUpdatedCustomerInfo:(RCCustomerInfo * _Nonnull)customerInfo;
- [Export("purchases:receivedUpdatedCustomerInfo:")]
- void ReceivedUpdatedCustomerInfo(RCPurchases purchases, RCCustomerInfo customerInfo);
-
- // @optional -(void)purchases:(RCPurchases * _Nonnull)purchases shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))makeDeferredPurchase;
- [Export("purchases:shouldPurchasePromoProduct:defermentBlock:")]
- void ShouldPurchasePromoProduct(RCPurchases purchases, RCStoreProduct product, DefermentBlockHandler makeDeferredPurchase);
- }
-
- // @interface RCStoreProduct : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCStoreProduct : INativeObject
- {
- // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
- [Export("isEqual:")]
- bool IsEqual([NullAllowed] NSObject @object);
-
- // @property (readonly, nonatomic) NSUInteger hash;
- [Export("hash")]
- nuint Hash { get; }
-
- // @property (readonly, nonatomic) enum RCStoreProductType productType;
- [Export("productType")]
- RCStoreProductType ProductType { get; }
-
- // @property (readonly, nonatomic) enum RCStoreProductCategory productCategory;
- [Export("productCategory")]
- RCStoreProductCategory ProductCategory { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedDescription;
- [Export("localizedDescription")]
- string LocalizedDescription { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedTitle;
- [Export("localizedTitle")]
- string LocalizedTitle { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nullable currencyCode;
- [NullAllowed, Export("currencyCode")]
- string CurrencyCode { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedPriceString;
- [Export("localizedPriceString")]
- string LocalizedPriceString { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull productIdentifier;
- [Export("productIdentifier")]
- string ProductIdentifier { get; }
-
- // @property (readonly, nonatomic) BOOL isFamilyShareable __attribute__((availability(watchos, introduced=8.0))) __attribute__((availability(tvos, introduced=14.0))) __attribute__((availability(macos, introduced=11.0))) __attribute__((availability(ios, introduced=14.0)));
- [Watch(8, 0), TV(14, 0), Mac(11, 0), iOS(14, 0)]
- [Export("isFamilyShareable")]
- bool IsFamilyShareable { get; }
-
- // @property (readonly, copy, nonatomic) SWIFT_AVAILABILITY(watchos,introduced=6.2) NSString * subscriptionGroupIdentifier __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(macos, introduced=10.14))) __attribute__((availability(tvos, introduced=12.0))) __attribute__((availability(ios, introduced=12.0)));
- [Watch(6, 2), TV(12, 0), Mac(10, 14), iOS(12, 0)]
- [Export("subscriptionGroupIdentifier")]
- string SubscriptionGroupIdentifier { get; }
-
- // @property (readonly, nonatomic, strong) NSNumberFormatter * _Nullable priceFormatter;
- [NullAllowed, Export("priceFormatter", ArgumentSemantic.Strong)]
- NSNumberFormatter PriceFormatter { get; }
-
- // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(watchos,introduced=6.2) RCSubscriptionPeriod * subscriptionPeriod __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=11.2))) __attribute__((availability(macos, introduced=10.13.2))) __attribute__((availability(ios, introduced=11.2)));
- [Watch(6, 2), TV(11, 2), Mac(10, 13, 2), iOS(11, 2)]
- [Export("subscriptionPeriod", ArgumentSemantic.Strong)]
- RCSubscriptionPeriod SubscriptionPeriod { get; }
-
- // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(watchos,introduced=6.2) RCStoreProductDiscount * introductoryDiscount __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=11.2))) __attribute__((availability(macos, introduced=10.13.2))) __attribute__((availability(ios, introduced=11.2)));
- [Watch(6, 2), TV(11, 2), Mac(10, 13, 2), iOS(11, 2)]
- [Export("introductoryDiscount", ArgumentSemantic.Strong)]
- RCStoreProductDiscount IntroductoryDiscount { get; }
-
- // @property (readonly, copy, nonatomic) SWIFT_AVAILABILITY(watchos,introduced=6.2) NSArray * discounts __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
- [Watch(6, 2), TV(12, 2), Mac(10, 14, 4), iOS(12, 2)]
- [Export("discounts", ArgumentSemantic.Copy)]
- RCStoreProductDiscount[] Discounts { get; }
-
- // -(instancetype _Nonnull)initWithSk1Product:(SKProduct * _Nonnull)sk1Product;
- [Export("initWithSk1Product:")]
- IntPtr Constructor(SKProduct sk1Product);
-
- // @property (readonly, nonatomic, strong) SKProduct * _Nullable sk1Product;
- [NullAllowed, Export("sk1Product", ArgumentSemantic.Strong)]
- SKProduct Sk1Product { get; }
-
- // @property (readonly, nonatomic, strong) NSDecimalNumber * _Nonnull price;
- [Export("price", ArgumentSemantic.Strong)]
- NSDecimalNumber Price { get; }
-
- // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(watchos,introduced=6.2) NSDecimalNumber * pricePerMonth __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=11.2))) __attribute__((availability(macos, introduced=10.13.2))) __attribute__((availability(ios, introduced=11.2)));
- [Watch(6, 2), TV(11, 2), Mac(10, 13, 2), iOS(11, 2)]
- [Export("pricePerMonth", ArgumentSemantic.Strong)]
- NSDecimalNumber PricePerMonth { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nullable localizedIntroductoryPriceString;
- [NullAllowed, Export("localizedIntroductoryPriceString")]
- string LocalizedIntroductoryPriceString { get; }
- }
-
- // @interface RCStoreProductDiscount : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCStoreProductDiscount
- {
- // @property (readonly, copy, nonatomic) NSString * _Nullable offerIdentifier;
- [NullAllowed, Export("offerIdentifier")]
- string OfferIdentifier { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nullable currencyCode;
- [NullAllowed, Export("currencyCode")]
- string CurrencyCode { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedPriceString;
- [Export("localizedPriceString")]
- string LocalizedPriceString { get; }
-
- // @property (readonly, nonatomic) enum RCPaymentMode paymentMode;
- [Export("paymentMode")]
- RCPaymentMode PaymentMode { get; }
-
- // @property (readonly, nonatomic, strong) RCSubscriptionPeriod * _Nonnull subscriptionPeriod;
- [Export("subscriptionPeriod", ArgumentSemantic.Strong)]
- RCSubscriptionPeriod SubscriptionPeriod { get; }
-
- // @property (readonly, nonatomic) enum RCDiscountType type;
- [Export("type")]
- RCDiscountType Type { get; }
-
- // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
- [Export("isEqual:")]
- bool IsEqual([NullAllowed] NSObject @object);
-
- // @property (readonly, nonatomic) NSUInteger hash;
- [Export("hash")]
- nuint Hash { get; }
-
- // @property (readonly, nonatomic, strong) NSDecimalNumber * _Nonnull price;
- [Export("price", ArgumentSemantic.Strong)]
- NSDecimalNumber Price { get; }
-
- // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(watchos,introduced=6.2) SKProductDiscount * sk1Discount __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
- [Watch(6, 2), TV(12, 2), Mac(10, 14, 4), iOS(12, 2)]
- [Export("sk1Discount", ArgumentSemantic.Strong)]
- SKProductDiscount Sk1Discount { get; }
- }
-
- // @interface RCStoreTransaction : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCStoreTransaction
- {
- // @property (readonly, copy, nonatomic) NSString * _Nonnull productIdentifier;
- [Export("productIdentifier")]
- string ProductIdentifier { get; }
-
- // @property (readonly, copy, nonatomic) NSDate * _Nonnull purchaseDate;
- [Export("purchaseDate", ArgumentSemantic.Copy)]
- NSDate PurchaseDate { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull transactionIdentifier;
- [Export("transactionIdentifier")]
- string TransactionIdentifier { get; }
-
- // @property (readonly, nonatomic) NSInteger quantity;
- [Export("quantity")]
- nint Quantity { get; }
-
- // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
- [Export("isEqual:")]
- bool IsEqual([NullAllowed] NSObject @object);
-
- // @property (readonly, nonatomic) NSUInteger hash;
- [Export("hash")]
- nuint Hash { get; }
-
- // @property (readonly, nonatomic, strong) SKPaymentTransaction * _Nullable sk1Transaction;
- [NullAllowed, Export("sk1Transaction", ArgumentSemantic.Strong)]
- SKPaymentTransaction Sk1Transaction { get; }
- }
-
- // @interface RCSubscriptionPeriod : NSObject
- [BaseType(typeof(NSObject))]
- [DisableDefaultCtor]
- interface RCSubscriptionPeriod
- {
- // @property (readonly, nonatomic) NSInteger value;
- [Export("value")]
- nint Value { get; }
-
- // @property (readonly, nonatomic) enum RCSubscriptionPeriodUnit unit;
- [Export("unit")]
- RCSubscriptionPeriodUnit Unit { get; }
-
- // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
- [Export("isEqual:")]
- bool IsEqual([NullAllowed] NSObject @object);
-
- // @property (readonly, nonatomic) NSUInteger hash;
- [Export("hash")]
- nuint Hash { get; }
-
- // @property (readonly, copy, nonatomic) NSString * _Nonnull debugDescription;
- [Export("debugDescription")]
- string DebugDescription { get; }
- }
-}
+ delegate void ReadyForPromotedProductCallbackHandler(RCStoreTransaction transaction, RCCustomerInfo customerInfo, NSError error, bool userCancelled);
+ delegate void StartPurchaseHandler([BlockCallback] ReadyForPromotedProductCallbackHandler defermentBlock);
+
+ // @interface RCAttribution : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCAttribution
+ {
+ // -(void)collectDeviceIdentifiers;
+ [Export("collectDeviceIdentifiers")]
+ void CollectDeviceIdentifiers();
+
+ // -(void)setAttributes:(NSDictionary * _Nonnull)attributes;
+ [Export("setAttributes:")]
+ void SetAttributes(NSDictionary attributes);
+
+ // -(void)setEmail:(NSString * _Nullable)email;
+ [Export("setEmail:")]
+ void SetEmail([NullAllowed] string email);
+
+ // -(void)setPhoneNumber:(NSString * _Nullable)phoneNumber;
+ [Export("setPhoneNumber:")]
+ void SetPhoneNumber([NullAllowed] string phoneNumber);
+
+ // -(void)setDisplayName:(NSString * _Nullable)displayName;
+ [Export("setDisplayName:")]
+ void SetDisplayName([NullAllowed] string displayName);
+
+ // -(void)setPushToken:(NSData * _Nullable)pushToken;
+ [Export("setPushToken:")]
+ void SetPushToken([NullAllowed] NSData pushToken);
+
+ // -(void)setPushTokenString:(NSString * _Nullable)pushToken;
+ [Export("setPushTokenString:")]
+ void SetPushTokenString([NullAllowed] string pushToken);
+
+ // -(void)setAdjustID:(NSString * _Nullable)adjustID;
+ [Export("setAdjustID:")]
+ void SetAdjustID([NullAllowed] string adjustID);
+
+ // -(void)setAppsflyerID:(NSString * _Nullable)appsflyerID;
+ [Export("setAppsflyerID:")]
+ void SetAppsflyerID([NullAllowed] string appsflyerID);
+
+ // -(void)setFBAnonymousID:(NSString * _Nullable)fbAnonymousID;
+ [Export("setFBAnonymousID:")]
+ void SetFBAnonymousID([NullAllowed] string fbAnonymousID);
+
+ // -(void)setMparticleID:(NSString * _Nullable)mparticleID;
+ [Export("setMparticleID:")]
+ void SetMparticleID([NullAllowed] string mparticleID);
+
+ // -(void)setOnesignalID:(NSString * _Nullable)onesignalID;
+ [Export("setOnesignalID:")]
+ void SetOnesignalID([NullAllowed] string onesignalID);
+
+ // -(void)setAirshipChannelID:(NSString * _Nullable)airshipChannelID;
+ [Export("setAirshipChannelID:")]
+ void SetAirshipChannelID([NullAllowed] string airshipChannelID);
+
+ // -(void)setCleverTapID:(NSString * _Nullable)cleverTapID;
+ [Export("setCleverTapID:")]
+ void SetCleverTapID([NullAllowed] string cleverTapID);
+
+ // -(void)setMixpanelDistinctID:(NSString * _Nullable)mixpanelDistinctID;
+ [Export("setMixpanelDistinctID:")]
+ void SetMixpanelDistinctID([NullAllowed] string mixpanelDistinctID);
+
+ // -(void)setFirebaseAppInstanceID:(NSString * _Nullable)firebaseAppInstanceID;
+ [Export("setFirebaseAppInstanceID:")]
+ void SetFirebaseAppInstanceID([NullAllowed] string firebaseAppInstanceID);
+
+ // -(void)setMediaSource:(NSString * _Nullable)mediaSource;
+ [Export("setMediaSource:")]
+ void SetMediaSource([NullAllowed] string mediaSource);
+
+ // -(void)setCampaign:(NSString * _Nullable)campaign;
+ [Export("setCampaign:")]
+ void SetCampaign([NullAllowed] string campaign);
+
+ // -(void)setAdGroup:(NSString * _Nullable)adGroup;
+ [Export("setAdGroup:")]
+ void SetAdGroup([NullAllowed] string adGroup);
+
+ // -(void)setAd:(NSString * _Nullable)installAd;
+ [Export("setAd:")]
+ void SetAd([NullAllowed] string installAd);
+
+ // -(void)setKeyword:(NSString * _Nullable)keyword;
+ [Export("setKeyword:")]
+ void SetKeyword([NullAllowed] string keyword);
+
+ // -(void)setCreative:(NSString * _Nullable)creative;
+ [Export("setCreative:")]
+ void SetCreative([NullAllowed] string creative);
+ }
+
+ // @interface RCConfiguration : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCConfiguration
+ {
+ // +(RCConfigurationBuilder * _Nonnull)builderWithAPIKey:(NSString * _Nonnull)apiKey __attribute__((warn_unused_result("")));
+ [Static]
+ [Export("builderWithAPIKey:")]
+ RCConfigurationBuilder BuilderWithAPIKey(string apiKey);
+ }
+
+ // @interface RCConfigurationBuilder : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCConfigurationBuilder
+ {
+ // -(instancetype _Nonnull)initWithAPIKey:(NSString * _Nonnull)apiKey __attribute__((objc_designated_initializer));
+ [Export("initWithAPIKey:")]
+ [DesignatedInitializer]
+ IntPtr Constructor(string apiKey);
+
+ // -(RCConfigurationBuilder * _Nonnull)withApiKey:(NSString * _Nonnull)apiKey __attribute__((warn_unused_result("")));
+ [Export("withApiKey:")]
+ RCConfigurationBuilder WithApiKey(string apiKey);
+
+ // -(RCConfigurationBuilder * _Nonnull)withAppUserID:(NSString * _Nonnull)appUserID __attribute__((warn_unused_result("")));
+ [Export("withAppUserID:")]
+ RCConfigurationBuilder WithAppUserID(string appUserID);
+
+ // -(RCConfigurationBuilder * _Nonnull)withObserverMode:(BOOL)observerMode __attribute__((warn_unused_result("")));
+ [Export("withObserverMode:")]
+ RCConfigurationBuilder WithObserverMode(bool observerMode);
+
+ // -(RCConfigurationBuilder * _Nonnull)withUserDefaults:(NSUserDefaults * _Nonnull)userDefaults __attribute__((warn_unused_result("")));
+ [Export("withUserDefaults:")]
+ RCConfigurationBuilder WithUserDefaults(NSUserDefaults userDefaults);
+
+ // -(RCConfigurationBuilder * _Nonnull)withUsesStoreKit2IfAvailable:(BOOL)usesStoreKit2IfAvailable __attribute__((warn_unused_result("")));
+ [Export("withUsesStoreKit2IfAvailable:")]
+ RCConfigurationBuilder WithUsesStoreKit2IfAvailable(bool usesStoreKit2IfAvailable);
+
+ // -(RCConfigurationBuilder * _Nonnull)withDangerousSettings:(RCDangerousSettings * _Nonnull)dangerousSettings __attribute__((warn_unused_result("")));
+ [Export("withDangerousSettings:")]
+ RCConfigurationBuilder WithDangerousSettings(RCDangerousSettings dangerousSettings);
+
+ // -(RCConfigurationBuilder * _Nonnull)withNetworkTimeout:(NSTimeInterval)networkTimeout __attribute__((warn_unused_result("")));
+ [Export("withNetworkTimeout:")]
+ RCConfigurationBuilder WithNetworkTimeout(double networkTimeout);
+
+ // -(RCConfigurationBuilder * _Nonnull)withStoreKit1Timeout:(NSTimeInterval)storeKit1Timeout __attribute__((warn_unused_result("")));
+ [Export("withStoreKit1Timeout:")]
+ RCConfigurationBuilder WithStoreKit1Timeout(double storeKit1Timeout);
+
+ // -(RCConfigurationBuilder * _Nonnull)withPlatformInfo:(RCPlatformInfo * _Nonnull)platformInfo __attribute__((warn_unused_result("")));
+ [Export("withPlatformInfo:")]
+ RCConfigurationBuilder WithPlatformInfo(RCPlatformInfo platformInfo);
+
+ // -(RCConfiguration * _Nonnull)build __attribute__((warn_unused_result("")));
+ [Export("build")]
+ RCConfiguration Build();
+ }
+
+ // @interface RCCustomerInfo : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCCustomerInfo
+ {
+ // @property (readonly, nonatomic, strong) RCEntitlementInfos * _Nonnull entitlements;
+ [Export("entitlements", ArgumentSemantic.Strong)]
+ RCEntitlementInfos Entitlements { get; }
+
+ // @property (readonly, copy, nonatomic) NSSet * _Nonnull activeSubscriptions;
+ [Export("activeSubscriptions", ArgumentSemantic.Copy)]
+ NSSet ActiveSubscriptions { get; }
+
+ // @property (readonly, copy, nonatomic) NSSet * _Nonnull allPurchasedProductIdentifiers;
+ [Export("allPurchasedProductIdentifiers", ArgumentSemantic.Copy)]
+ NSSet AllPurchasedProductIdentifiers { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nullable latestExpirationDate;
+ [NullAllowed, Export("latestExpirationDate", ArgumentSemantic.Copy)]
+ NSDate LatestExpirationDate { get; }
+
+ // @property (readonly, copy, nonatomic) NSArray * _Nonnull nonSubscriptions;
+ [Export("nonSubscriptions", ArgumentSemantic.Copy)]
+ RCNonSubscriptionTransaction[] NonSubscriptions { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nonnull requestDate;
+ [Export("requestDate", ArgumentSemantic.Copy)]
+ NSDate RequestDate { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nonnull firstSeen;
+ [Export("firstSeen", ArgumentSemantic.Copy)]
+ NSDate FirstSeen { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull originalAppUserId;
+ [Export("originalAppUserId")] string OriginalAppUserId { get; }
+
+ // @property (readonly, copy, nonatomic) NSURL * _Nullable managementURL;
+ [NullAllowed, Export("managementURL", ArgumentSemantic.Copy)]
+ NSUrl ManagementURL { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nullable originalPurchaseDate;
+ [NullAllowed, Export("originalPurchaseDate", ArgumentSemantic.Copy)]
+ NSDate OriginalPurchaseDate { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nullable originalApplicationVersion;
+ [NullAllowed, Export("originalApplicationVersion")]
+ string OriginalApplicationVersion { get; }
+
+ // -(NSDate * _Nullable)expirationDateForProductIdentifier:(NSString * _Nonnull)productIdentifier __attribute__((warn_unused_result("")));
+ [Export("expirationDateForProductIdentifier:")]
+ [return: NullAllowed]
+ NSDate ExpirationDateForProductIdentifier(string productIdentifier);
+
+ // -(NSDate * _Nullable)purchaseDateForProductIdentifier:(NSString * _Nonnull)productIdentifier __attribute__((warn_unused_result("")));
+ [Export("purchaseDateForProductIdentifier:")]
+ [return: NullAllowed]
+ NSDate PurchaseDateForProductIdentifier(string productIdentifier);
+
+ // -(NSDate * _Nullable)expirationDateForEntitlement:(NSString * _Nonnull)entitlementIdentifier __attribute__((warn_unused_result("")));
+ [Export("expirationDateForEntitlement:")]
+ [return: NullAllowed]
+ NSDate ExpirationDateForEntitlement(string entitlementIdentifier);
+
+ // -(NSDate * _Nullable)purchaseDateForEntitlement:(NSString * _Nonnull)entitlementIdentifier __attribute__((warn_unused_result("")));
+ [Export("purchaseDateForEntitlement:")]
+ [return: NullAllowed]
+ NSDate PurchaseDateForEntitlement(string entitlementIdentifier);
+
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, nonatomic) NSUInteger hash;
+ [Export("hash")] nuint Hash { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
+ [Export("description")] [Override] string Description { get; }
+
+ // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull rawData;
+ [Export("rawData", ArgumentSemantic.Copy)]
+ NSDictionary RawData { get; }
+
+ // @property (readonly, copy, nonatomic) SWIFT_DEPRECATED_MSG("use nonSubscriptionTransactions") NSSet * nonConsumablePurchases __attribute__((deprecated("use nonSubscriptionTransactions")));
+ [Export("nonConsumablePurchases", ArgumentSemantic.Copy)]
+ NSSet NonConsumablePurchases { get; }
+
+ // @property (readonly, copy, nonatomic) SWIFT_DEPRECATED_MSG("", "nonSubscriptions") NSArray * nonSubscriptionTransactions __attribute__((deprecated("", "nonSubscriptions")));
+ [Export("nonSubscriptionTransactions", ArgumentSemantic.Copy)]
+ RCStoreTransaction[] NonSubscriptionTransactions { get; }
+ }
+
+ // @interface RCDangerousSettings : NSObject
+ [BaseType(typeof(NSObject))]
+ interface RCDangerousSettings
+ {
+ // @property (readonly, nonatomic) BOOL autoSyncPurchases;
+ [Export("autoSyncPurchases")] bool AutoSyncPurchases { get; }
+
+ // -(instancetype _Nonnull)initWithAutoSyncPurchases:(BOOL)autoSyncPurchases __attribute__((objc_designated_initializer));
+ [Export("initWithAutoSyncPurchases:")]
+ [DesignatedInitializer]
+ IntPtr Constructor(bool autoSyncPurchases);
+ }
+
+ // @interface RCEntitlementInfo : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCEntitlementInfo : INativeObject
+ {
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull identifier;
+ [Export("identifier")] string Identifier { get; }
+
+ // @property (readonly, nonatomic) BOOL isActive;
+ [Export("isActive")] bool IsActive { get; }
+
+ // @property (readonly, nonatomic) BOOL willRenew;
+ [Export("willRenew")] bool WillRenew { get; }
+
+ // @property (readonly, nonatomic) enum RCPeriodType periodType;
+ [Export("periodType")] RCPeriodType PeriodType { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nullable latestPurchaseDate;
+ [NullAllowed, Export("latestPurchaseDate", ArgumentSemantic.Copy)]
+ NSDate LatestPurchaseDate { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nullable originalPurchaseDate;
+ [NullAllowed, Export("originalPurchaseDate", ArgumentSemantic.Copy)]
+ NSDate OriginalPurchaseDate { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nullable expirationDate;
+ [NullAllowed, Export("expirationDate", ArgumentSemantic.Copy)]
+ NSDate ExpirationDate { get; }
+
+ // @property (readonly, nonatomic) enum RCStore store;
+ [Export("store")] RCStore Store { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull productIdentifier;
+ [Export("productIdentifier")] string ProductIdentifier { get; }
+
+ // @property (readonly, nonatomic) BOOL isSandbox;
+ [Export("isSandbox")] bool IsSandbox { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nullable unsubscribeDetectedAt;
+ [NullAllowed, Export("unsubscribeDetectedAt", ArgumentSemantic.Copy)]
+ NSDate UnsubscribeDetectedAt { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nullable billingIssueDetectedAt;
+ [NullAllowed, Export("billingIssueDetectedAt", ArgumentSemantic.Copy)]
+ NSDate BillingIssueDetectedAt { get; }
+
+ // @property (readonly, nonatomic) enum RCPurchaseOwnershipType ownershipType;
+ [Export("ownershipType")] RCPurchaseOwnershipType OwnershipType { get; }
+
+ // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull rawData;
+ [Export("rawData", ArgumentSemantic.Copy)]
+ NSDictionary RawData { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
+ [Export("description")] [Override] string Description { get; }
+
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, nonatomic) NSUInteger hash;
+ [Export("hash")] nuint Hash { get; }
+
+ // @property (readonly, nonatomic) BOOL isActiveInCurrentEnvironment;
+ [Export("isActiveInCurrentEnvironment")]
+ bool IsActiveInCurrentEnvironment { get; }
+
+ // @property (readonly, nonatomic) BOOL isActiveInAnyEnvironment;
+ [Export("isActiveInAnyEnvironment")] bool IsActiveInAnyEnvironment { get; }
+ }
+
+ // @interface RCEntitlementInfos : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCEntitlementInfos
+ {
+ // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull all;
+ [Export("all", ArgumentSemantic.Copy)] NSDictionary All { get; }
+
+ // -(RCEntitlementInfo * _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key __attribute__((warn_unused_result("")));
+ [Export("objectForKeyedSubscript:")]
+ [return: NullAllowed]
+ RCEntitlementInfo ObjectForKeyedSubscript(string key);
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
+ [Export("description")] [Override] string Description { get; }
+
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull active;
+ [Export("active", ArgumentSemantic.Copy)]
+ NSDictionary Active { get; }
+
+ // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull activeInCurrentEnvironment;
+ [Export("activeInCurrentEnvironment", ArgumentSemantic.Copy)]
+ NSDictionary ActiveInCurrentEnvironment { get; }
+
+ // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull activeInAnyEnvironment;
+ [Export("activeInAnyEnvironment", ArgumentSemantic.Copy)]
+ NSDictionary ActiveInAnyEnvironment { get; }
+ }
+
+ // @interface RCIntroEligibility : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCIntroEligibility : INativeObject
+ {
+ // @property (readonly, nonatomic) enum RCIntroEligibilityStatus status;
+ [Export("status")] RCIntroEligibilityStatus Status { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
+ [Export("description")] [Override] string Description { get; }
+ }
+
+ // @interface RCNonSubscriptionTransaction : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCNonSubscriptionTransaction
+ {
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull productIdentifier;
+ [Export("productIdentifier")] string ProductIdentifier { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nonnull purchaseDate;
+ [Export("purchaseDate", ArgumentSemantic.Copy)]
+ NSDate PurchaseDate { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull transactionIdentifier;
+ [Export("transactionIdentifier")] string TransactionIdentifier { get; }
+ }
+
+ // @interface RCOffering : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCOffering : INativeObject
+ {
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull identifier;
+ [Export("identifier")] string Identifier { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull serverDescription;
+ [Export("serverDescription")] string ServerDescription { get; }
+
+ // @property (readonly, copy, nonatomic) NSArray * _Nonnull availablePackages;
+ [Export("availablePackages", ArgumentSemantic.Copy)]
+ RCPackage[] AvailablePackages { get; }
+
+ // @property (readonly, nonatomic, strong) RCPackage * _Nullable lifetime;
+ [NullAllowed, Export("lifetime", ArgumentSemantic.Strong)]
+ RCPackage Lifetime { get; }
+
+ // @property (readonly, nonatomic, strong) RCPackage * _Nullable annual;
+ [NullAllowed, Export("annual", ArgumentSemantic.Strong)]
+ RCPackage Annual { get; }
+
+ // @property (readonly, nonatomic, strong) RCPackage * _Nullable sixMonth;
+ [NullAllowed, Export("sixMonth", ArgumentSemantic.Strong)]
+ RCPackage SixMonth { get; }
+
+ // @property (readonly, nonatomic, strong) RCPackage * _Nullable threeMonth;
+ [NullAllowed, Export("threeMonth", ArgumentSemantic.Strong)]
+ RCPackage ThreeMonth { get; }
+
+ // @property (readonly, nonatomic, strong) RCPackage * _Nullable twoMonth;
+ [NullAllowed, Export("twoMonth", ArgumentSemantic.Strong)]
+ RCPackage TwoMonth { get; }
+
+ // @property (readonly, nonatomic, strong) RCPackage * _Nullable monthly;
+ [NullAllowed, Export("monthly", ArgumentSemantic.Strong)]
+ RCPackage Monthly { get; }
+
+ // @property (readonly, nonatomic, strong) RCPackage * _Nullable weekly;
+ [NullAllowed, Export("weekly", ArgumentSemantic.Strong)]
+ RCPackage Weekly { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
+ [Export("description")] [Override] string Description { get; }
+
+ // -(RCPackage * _Nullable)packageWithIdentifier:(NSString * _Nullable)identifier __attribute__((warn_unused_result("")));
+ [Export("packageWithIdentifier:")]
+ [return: NullAllowed]
+ RCPackage PackageWithIdentifier([NullAllowed] string identifier);
+
+ // -(RCPackage * _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key __attribute__((warn_unused_result("")));
+ [Export("objectForKeyedSubscript:")]
+ [return: NullAllowed]
+ RCPackage ObjectForKeyedSubscript(string key);
+ }
+
+ // @interface RCOfferings : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCOfferings
+ {
+ // @property (readonly, copy, nonatomic) NSDictionary * _Nonnull all;
+ [Export("all", ArgumentSemantic.Copy)] NSDictionary All { get; }
+
+ // @property (readonly, nonatomic, strong) RCOffering * _Nullable current;
+ [NullAllowed, Export("current", ArgumentSemantic.Strong)]
+ RCOffering Current { get; }
+
+ // -(RCOffering * _Nullable)offeringWithIdentifier:(NSString * _Nullable)identifier __attribute__((warn_unused_result("")));
+ [Export("offeringWithIdentifier:")]
+ [return: NullAllowed]
+ RCOffering OfferingWithIdentifier([NullAllowed] string identifier);
+
+ // -(RCOffering * _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key __attribute__((warn_unused_result("")));
+ [Export("objectForKeyedSubscript:")]
+ [return: NullAllowed]
+ RCOffering ObjectForKeyedSubscript(string key);
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
+ [Export("description")] [Override] string Description { get; }
+ }
+
+ // @interface RCPackage : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCPackage
+ {
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull identifier;
+ [Export("identifier")] string Identifier { get; }
+
+ // @property (readonly, nonatomic) enum RCPackageType packageType;
+ [Export("packageType")] RCPackageType PackageType { get; }
+
+ // @property (readonly, nonatomic, strong) RCStoreProduct * _Nonnull storeProduct;
+ [Export("storeProduct", ArgumentSemantic.Strong)]
+ RCStoreProduct StoreProduct { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull offeringIdentifier;
+ [Export("offeringIdentifier")] string OfferingIdentifier { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedPriceString;
+ [Export("localizedPriceString")] string LocalizedPriceString { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nullable localizedIntroductoryPriceString;
+ [NullAllowed, Export("localizedIntroductoryPriceString")]
+ string LocalizedIntroductoryPriceString { get; }
+
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, nonatomic) NSUInteger hash;
+ [Export("hash")] nuint Hash { get; }
+
+ // +(NSString * _Nullable)stringFrom:(enum RCPackageType)packageType __attribute__((warn_unused_result("")));
+ [Static]
+ [Export("stringFrom:")]
+ [return: NullAllowed]
+ string StringFrom(RCPackageType packageType);
+
+ // +(enum RCPackageType)packageTypeFrom:(NSString * _Nonnull)string __attribute__((warn_unused_result("")));
+ [Static]
+ [Export("packageTypeFrom:")]
+ RCPackageType PackageTypeFrom(string @string);
+ }
+
+ // @interface RCPromotionalOffer : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCPromotionalOffer
+ {
+ // @property (readonly, nonatomic, strong) RCStoreProductDiscount * _Nonnull discount;
+ [Export("discount", ArgumentSemantic.Strong)]
+ RCStoreProductDiscount Discount { get; }
+
+ // @property (readonly, nonatomic, strong) RCPromotionalOfferSignedData * _Nonnull signedData;
+ [Export("signedData", ArgumentSemantic.Strong)]
+ RCPromotionalOfferSignedData SignedData { get; }
+ }
+
+ // @interface RCPromotionalOfferSignedData : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCPromotionalOfferSignedData
+ {
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull identifier;
+ [Export("identifier")] string Identifier { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull keyIdentifier;
+ [Export("keyIdentifier")] string KeyIdentifier { get; }
+
+ // @property (readonly, copy, nonatomic) NSUUID * _Nonnull nonce;
+ [Export("nonce", ArgumentSemantic.Copy)]
+ NSUuid Nonce { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull signature;
+ [Export("signature")] string Signature { get; }
+
+ // @property (readonly, nonatomic) NSInteger timestamp;
+ [Export("timestamp")] nint Timestamp { get; }
+ }
+
+ // @interface RCPurchases : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCPurchases
+ {
+ // @property (readonly, nonatomic, strong, class) RCPurchases * _Nonnull sharedPurchases;
+ [Static]
+ [Export("sharedPurchases", ArgumentSemantic.Strong)]
+ RCPurchases SharedPurchases { get; }
+
+ // @property (readonly, nonatomic, class) BOOL isConfigured;
+ [Static] [Export("isConfigured")] bool IsConfigured { get; }
+
+ [Wrap("WeakDelegate")] [NullAllowed] RCPurchasesDelegate Delegate { get; set; }
+
+ // @property (nonatomic, strong) id _Nullable delegate;
+ [NullAllowed, Export("delegate", ArgumentSemantic.Strong)]
+ NSObject WeakDelegate { get; set; }
+
+ // @property (nonatomic, class) BOOL automaticAppleSearchAdsAttributionCollection;
+ [Static]
+ [Export("automaticAppleSearchAdsAttributionCollection")]
+ bool AutomaticAppleSearchAdsAttributionCollection { get; set; }
+
+ // @property (nonatomic, class) enum RCLogLevel logLevel;
+ [Static]
+ [Export("logLevel", ArgumentSemantic.Assign)]
+ RCLogLevel LogLevel { get; set; }
+
+ // @property (copy, nonatomic, class) NSURL * _Nullable proxyURL;
+ [Static]
+ [NullAllowed, Export("proxyURL", ArgumentSemantic.Copy)]
+ NSUrl ProxyURL { get; set; }
+
+ // @property (nonatomic, class) BOOL forceUniversalAppStore;
+ [Static]
+ [Export("forceUniversalAppStore")]
+ bool ForceUniversalAppStore { get; set; }
+
+ // @property (nonatomic, class) BOOL simulatesAskToBuyInSandbox __attribute__((availability(maccatalyst, introduced=13.0))) __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(macos, introduced=10.14))) __attribute__((availability(ios, introduced=8.0)));
+ [Watch(6, 2), MacCatalyst(13, 0), Mac(10, 14), iOS(8, 0)]
+ [Static]
+ [Export("simulatesAskToBuyInSandbox")]
+ bool SimulatesAskToBuyInSandbox { get; set; }
+
+ // +(BOOL)canMakePayments __attribute__((warn_unused_result("")));
+ [Static] [Export("canMakePayments")] bool CanMakePayments { get; }
+
+ // @property (copy, nonatomic, class) void (^ _Nonnull)(enum RCLogLevel, NSString * _Nonnull) logHandler;
+ [Static]
+ [Export("logHandler", ArgumentSemantic.Copy)]
+ Action LogHandler { get; set; }
+
+ // @property (copy, nonatomic, class) void (^ _Nonnull)(enum RCLogLevel, NSString * _Nonnull, NSString * _Nullable, NSString * _Nullable, NSUInteger) verboseLogHandler;
+ [Static]
+ [Export("verboseLogHandler", ArgumentSemantic.Copy)]
+ Action VerboseLogHandler { get; set; }
+
+ // @property (nonatomic, class) BOOL verboseLogs;
+ [Static] [Export("verboseLogs")] bool VerboseLogs { get; set; }
+
+ // @property (readonly, copy, nonatomic, class) NSString * _Nonnull frameworkVersion;
+ [Static] [Export("frameworkVersion")] string FrameworkVersion { get; }
+
+ // @property (readonly, nonatomic, strong) RCAttribution * _Nonnull attribution;
+ [Export("attribution", ArgumentSemantic.Strong)]
+ RCAttribution Attribution { get; }
+
+ // @property (nonatomic) BOOL finishTransactions;
+ [Export("finishTransactions")] bool FinishTransactions { get; set; }
+
+ // @property (nonatomic, strong, class) RCPlatformInfo * _Nullable platformInfo;
+ [Static]
+ [NullAllowed, Export("platformInfo", ArgumentSemantic.Strong)]
+ RCPlatformInfo PlatformInfo { get; set; }
+
+ // +(RCPurchases * _Nonnull)configureWithConfiguration:(RCConfiguration * _Nonnull)configuration;
+ [Static]
+ [Export("configureWithConfiguration:")]
+ RCPurchases ConfigureWithConfiguration(RCConfiguration configuration);
+
+ // +(RCPurchases * _Nonnull)configureWithConfigurationBuilder:(RCConfigurationBuilder * _Nonnull)builder;
+ [Static]
+ [Export("configureWithConfigurationBuilder:")]
+ RCPurchases ConfigureWithConfigurationBuilder(RCConfigurationBuilder builder);
+
+ // +(RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey;
+ [Static]
+ [Export("configureWithAPIKey:")]
+ RCPurchases ConfigureWithAPIKey(string apiKey);
+
+ // -(void)readyForPromotedProduct:(RCStoreProduct * _Nonnull)product purchase:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))startPurchase;
+ [Export("readyForPromotedProduct:purchase:")]
+ void ReadyForPromotedProduct(RCStoreProduct product, StartPurchaseHandler startPurchaseHandler);
+
+ // @property (readonly, nonatomic) BOOL shouldShowPriceConsent __attribute__((availability(maccatalyst, introduced=13.4))) __attribute__((availability(ios, introduced=13.4)));
+ [MacCatalyst(13, 4), iOS(13, 4)]
+ [Export("shouldShowPriceConsent")]
+ bool ShouldShowPriceConsent { get; }
+
+ // @property (nonatomic, class) BOOL debugLogsEnabled __attribute__((deprecated("use Purchases.logLevel instead")));
+ [Static] [Export("debugLogsEnabled")] bool DebugLogsEnabled { get; set; }
+
+ // @property (nonatomic) BOOL allowSharingAppStoreAccount __attribute__((deprecated("Configure behavior through the RevenueCat dashboard instead")));
+ [Export("allowSharingAppStoreAccount")]
+ bool AllowSharingAppStoreAccount { get; set; }
+
+ // +(void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network __attribute__((deprecated("Use the set functions instead")));
+ [Static]
+ [Export("addAttributionData:fromNetwork:")]
+ void AddAttributionData(NSDictionary data, RCAttributionNetwork network);
+
+ // +(void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network forNetworkUserId:(NSString * _Nullable)networkUserId __attribute__((deprecated("Use the set functions instead")));
+ [Static]
+ [Export("addAttributionData:fromNetwork:forNetworkUserId:")]
+ void AddAttributionData(NSDictionary data, RCAttributionNetwork network,
+ [NullAllowed] string networkUserId);
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull appUserID;
+ [Export("appUserID")] string AppUserID { get; }
+
+ // @property (readonly, nonatomic) BOOL isAnonymous;
+ [Export("isAnonymous")] bool IsAnonymous { get; }
+
+ // -(void)logIn:(NSString * _Nonnull)appUserID completion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, BOOL, NSError * _Nullable))completion;
+ [Export("logIn:completion:")]
+ void LogIn(string appUserID, Action completion);
+
+ // -(void)logOutWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+ [Export("logOutWithCompletion:")]
+ void LogOutWithCompletion([NullAllowed] Action completion);
+
+ // -(void)getOfferingsWithCompletion:(void (^ _Nonnull)(RCOfferings * _Nullable, NSError * _Nullable))completion;
+ [Export("getOfferingsWithCompletion:")]
+ void GetOfferingsWithCompletion(Action completion);
+
+ // -(void)getCustomerInfoWithCompletion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+ [Export("getCustomerInfoWithCompletion:")]
+ void GetCustomerInfoWithCompletion(Action completion);
+
+ // -(void)getCustomerInfoWithFetchPolicy:(enum RCCacheFetchPolicy)fetchPolicy completion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+ [Export("getCustomerInfoWithFetchPolicy:completion:")]
+ void GetCustomerInfoWithFetchPolicy(RCCacheFetchPolicy fetchPolicy, Action completion);
+
+ // -(void)getProductsWithIdentifiers:(NSArray * _Nonnull)productIdentifiers completion:(void (^ _Nonnull)(NSArray * _Nonnull))completion;
+ [Export("getProductsWithIdentifiers:completion:")]
+ void GetProductsWithIdentifiers(string[] productIdentifiers, Action> completion);
+
+ // -(void)purchaseProduct:(RCStoreProduct * _Nonnull)product withCompletion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion;
+ [Export("purchaseProduct:withCompletion:")]
+ void PurchaseProduct(RCStoreProduct product,
+ Action completion);
+
+ // -(void)purchasePackage:(RCPackage * _Nonnull)package withCompletion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion;
+ [Export("purchasePackage:withCompletion:")]
+ void PurchasePackage(RCPackage package, Action completion);
+
+ // -(void)purchaseProduct:(RCStoreProduct * _Nonnull)product withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(maccatalyst, introduced=13.0))) __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
+ [Watch(6, 2), TV(12, 2), MacCatalyst(13, 0), Mac(10, 14, 4), iOS(12, 2)]
+ [Export("purchaseProduct:withPromotionalOffer:completion:")]
+ void PurchaseProduct(RCStoreProduct product, RCPromotionalOffer promotionalOffer,
+ Action completion);
+
+ // -(void)purchasePackage:(RCPackage * _Nonnull)package withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(maccatalyst, introduced=13.0))) __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
+ [Watch(6, 2), TV(12, 2), MacCatalyst(13, 0), Mac(10, 14, 4), iOS(12, 2)]
+ [Export("purchasePackage:withPromotionalOffer:completion:")]
+ void PurchasePackage(RCPackage package, RCPromotionalOffer promotionalOffer,
+ Action completion);
+
+ // -(void)syncPurchasesWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+ [Export("syncPurchasesWithCompletion:")]
+ void SyncPurchasesWithCompletion([NullAllowed] Action completion);
+
+ // -(void)restorePurchasesWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+ [Export("restorePurchasesWithCompletion:")]
+ void RestorePurchasesWithCompletion([NullAllowed] Action completion);
+
+ // -(void)checkTrialOrIntroDiscountEligibility:(NSArray * _Nonnull)productIdentifiers completion:(void (^ _Nonnull)(NSDictionary * _Nonnull))completion;
+ [Export("checkTrialOrIntroDiscountEligibility:completion:")]
+ void CheckTrialOrIntroDiscountEligibility(string[] productIdentifiers,
+ Action> completion);
+
+ // -(void)checkTrialOrIntroDiscountEligibilityForProduct:(RCStoreProduct * _Nonnull)product completion:(void (^ _Nonnull)(enum RCIntroEligibilityStatus))completion;
+ [Export("checkTrialOrIntroDiscountEligibilityForProduct:completion:")]
+ void CheckTrialOrIntroDiscountEligibilityForProduct(RCStoreProduct product,
+ Action completion);
+
+ // -(void)showPriceConsentIfNeeded __attribute__((availability(maccatalyst, introduced=13.4))) __attribute__((availability(ios, introduced=13.4)));
+ [MacCatalyst(13, 4), iOS(13, 4)]
+ [Export("showPriceConsentIfNeeded")]
+ void ShowPriceConsentIfNeeded();
+
+ // -(void)invalidateCustomerInfoCache;
+ [Export("invalidateCustomerInfoCache")]
+ void InvalidateCustomerInfoCache();
+
+ // -(void)presentCodeRedemptionSheet __attribute__((availability(maccatalyst, unavailable))) __attribute__((availability(macos, unavailable))) __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable))) __attribute__((availability(ios, introduced=14.0)));
+ [NoWatch, NoTV, NoMacCatalyst, NoMac, iOS(14, 0)]
+ [Export("presentCodeRedemptionSheet")]
+ void PresentCodeRedemptionSheet();
+
+ // -(void)getPromotionalOfferForProductDiscount:(RCStoreProductDiscount * _Nonnull)discount withProduct:(RCStoreProduct * _Nonnull)product withCompletion:(void (^ _Nonnull)(RCPromotionalOffer * _Nullable, NSError * _Nullable))completion __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(maccatalyst, introduced=13.0))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
+ [Watch(6, 2), TV(12, 2), MacCatalyst(13, 0), Mac(10, 14, 4), iOS(12, 2)]
+ [Export("getPromotionalOfferForProductDiscount:withProduct:withCompletion:")]
+ void GetPromotionalOfferForProductDiscount(RCStoreProductDiscount discount, RCStoreProduct product,
+ Action completion);
+
+ // -(void)showManageSubscriptionsWithCompletion:(void (^ _Nonnull)(NSError * _Nullable))completion __attribute__((availability(macos, introduced=10.15))) __attribute__((availability(ios, introduced=13.0))) __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable)));
+ [NoWatch, NoTV, Mac(10, 15), iOS(13, 0)]
+ [Export("showManageSubscriptionsWithCompletion:")]
+ void ShowManageSubscriptionsWithCompletion(Action completion);
+
+ // -(void)beginRefundRequestForProduct:(NSString * _Nonnull)productID completion:(void (^ _Nonnull)(enum RCRefundRequestStatus, NSError * _Nullable))completionHandler __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable))) __attribute__((availability(macos, unavailable))) __attribute__((availability(ios, introduced=15.0)));
+ [NoWatch, NoTV, NoMac, iOS(15, 0)]
+ [Export("beginRefundRequestForProduct:completion:")]
+ void BeginRefundRequestForProduct(string productID, Action completionHandler);
+
+ // -(void)beginRefundRequestForEntitlement:(NSString * _Nonnull)entitlementID completion:(void (^ _Nonnull)(enum RCRefundRequestStatus, NSError * _Nullable))completionHandler __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable))) __attribute__((availability(macos, unavailable))) __attribute__((availability(ios, introduced=15.0)));
+ [NoWatch, NoTV, NoMac, iOS(15, 0)]
+ [Export("beginRefundRequestForEntitlement:completion:")]
+ void BeginRefundRequestForEntitlement(string entitlementID,
+ Action completionHandler);
+
+ // -(void)beginRefundRequestForActiveEntitlementWithCompletion:(void (^ _Nonnull)(enum RCRefundRequestStatus, NSError * _Nullable))completionHandler __attribute__((availability(tvos, unavailable))) __attribute__((availability(watchos, unavailable))) __attribute__((availability(macos, unavailable))) __attribute__((availability(ios, introduced=15.0)));
+ [NoWatch, NoTV, NoMac, iOS(15, 0)]
+ [Export("beginRefundRequestForActiveEntitlementWithCompletion:")]
+ void BeginRefundRequestForActiveEntitlementWithCompletion(
+ Action completionHandler);
+ }
+
+ // @interface RCPlatformInfo : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCPlatformInfo
+ {
+ // -(instancetype _Nonnull)initWithFlavor:(NSString * _Nonnull)flavor version:(NSString * _Nonnull)version __attribute__((objc_designated_initializer));
+ [Export("initWithFlavor:version:")]
+ [DesignatedInitializer]
+ IntPtr Constructor(string flavor, string version);
+ }
+
+ // @protocol RCPurchasesDelegate
+ [Protocol, Model(AutoGeneratedName = true)]
+ [BaseType(typeof(NSObject))]
+ interface RCPurchasesDelegate
+ {
+ // @optional -(void)purchases:(RCPurchases * _Nonnull)purchases receivedUpdatedCustomerInfo:(RCCustomerInfo * _Nonnull)customerInfo;
+ [Export("purchases:receivedUpdatedCustomerInfo:")]
+ void ReceivedUpdatedCustomerInfo(RCPurchases purchases, RCCustomerInfo customerInfo);
+
+ // @optional -(void)purchases:(RCPurchases * _Nonnull)purchases readyForPromotedProduct:(RCStoreProduct * _Nonnull)product purchase:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))startPurchase;
+ [Export("purchases:readyForPromotedProduct:purchase:")]
+ void ReadyForPromotedProduct(RCPurchases purchases, RCStoreProduct product, StartPurchaseHandler startPurchase);
+
+ // @optional @property (readonly, nonatomic) BOOL shouldShowPriceConsent __attribute__((availability(watchos, unavailable))) __attribute__((availability(tvos, unavailable))) __attribute__((availability(macos, unavailable))) __attribute__((availability(maccatalyst, introduced=13.4))) __attribute__((availability(ios, introduced=13.4)));
+ [NoWatch, NoTV, NoMac, MacCatalyst(13, 4), iOS(13, 4)]
+ [Export("shouldShowPriceConsent")]
+ bool ShouldShowPriceConsent { get; }
+ }
+
+ // @interface RCStoreProduct : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCStoreProduct : INativeObject
+ {
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, nonatomic) NSUInteger hash;
+ [Export("hash")] nuint Hash { get; }
+
+ // @property (readonly, nonatomic) enum RCStoreProductType productType;
+ [Export("productType")] RCStoreProductType ProductType { get; }
+
+ // @property (readonly, nonatomic) enum RCStoreProductCategory productCategory;
+ [Export("productCategory")] RCStoreProductCategory ProductCategory { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedDescription;
+ [Export("localizedDescription")] string LocalizedDescription { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedTitle;
+ [Export("localizedTitle")] string LocalizedTitle { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nullable currencyCode;
+ [NullAllowed, Export("currencyCode")] string CurrencyCode { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedPriceString;
+ [Export("localizedPriceString")] string LocalizedPriceString { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull productIdentifier;
+ [Export("productIdentifier")] string ProductIdentifier { get; }
+
+ // @property (readonly, nonatomic) BOOL isFamilyShareable __attribute__((availability(watchos, introduced=8.0))) __attribute__((availability(tvos, introduced=14.0))) __attribute__((availability(macos, introduced=11.0))) __attribute__((availability(ios, introduced=14.0)));
+ [Watch(8, 0), TV(14, 0), Mac(11, 0), iOS(14, 0)]
+ [Export("isFamilyShareable")]
+ bool IsFamilyShareable { get; }
+
+ // @property (readonly, copy, nonatomic) SWIFT_AVAILABILITY(watchos,introduced=6.2) NSString * subscriptionGroupIdentifier __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(macos, introduced=10.14))) __attribute__((availability(tvos, introduced=12.0))) __attribute__((availability(maccatalyst, introduced=13.0))) __attribute__((availability(ios, introduced=12.0)));
+ [Watch(6, 2), TV(12, 0), MacCatalyst(13, 0), Mac(10, 14), iOS(12, 0)]
+ [Export("subscriptionGroupIdentifier")]
+ string SubscriptionGroupIdentifier { get; }
+
+ // @property (readonly, nonatomic, strong) NSNumberFormatter * _Nullable priceFormatter;
+ [NullAllowed, Export("priceFormatter", ArgumentSemantic.Strong)]
+ NSNumberFormatter PriceFormatter { get; }
+
+ // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(watchos,introduced=6.2) RCSubscriptionPeriod * subscriptionPeriod __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=11.2))) __attribute__((availability(macos, introduced=10.13.2))) __attribute__((availability(ios, introduced=11.2)));
+ [Watch(6, 2), TV(11, 2), Mac(10, 13, 2), iOS(11, 2)]
+ [Export("subscriptionPeriod", ArgumentSemantic.Strong)]
+ RCSubscriptionPeriod SubscriptionPeriod { get; }
+
+ // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(watchos,introduced=6.2) RCStoreProductDiscount * introductoryDiscount __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=11.2))) __attribute__((availability(macos, introduced=10.13.2))) __attribute__((availability(ios, introduced=11.2)));
+ [Watch(6, 2), TV(11, 2), Mac(10, 13, 2), iOS(11, 2)]
+ [Export("introductoryDiscount", ArgumentSemantic.Strong)]
+ RCStoreProductDiscount IntroductoryDiscount { get; }
+
+ // @property (readonly, copy, nonatomic) SWIFT_AVAILABILITY(watchos,introduced=6.2) NSArray * discounts __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
+ [Watch(6, 2), TV(12, 2), Mac(10, 14, 4), iOS(12, 2)]
+ [Export("discounts", ArgumentSemantic.Copy)]
+ RCStoreProductDiscount[] Discounts { get; }
+
+ // @property (readonly, nonatomic, strong) NSDecimalNumber * _Nonnull price;
+ [Export("price", ArgumentSemantic.Strong)]
+ NSDecimalNumber Price { get; }
+
+ // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(watchos,introduced=6.2) NSDecimalNumber * pricePerMonth __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=11.2))) __attribute__((availability(macos, introduced=10.13.2))) __attribute__((availability(ios, introduced=11.2)));
+ [Watch(6, 2), TV(11, 2), Mac(10, 13, 2), iOS(11, 2)]
+ [Export("pricePerMonth", ArgumentSemantic.Strong)]
+ NSDecimalNumber PricePerMonth { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nullable localizedIntroductoryPriceString;
+ [NullAllowed, Export("localizedIntroductoryPriceString")]
+ string LocalizedIntroductoryPriceString { get; }
+
+ // -(instancetype _Nonnull)initWithSk1Product:(SKProduct * _Nonnull)sk1Product;
+ [Export("initWithSk1Product:")]
+ IntPtr Constructor(SKProduct sk1Product);
+
+ // @property (readonly, nonatomic, strong) SKProduct * _Nullable sk1Product;
+ [NullAllowed, Export("sk1Product", ArgumentSemantic.Strong)]
+ SKProduct Sk1Product { get; }
+ }
+
+ // @interface RCStoreProductDiscount : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCStoreProductDiscount
+ {
+ // @property (readonly, copy, nonatomic) NSString * _Nullable offerIdentifier;
+ [NullAllowed, Export("offerIdentifier")]
+ string OfferIdentifier { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nullable currencyCode;
+ [NullAllowed, Export("currencyCode")] string CurrencyCode { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull localizedPriceString;
+ [Export("localizedPriceString")] string LocalizedPriceString { get; }
+
+ // @property (readonly, nonatomic) enum RCPaymentMode paymentMode;
+ [Export("paymentMode")] RCPaymentMode PaymentMode { get; }
+
+ // @property (readonly, nonatomic, strong) RCSubscriptionPeriod * _Nonnull subscriptionPeriod;
+ [Export("subscriptionPeriod", ArgumentSemantic.Strong)]
+ RCSubscriptionPeriod SubscriptionPeriod { get; }
+
+ // @property (readonly, nonatomic) NSInteger numberOfPeriods;
+ [Export("numberOfPeriods")] nint NumberOfPeriods { get; }
+
+ // @property (readonly, nonatomic) enum RCDiscountType type;
+ [Export("type")] RCDiscountType Type { get; }
+
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, nonatomic) NSUInteger hash;
+ [Export("hash")] nuint Hash { get; }
+
+ // @property (readonly, nonatomic, strong) NSDecimalNumber * _Nonnull price;
+ [Export("price", ArgumentSemantic.Strong)]
+ NSDecimalNumber Price { get; }
+
+ // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(watchos,introduced=6.2) SKProductDiscount * sk1Discount __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=12.2))) __attribute__((availability(macos, introduced=10.14.4))) __attribute__((availability(ios, introduced=12.2)));
+ [Watch(6, 2), TV(12, 2), Mac(10, 14, 4), iOS(12, 2)]
+ [Export("sk1Discount", ArgumentSemantic.Strong)]
+ SKProductDiscount Sk1Discount { get; }
+ }
+
+ // @interface RCStoreTransaction : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCStoreTransaction
+ {
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull productIdentifier;
+ [Export("productIdentifier")] string ProductIdentifier { get; }
+
+ // @property (readonly, copy, nonatomic) NSDate * _Nonnull purchaseDate;
+ [Export("purchaseDate", ArgumentSemantic.Copy)]
+ NSDate PurchaseDate { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull transactionIdentifier;
+ [Export("transactionIdentifier")] string TransactionIdentifier { get; }
+
+ // @property (readonly, nonatomic) NSInteger quantity;
+ [Export("quantity")] nint Quantity { get; }
+
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, nonatomic) NSUInteger hash;
+ [Export("hash")] nuint Hash { get; }
+
+ // @property (readonly, nonatomic, strong) SKPaymentTransaction * _Nullable sk1Transaction;
+ [NullAllowed, Export("sk1Transaction", ArgumentSemantic.Strong)]
+ SKPaymentTransaction Sk1Transaction { get; }
+ }
+
+ // @interface RCStorefront : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCStorefront
+ {
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull countryCode;
+ [Export("countryCode")] string CountryCode { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull identifier;
+ [Export("identifier")] string Identifier { get; }
+
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, nonatomic) NSUInteger hash;
+ [Export("hash")] nuint Hash { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull description;
+ [Export("description")] [Override] string Description { get; }
+
+ // @property (readonly, nonatomic, strong) SWIFT_AVAILABILITY(maccatalyst,introduced=13.1) SKStorefront * sk1Storefront __attribute__((availability(maccatalyst, introduced=13.1))) __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=13.0))) __attribute__((availability(macos, introduced=10.15))) __attribute__((availability(ios, introduced=13.0)));
+ [Watch(6, 2), TV(13, 0), MacCatalyst(13, 1), Mac(10, 15), iOS(13, 0)]
+ [Export("sk1Storefront", ArgumentSemantic.Strong)]
+ SKStorefront Sk1Storefront { get; }
+
+ // @property (readonly, nonatomic, strong, class) RCStorefront * _Nullable sk1CurrentStorefront __attribute__((availability(maccatalyst, introduced=13.1))) __attribute__((availability(watchos, introduced=6.2))) __attribute__((availability(tvos, introduced=13.0))) __attribute__((availability(macos, introduced=10.15))) __attribute__((availability(ios, introduced=13.0)));
+ [Watch(6, 2), TV(13, 0), MacCatalyst(13, 1), Mac(10, 15), iOS(13, 0)]
+ [Static]
+ [NullAllowed, Export("sk1CurrentStorefront", ArgumentSemantic.Strong)]
+ RCStorefront Sk1CurrentStorefront { get; }
+ }
+
+ // @interface RCSubscriptionPeriod : NSObject
+ [BaseType(typeof(NSObject))]
+ [DisableDefaultCtor]
+ interface RCSubscriptionPeriod
+ {
+ // @property (readonly, nonatomic) NSInteger value;
+ [Export("value")] nint Value { get; }
+
+ // @property (readonly, nonatomic) enum RCSubscriptionPeriodUnit unit;
+ [Export("unit")] RCSubscriptionPeriodUnit Unit { get; }
+
+ // -(BOOL)isEqual:(id _Nullable)object __attribute__((warn_unused_result("")));
+ [Export("isEqual:")]
+ [Override]
+ bool IsEqual([NullAllowed] NSObject @object);
+
+ // @property (readonly, nonatomic) NSUInteger hash;
+ [Export("hash")] nuint Hash { get; }
+
+ // @property (readonly, copy, nonatomic) NSString * _Nonnull debugDescription;
+ [Export("debugDescription")] [Override] string DebugDescription { get; }
+ }
+}
\ No newline at end of file
diff --git a/Xamarin.RevenueCat.iOS/StructsAndEnums.cs b/Xamarin.RevenueCat.iOS/StructsAndEnums.cs
index 2ba3592..f6009dc 100644
--- a/Xamarin.RevenueCat.iOS/StructsAndEnums.cs
+++ b/Xamarin.RevenueCat.iOS/StructsAndEnums.cs
@@ -15,6 +15,15 @@ public enum RCAttributionNetwork : long
MParticle = 6,
}
+ [Native]
+ public enum RCCacheFetchPolicy : long
+ {
+ FromCacheOnly = 0,
+ FetchCurrent = 1,
+ NotStaleCachedOrFetched = 2,
+ CachedOrFetched = 3,
+ }
+
[Native]
public enum RCPurchasesErrorCode : long
{
@@ -45,7 +54,6 @@ public enum RCPurchasesErrorCode : long
UnsupportedError = 24,
EmptySubscriberAttributesError = 25,
ProductDiscountMissingIdentifierError = 26,
- MissingAppUserIDForAliasCreationError = 27,
ProductDiscountMissingSubscriptionGroupIdentifierError = 28,
CustomerInfoError = 29,
SystemInfoError = 30,
@@ -53,6 +61,7 @@ public enum RCPurchasesErrorCode : long
ProductRequestTimedOut = 32,
APIEndpointBlocked = 33,
InvalidPromotionalOfferError = 34,
+ OfflineConnectionError = 35,
}
[Native]
@@ -129,6 +138,7 @@ public enum RCStore : long
Stripe = 3,
Promotional = 4,
UnknownStore = 5,
+ Amazon = 6,
}
[Native]
diff --git a/Xamarin.RevenueCat.iOS/Xamarin.RevenueCat.iOS.csproj b/Xamarin.RevenueCat.iOS/Xamarin.RevenueCat.iOS.csproj
index e60002f..6a0b746 100644
--- a/Xamarin.RevenueCat.iOS/Xamarin.RevenueCat.iOS.csproj
+++ b/Xamarin.RevenueCat.iOS/Xamarin.RevenueCat.iOS.csproj
@@ -3,7 +3,7 @@
true
Xamarin.RevenueCat.iOS
- 4.1.0.5
+ 4.9.0.2
Contains bindings for https://docs.revenuecat.com/docs/ios
Christian Kapplmüller
fun.music IT GmbH
@@ -41,24 +41,24 @@
true
-
-
+
+
-
+
-
-
+
+
-
+
-
+
-
+
runtime; build; native; contentfiles; analyzers; buildtransitive
all
@@ -70,5 +70,5 @@
True
-
+
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Headers/RevenueCat-Swift.h b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Headers/RevenueCat-Swift.h
index e28ecd5..c591918 100644
--- a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Headers/RevenueCat-Swift.h
+++ b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Headers/RevenueCat-Swift.h
@@ -2,7 +2,7 @@
#include
#endif
#if TARGET_OS_SIMULATOR
-// Generated by Apple Swift version 5.5.2 (swiftlang-1300.0.47.5 clang-1300.0.29.30)
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
#ifndef REVENUECAT_SWIFT_H
#define REVENUECAT_SWIFT_H
#pragma clang diagnostic push
@@ -188,6 +188,13 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+# define SWIFT_EXTERN extern "C"
+# else
+# define SWIFT_EXTERN extern
+# endif
+#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
@@ -212,6 +219,259 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+
+/// This class is responsible for all explicit attribution APIs as well as subscriber attributes that RevenueCat offers.
+/// The attributes are additional structured information on a user. Since attributes are writable using a public key
+/// they should not be used for managing secure or sensitive information such as subscription status, coins, etc.
+/// Key names starting with “$” are reserved names used by RevenueCat. For a full list of key restrictions refer
+/// to our guide
+SWIFT_CLASS_NAMED("Attribution")
+@interface RCAttribution : NSObject
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+
+@class NSString;
+@class NSData;
+
+@interface RCAttribution (SWIFT_EXTENSION(RevenueCat))
+/// Automatically collect subscriber attributes associated with the device identifiers
+///
+/// -
+///
$idfa
+///
+/// -
+///
$idfv
+///
+/// -
+///
$ip
+///
+///
+- (void)collectDeviceIdentifiers;
+/// Subscriber attributes are useful for storing additional, structured information on a user.
+/// Since attributes are writable using a public key they should not be used for
+/// managing secure or sensitive information such as subscription status, coins, etc.
+/// Key names starting with “$” are reserved names used by RevenueCat. For a full list of key
+/// restrictions refer to our guide
+/// \param attributes Map of attributes by key. Set the value as an empty string to delete an attribute.
+///
+- (void)setAttributes:(NSDictionary * _Nonnull)attributes;
+/// Subscriber attribute associated with the email address for the user.
+/// Related Articles
+///
+/// \param email Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setEmail:(NSString * _Nullable)email;
+/// Subscriber attribute associated with the phone number for the user.
+/// Related Articles
+///
+/// \param phoneNumber Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setPhoneNumber:(NSString * _Nullable)phoneNumber;
+/// Subscriber attribute associated with the display name for the user.
+/// Related Articles
+///
+/// \param displayName Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setDisplayName:(NSString * _Nullable)displayName;
+/// Subscriber attribute associated with the push token for the user.
+/// Related Articles
+///
+/// Related Symbols
+///
+/// -
+///
Attribution/setPushTokenString(_:)
+///
+///
+/// \param pushToken nil
will delete the subscriber attribute.
+///
+- (void)setPushToken:(NSData * _Nullable)pushToken;
+/// Subscriber attribute associated with the push token for the user.
+/// Related Articles
+///
+/// Related Symbols
+///
+/// -
+///
Attribution/setPushToken(_:)
+///
+///
+/// \param pushToken nil
will delete the subscriber attribute.
+///
+- (void)setPushTokenString:(NSString * _Nullable)pushToken;
+/// Subscriber attribute associated with the Adjust Id for the user.
+/// Required for the RevenueCat Adjust integration.
+/// Related Articles
+///
+- (void)setAdjustID:(NSString * _Nullable)adjustID;
+/// Subscriber attribute associated with the Appsflyer Id for the user.
+/// Required for the RevenueCat Appsflyer integration.
+/// Related Articles
+///
+- (void)setAppsflyerID:(NSString * _Nullable)appsflyerID;
+/// Subscriber attribute associated with the Facebook SDK Anonymous Id for the user.
+/// Recommended for the RevenueCat Facebook integration.
+/// Related Articles
+///
+- (void)setFBAnonymousID:(NSString * _Nullable)fbAnonymousID;
+/// Subscriber attribute associated with the mParticle Id for the user.
+/// Recommended for the RevenueCat mParticle integration.
+/// Related Articles
+///
+- (void)setMparticleID:(NSString * _Nullable)mparticleID;
+/// Subscriber attribute associated with the OneSignal Player ID for the user.
+/// Required for the RevenueCat OneSignal integration.
+/// Related Articles
+///
+- (void)setOnesignalID:(NSString * _Nullable)onesignalID;
+/// Subscriber attribute associated with the Airship Channel ID for the user.
+/// Required for the RevenueCat Airship integration.
+/// Related Articles
+///
+- (void)setAirshipChannelID:(NSString * _Nullable)airshipChannelID;
+/// Subscriber attribute associated with the CleverTap ID for the user.
+/// Required for the RevenueCat CleverTap integration.
+/// Related Articles
+///
+- (void)setCleverTapID:(NSString * _Nullable)cleverTapID;
+/// Subscriber attribute associated with the Mixpanel Distinct ID for the user.
+/// Optional for the RevenueCat Mixpanel integration.
+/// Related Articles
+///
+- (void)setMixpanelDistinctID:(NSString * _Nullable)mixpanelDistinctID;
+/// Subscriber attribute associated with the Firebase App Instance ID for the user.
+/// Required for the RevenueCat Firebase integration.
+/// Related Articles
+///
+- (void)setFirebaseAppInstanceID:(NSString * _Nullable)firebaseAppInstanceID;
+/// Subscriber attribute associated with the install media source for the user.
+/// Related Articles
+///
+/// \param mediaSource Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setMediaSource:(NSString * _Nullable)mediaSource;
+/// Subscriber attribute associated with the install campaign for the user.
+/// Related Articles
+///
+/// \param campaign Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setCampaign:(NSString * _Nullable)campaign;
+/// Subscriber attribute associated with the install ad group for the user
+/// Related Articles
+///
+/// \param adGroup Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setAdGroup:(NSString * _Nullable)adGroup;
+/// Subscriber attribute associated with the install ad for the user
+/// Related Articles
+///
+/// \param installAd Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setAd:(NSString * _Nullable)installAd;
+/// Subscriber attribute associated with the install keyword for the user
+/// Related Articles
+///
+/// \param keyword Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setKeyword:(NSString * _Nullable)keyword;
+/// Subscriber attribute associated with the install ad creative for the user.
+/// Related Articles
+///
+/// \param creative Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setCreative:(NSString * _Nullable)creative;
+@end
+
/// Enum of supported attribution networks
typedef SWIFT_ENUM_NAMED(NSInteger, RCAttributionNetwork, "AttributionNetwork", open) {
/// Apple’s search ads
@@ -230,7 +490,21 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCAttributionNetwork, "AttributionNetwork",
RCAttributionNetworkMParticle = 6,
};
-@class NSNumber;
+/// Specifies the behavior for a caching API.
+typedef SWIFT_ENUM_NAMED(NSInteger, RCCacheFetchPolicy, "CacheFetchPolicy", open) {
+/// Returns values from the cache, or throws an error if not available.
+ RCCacheFetchPolicyFromCacheOnly = 0,
+/// Always fetch the most up-to-date data.
+ RCCacheFetchPolicyFetchCurrent = 1,
+/// Returns the cached data if available and not stale, or fetches up-to-date data.
+/// warning:
+/// if the cached data is stale, and fetching up-to-date data fails (if offline, for example)
+/// an error will be returned instead of the outdated cached data.
+ RCCacheFetchPolicyNotStaleCachedOrFetched = 2,
+/// Default behavior: returns the cached data if available (even if stale), or fetches up-to-date data.
+ RCCacheFetchPolicyCachedOrFetched = 3,
+};
+
SWIFT_CLASS("_TtC10RevenueCat16NetworkOperation")
@interface NetworkOperation : NSOperation
@@ -249,17 +523,105 @@ SWIFT_CLASS("_TtC10RevenueCat25CacheableNetworkOperation")
@interface CacheableNetworkOperation : NetworkOperation
@end
+@class RCConfigurationBuilder;
-SWIFT_CLASS("_TtC10RevenueCat20CreateAliasOperation")
-@interface CreateAliasOperation : CacheableNetworkOperation
+/// Configuration
can be used when configuring the Purchases
instance. It is not required to be used, but
+/// highly recommended. This class follows a builder pattern.
+/// To configure your Purchases
instance using this object, follow these steps.
+/// Steps:
+///
+/// -
+/// Call
Configuration/builder(withAPIKey:)
To obtain a Builder
object.
+///
+/// -
+/// Set this builder’s properties using the “
with(
” functions.
+///
+/// -
+/// Call
Builder/build()
to obtain the Configuration
object.
+///
+/// -
+/// Pass the
Configuration
object into Purchases/configure(with:)-6oipy
.
+///
+///
+/// \code
+/// let configuration = Configuration.Builder(withAPIKey: "MyKey")
+/// .with(appUserID: "SomeAppUserID")
+/// .with(userDefaults: myUserDefaults)
+/// .with(networkTimeout: 15)
+/// .with(storeKit1Timeout: 15)
+/// .with(usesStoreKit2IfAvailable: true)
+/// .build()
+/// Purchases.configure(with: configuration)
+///
+/// \endcode
+SWIFT_CLASS_NAMED("Configuration")
+@interface RCConfiguration : NSObject
+/// Factory method for the Configuration/Builder
object that is required to create a Configuration
++ (RCConfigurationBuilder * _Nonnull)builderWithAPIKey:(NSString * _Nonnull)apiKey SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
+@class NSUserDefaults;
+@class RCDangerousSettings;
+@class RCPlatformInfo;
-
-@class RCEntitlementInfos;
-@class NSString;
-@class NSDate;
-@class RCStoreTransaction;
+/// The Builder for Configuration
.
+SWIFT_CLASS_NAMED("Builder")
+@interface RCConfigurationBuilder : NSObject
+/// Create a new builder with your API key.
+/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
+///
+- (nonnull instancetype)initWithAPIKey:(NSString * _Nonnull)apiKey OBJC_DESIGNATED_INITIALIZER;
+/// Update your API key.
+- (RCConfigurationBuilder * _Nonnull)withApiKey:(NSString * _Nonnull)apiKey SWIFT_WARN_UNUSED_RESULT;
+/// Set an appUserID
.
+/// note:
+/// Best practice is to use a salted hash of your unique app user ids.
+/// important:
+/// Set this property if you have your own user identifiers that you manage.
+/// \param appUserID The unique app user id for this user. This user id will allow users to share their
+/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
+/// to generate this for you.
+///
+- (RCConfigurationBuilder * _Nonnull)withAppUserID:(NSString * _Nonnull)appUserID SWIFT_WARN_UNUSED_RESULT;
+/// Set observerMode
.
+/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
+/// RevenueCat’s backend. Default is false
.
+///
+- (RCConfigurationBuilder * _Nonnull)withObserverMode:(BOOL)observerMode SWIFT_WARN_UNUSED_RESULT;
+/// Set userDefaults
.
+/// \param userDefaults Custom UserDefaults
to use
+///
+- (RCConfigurationBuilder * _Nonnull)withUserDefaults:(NSUserDefaults * _Nonnull)userDefaults SWIFT_WARN_UNUSED_RESULT;
+/// Set usesStoreKit2IfAvailable
.
+/// important:
+/// Support for purchases using StoreKit 2 is currently in an experimental phase.
+/// We recommend setting this value to false
(default) for production apps.
+/// \param usesStoreKit2IfAvailable EXPERIMENTAL. opt in to using StoreKit 2 on devices that support it.
+/// Purchases will be made using StoreKit 2 under the hood automatically.
+///
+- (RCConfigurationBuilder * _Nonnull)withUsesStoreKit2IfAvailable:(BOOL)usesStoreKit2IfAvailable SWIFT_WARN_UNUSED_RESULT;
+/// Set dangerousSettings
.
+/// \param dangerousSettings Only use if suggested by RevenueCat support team.
+///
+- (RCConfigurationBuilder * _Nonnull)withDangerousSettings:(RCDangerousSettings * _Nonnull)dangerousSettings SWIFT_WARN_UNUSED_RESULT;
+/// Set networkTimeout
.
+- (RCConfigurationBuilder * _Nonnull)withNetworkTimeout:(NSTimeInterval)networkTimeout SWIFT_WARN_UNUSED_RESULT;
+/// Set storeKit1Timeout
.
+- (RCConfigurationBuilder * _Nonnull)withStoreKit1Timeout:(NSTimeInterval)storeKit1Timeout SWIFT_WARN_UNUSED_RESULT;
+/// Set platformInfo
.
+- (RCConfigurationBuilder * _Nonnull)withPlatformInfo:(RCPlatformInfo * _Nonnull)platformInfo SWIFT_WARN_UNUSED_RESULT;
+/// Generate a Configuration
object given the values configured by this builder.
+- (RCConfiguration * _Nonnull)build SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+@class RCEntitlementInfos;
+@class NSDate;
+@class RCNonSubscriptionTransaction;
@class NSURL;
/// A container for the most recent customer info returned from Purchases
.
@@ -274,11 +636,9 @@ SWIFT_CLASS_NAMED("CustomerInfo")
@property (nonatomic, readonly, copy) NSSet * _Nonnull allPurchasedProductIdentifiers;
/// Returns the latest expiration date of all products, nil if there are none.
@property (nonatomic, readonly, copy) NSDate * _Nullable latestExpirationDate;
-/// Returns all product IDs of the non-subscription purchases a user has made.
-@property (nonatomic, readonly, copy) NSSet * _Nonnull nonConsumablePurchases SWIFT_DEPRECATED_MSG("use nonSubscriptionTransactions");
/// Returns all the non-subscription purchases a user has made.
/// The purchases are ordered by purchase date in ascending order.
-@property (nonatomic, readonly, copy) NSArray * _Nonnull nonSubscriptionTransactions;
+@property (nonatomic, readonly, copy) NSArray * _Nonnull nonSubscriptions;
/// Returns the fetch date of this CustomerInfo.
@property (nonatomic, readonly, copy) NSDate * _Nonnull requestDate;
/// The date this user was first seen in RevenueCat.
@@ -313,12 +673,6 @@ SWIFT_CLASS_NAMED("CustomerInfo")
/// note:
/// This can be nil, see -Purchases.restorePurchases(completion:)
@property (nonatomic, readonly, copy) NSString * _Nullable originalApplicationVersion;
-/// The underlying data for this CustomerInfo
.
-/// note:
-/// the content and format of this data isn’t documented and is subject to change.
-/// it’s only meant for debugging purposes or for getting access to future data
-/// without updating the SDK.
-@property (nonatomic, readonly, copy) NSDictionary * _Nonnull rawData;
/// Get the expiration date for a given product identifier. You should use Entitlements though!
/// \param productIdentifier Product identifier for product
///
@@ -357,6 +711,24 @@ SWIFT_CLASS_NAMED("CustomerInfo")
+
+@interface RCCustomerInfo (SWIFT_EXTENSION(RevenueCat))
+@property (nonatomic, readonly, copy) NSDictionary * _Nonnull rawData;
+@end
+
+
+@class RCStoreTransaction;
+
+@interface RCCustomerInfo (SWIFT_EXTENSION(RevenueCat))
+/// Returns all product IDs of the non-subscription purchases a user has made.
+@property (nonatomic, readonly, copy) NSSet * _Nonnull nonConsumablePurchases SWIFT_DEPRECATED_MSG("use nonSubscriptionTransactions");
+/// Returns all the non-subscription purchases a user has made.
+/// The purchases are ordered by purchase date in ascending order.
+@property (nonatomic, readonly, copy) NSArray * _Nonnull nonSubscriptionTransactions SWIFT_DEPRECATED_MSG("", "nonSubscriptions");
+@end
+
+
+
/// Only use a Dangerous Setting if suggested by RevenueCat support team.
SWIFT_CLASS_NAMED("DangerousSettings")
@interface RCDangerousSettings : NSObject
@@ -387,10 +759,17 @@ SWIFT_CLASS_NAMED("EntitlementInfo")
/// The entitlement identifier configured in the RevenueCat dashboard
@property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
/// True if the user has access to this entitlement
+/// warning:
+/// this is equivalent to isActiveInAnyEnvironment
+/// Related Symbols
+///
+/// -
+///
isActiveInCurrentEnvironment
+///
+///
@property (nonatomic, readonly) BOOL isActive;
/// True if the underlying subscription is set to renew at the end of
-/// the billing period (expirationDate
). Will always be true
if entitlement
-/// is for lifetime access.
+/// the billing period (expirationDate
).
@property (nonatomic, readonly) BOOL willRenew;
/// The last period type this entitlement was in
/// Either: PeriodType/normal
, PeriodType/intro
, PeriodType/trial
@@ -423,11 +802,6 @@ SWIFT_CLASS_NAMED("EntitlementInfo")
/// or shared to them by a family member. This can be useful for onboarding users who have had
/// an entitlement shared with them, but might not be entirely aware of the benefits they now have.
@property (nonatomic, readonly) enum RCPurchaseOwnershipType ownershipType;
-/// The underlying data for this EntitlementInfo
.
-/// note:
-/// the content and format of this data isn’t documented and is subject to change,
-/// it’s only meant for debugging purposes or for getting access to future data
-/// without updating the SDK.
@property (nonatomic, readonly, copy) NSDictionary * _Nonnull rawData;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
@@ -441,6 +815,29 @@ SWIFT_CLASS_NAMED("EntitlementInfo")
+@interface RCEntitlementInfo (SWIFT_EXTENSION(RevenueCat))
+/// True if the user has access to this entitlement,
+/// note:
+/// When queried from the sandbox environment, it only returns true if active in sandbox.
+/// When queried from production, this only returns true if active in production.
+/// Related Symbols
+///
+/// -
+///
isActiveInAnyEnvironment
+///
+///
+@property (nonatomic, readonly) BOOL isActiveInCurrentEnvironment;
+/// True if the user has access to this entitlement in any environment.
+/// Related Symbols
+///
+/// -
+///
isActiveInCurrentEnvironment
+///
+///
+@property (nonatomic, readonly) BOOL isActiveInAnyEnvironment;
+@end
+
+
/// This class contains all the entitlements associated to the user.
SWIFT_CLASS_NAMED("EntitlementInfos")
@interface RCEntitlementInfos : NSObject
@@ -448,8 +845,6 @@ SWIFT_CLASS_NAMED("EntitlementInfos")
/// identifier. This dictionary can also be accessed by using an index subscript on EntitlementInfos
, e.g.
/// entitlementInfos["pro_entitlement_id"]
.
@property (nonatomic, readonly, copy) NSDictionary * _Nonnull all;
-/// Dictionary of active EntitlementInfo
(RCEntitlementInfo
) objects keyed by entitlement identifier.
-@property (nonatomic, readonly, copy) NSDictionary * _Nonnull active;
- (RCEntitlementInfo * _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
@@ -457,6 +852,42 @@ SWIFT_CLASS_NAMED("EntitlementInfos")
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
+
+
+@interface RCEntitlementInfos (SWIFT_EXTENSION(RevenueCat))
+/// Dictionary of active EntitlementInfo
objects keyed by their identifiers.
+/// warning:
+/// this is equivalent to activeInAnyEnvironment
+/// Related Symbols
+///
+/// -
+///
activeInCurrentEnvironment
+///
+///
+@property (nonatomic, readonly, copy) NSDictionary * _Nonnull active;
+/// Dictionary of active EntitlementInfo
objects keyed by their identifiers.
+/// note:
+/// When queried from the sandbox environment, it only returns entitlements active in sandbox.
+/// When queried from production, this only returns entitlements active in production.
+/// Related Symbols
+///
+/// -
+///
activeInAnyEnvironment
+///
+///
+@property (nonatomic, readonly, copy) NSDictionary * _Nonnull activeInCurrentEnvironment;
+/// Dictionary of active EntitlementInfo
objects keyed by their identifiers.
+/// note:
+/// these can be active on any environment.
+/// Related Symbols
+///
+/// -
+///
activeInCurrentEnvironment
+///
+///
+@property (nonatomic, readonly, copy) NSDictionary * _Nonnull activeInAnyEnvironment;
+@end
+
/// Error codes used by the Purchases SDK
typedef SWIFT_ENUM_NAMED(NSInteger, RCPurchasesErrorCode, "ErrorCode", open) {
RCUnknownError SWIFT_COMPILE_NAME("unknownError") = 0,
@@ -486,7 +917,6 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCPurchasesErrorCode, "ErrorCode", open) {
RCUnsupportedError SWIFT_COMPILE_NAME("unsupportedError") = 24,
RCEmptySubscriberAttributesError SWIFT_COMPILE_NAME("emptySubscriberAttributes") = 25,
RCProductDiscountMissingIdentifierError SWIFT_COMPILE_NAME("productDiscountMissingIdentifierError") = 26,
- RCMissingAppUserIDForAliasCreationError SWIFT_COMPILE_NAME("missingAppUserIDForAliasCreationError") = 27,
RCProductDiscountMissingSubscriptionGroupIdentifierError SWIFT_COMPILE_NAME("productDiscountMissingSubscriptionGroupIdentifierError") = 28,
RCCustomerInfoError SWIFT_COMPILE_NAME("customerInfoError") = 29,
RCSystemInfoError SWIFT_COMPILE_NAME("systemInfoError") = 30,
@@ -494,16 +924,11 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCPurchasesErrorCode, "ErrorCode", open) {
RCProductRequestTimedOut SWIFT_COMPILE_NAME("productRequestTimedOut") = 32,
RCAPIEndpointBlocked SWIFT_COMPILE_NAME("apiEndpointBlockedError") = 33,
RCInvalidPromotionalOfferError SWIFT_COMPILE_NAME("invalidPromotionalOfferError") = 34,
+ RCOfflineConnectionError SWIFT_COMPILE_NAME("offlineConnectionError") = 35,
};
static NSString * _Nonnull const RCPurchasesErrorCodeDomain = @"RevenueCat.ErrorCode";
-SWIFT_CLASS("_TtC10RevenueCat12ErrorDetails")
-@interface ErrorDetails : NSObject
-- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
-@end
-
-
SWIFT_CLASS("_TtC10RevenueCat15FakeASIdManager")
@interface FakeASIdManager : NSObject
+ (FakeASIdManager * _Nonnull)sharedManager SWIFT_WARN_UNUSED_RESULT;
@@ -615,6 +1040,21 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCLogLevel, "LogLevel", open) {
+
+
+/// Information that represents a non-subscription purchase made by a user.
+SWIFT_CLASS_NAMED("NonSubscriptionTransaction")
+@interface RCNonSubscriptionTransaction : NSObject
+/// The product identifier.
+@property (nonatomic, readonly, copy) NSString * _Nonnull productIdentifier;
+/// The date that App Store charged the user’s account.
+@property (nonatomic, readonly, copy) NSDate * _Nonnull purchaseDate;
+/// The unique identifier for the transaction.
+@property (nonatomic, readonly, copy) NSString * _Nonnull transactionIdentifier;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
@class RCPackage;
/// An offering is a collection of Package
s, and they let you control which products
@@ -743,6 +1183,14 @@ SWIFT_CLASS_NAMED("Package")
@end
+@class SKProduct;
+
+@interface RCPackage (SWIFT_EXTENSION(RevenueCat))
+/// SKProduct
assigned to this package. https://developer.apple.com/documentation/storekit/skproduct
+@property (nonatomic, readonly, strong) SKProduct * _Nonnull product SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead");
+@end
+
+
@interface RCPackage (SWIFT_EXTENSION(RevenueCat))
/// \param packageType A PackageType
.
///
@@ -758,13 +1206,6 @@ SWIFT_CLASS_NAMED("Package")
+ (enum RCPackageType)packageTypeFrom:(NSString * _Nonnull)string SWIFT_WARN_UNUSED_RESULT;
@end
-@class SKProduct;
-
-@interface RCPackage (SWIFT_EXTENSION(RevenueCat))
-/// SKProduct
assigned to this package. https://developer.apple.com/documentation/storekit/skproduct
-@property (nonatomic, readonly, strong) SKProduct * _Nonnull product SWIFT_AVAILABILITY(macos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead");
-@end
-
/// Enumeration of all possible Package
types, as configured on the package.
/// Related Articles
@@ -857,21 +1298,24 @@ SWIFT_CLASS("_TtC10RevenueCat15ProductsManager")
@end
+@class RCStoreProductDiscount;
+@class RCPromotionalOfferSignedData;
+
/// Represents a StoreProductDiscount
that has been validated and
/// is ready to be used for a purchase.
/// Related Symbols
///
/// -
-///
Purchases/getPromotionalOffer(forProductDiscount:product:)
+/// Purchases/promotionalOffer(forProductDiscount:product:)
///
/// -
///
Purchases/getPromotionalOffer(forProductDiscount:product:completion:)
///
/// -
-///
StoreProduct/getEligiblePromotionalOffers()
+/// StoreProduct/eligiblePromotionalOffers()
///
/// -
-///
Purchases/getEligiblePromotionalOffers(forProduct:)
+/// Purchases/eligiblePromotionalOffers(forProduct:)
///
/// -
///
Purchases/purchase(package:promotionalOffer:)
@@ -888,14 +1332,39 @@ SWIFT_CLASS("_TtC10RevenueCat15ProductsManager")
///
SWIFT_CLASS_NAMED("PromotionalOffer")
@interface RCPromotionalOffer : NSObject
+/// The StoreProductDiscount
in this offer.
+@property (nonatomic, readonly, strong) RCStoreProductDiscount * _Nonnull discount;
+/// The SignedData-swift.class
provides information about the PromotionalOffer
’s signature.
+@property (nonatomic, readonly, strong) RCPromotionalOfferSignedData * _Nonnull signedData;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
+@interface RCPromotionalOffer (SWIFT_EXTENSION(RevenueCat))
+@end
+@class NSUUID;
-SWIFT_CLASS_NAMED("PromotionalOfferEligibility") SWIFT_AVAILABILITY(macos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(ios,obsoleted=1,message="Use PromotionalOffer instead")
+/// Contains the details of a promotional offer discount that you want to apply to a payment.
+SWIFT_CLASS_NAMED("SignedData")
+@interface RCPromotionalOfferSignedData : NSObject
+/// The subscription offer identifier.
+@property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
+/// The key identifier of the subscription key.
+@property (nonatomic, readonly, copy) NSString * _Nonnull keyIdentifier;
+/// The nonce used in the signature.
+@property (nonatomic, readonly, copy) NSUUID * _Nonnull nonce;
+/// The cryptographic signature of the offer parameters, generated on RevenueCat’s server.
+@property (nonatomic, readonly, copy) NSString * _Nonnull signature;
+/// The UNIX time, in milliseconds, when the signature was generated.
+@property (nonatomic, readonly) NSInteger timestamp;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+SWIFT_CLASS_NAMED("PromotionalOfferEligibility") SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(macos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(ios,obsoleted=1,message="Use PromotionalOffer instead")
@interface RCPromotionalOfferEligibility : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
@@ -983,7 +1452,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL forceUniversalAppStore;)
/// Approve what kids buy with Ask to Buy
///
///
-SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL simulatesAskToBuyInSandbox SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14) SWIFT_AVAILABILITY(ios,introduced=8.0);)
+SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL simulatesAskToBuyInSandbox SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14) SWIFT_AVAILABILITY(ios,introduced=8.0);)
+ (BOOL)simulatesAskToBuyInSandbox SWIFT_WARN_UNUSED_RESULT;
+ (void)setSimulatesAskToBuyInSandbox:(BOOL)newValue;
/// Indicates whether the user is allowed to make payments.
@@ -1041,51 +1510,33 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL verboseLogs;)
/// Current version of the Purchases
framework.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull frameworkVersion;)
+ (NSString * _Nonnull)frameworkVersion SWIFT_WARN_UNUSED_RESULT;
-/// Whether transactions should be finished automatically. true
by default.
-/// * - Warning: Setting this value to false
will prevent the SDK from finishing transactions.
-/// * In this case, you must finish transactions in your app, otherwise they will remain in the queue and
-/// * will turn up every time the app is opened.
-/// * More information on finishing transactions manually is available here.
-@property (nonatomic) BOOL finishTransactions;
-/// Automatically collect subscriber attributes associated with the device identifiers
+/// Attribution
object that is responsible for all explicit attribution APIs
+/// as well as subscriber attributes that RevenueCat offers.
+/// Example:
+/// \code
+/// Purchases.shared.attribution.setEmail(“nobody@example.com”)
+///
+/// \endcodeRelated Articles
///
-- (void)collectDeviceIdentifiers;
+@property (nonatomic, readonly, strong) RCAttribution * _Nonnull attribution;
+/// Whether transactions should be finished automatically. true
by default.
+/// * - Warning: Setting this value to false
will prevent the SDK from finishing transactions.
+/// * In this case, you must finish transactions in your app, otherwise they will remain in the queue and
+/// * will turn up every time the app is opened.
+/// * More information on finishing transactions manually is available here.
+@property (nonatomic) BOOL finishTransactions;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
-SWIFT_PROTOCOL("_TtP10RevenueCat29PurchasesOrchestratorDelegate_")
-@protocol PurchasesOrchestratorDelegate
-- (void)shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))defermentBlock;
-@end
-
-
-@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-/// Called when a user initiates a promotional in-app purchase from the App Store.
-/// If your app is able to handle a purchase at the current time, run the deferment block in this method.
-/// If the app is not in a state to make a purchase: cache the defermentBlock, then call the defermentBlock
-/// when the app is ready to make the promotional purchase.
-/// If the purchase should never be made, you don’t need to ever call the defermentBlock and Purchases
-/// will not proceed with promotional purchases.
-/// \param product StoreProduct
the product that was selected from the app store.
-///
-- (void)shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))defermentBlock;
-@end
-
-
-
-@class RCPlatformInfo;
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) RCPlatformInfo * _Nullable platformInfo;)
@@ -1102,434 +1553,243 @@ SWIFT_CLASS_NAMED("PlatformInfo")
@end
-
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-/// Enable debug logging. Useful for debugging issues with the lovely team @RevenueCat.
-SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DEPRECATED_MSG("use Purchases.logLevel instead");)
-+ (BOOL)debugLogsEnabled SWIFT_WARN_UNUSED_RESULT;
-+ (void)setDebugLogsEnabled:(BOOL)newValue;
-/// Deprecated
-@property (nonatomic) BOOL allowSharingAppStoreAccount SWIFT_DEPRECATED_MSG("Configure behavior through the RevenueCat dashboard instead");
-/// Send your attribution data to RevenueCat so you can track the revenue generated by your different campaigns.
-/// Related articles
-///
-/// \param data Dictionary provided by the network.
-///
-/// \param network Enum for the network the data is coming from, see AttributionNetwork
for supported
-/// networks.
-///
-+ (void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network SWIFT_DEPRECATED_MSG("Use the set functions instead");
-/// Send your attribution data to RevenueCat so you can track the revenue generated by your different campaigns.
-/// Related articles
-///
-/// \param data Dictionary provided by the network.
-///
-/// \param network Enum for the network the data is coming from, see AttributionNetwork
for supported
-/// networks.
-///
-/// \param networkUserId User Id that should be sent to the network. Default is the current App User Id.
-///
-+ (void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network forNetworkUserId:(NSString * _Nullable)networkUserId SWIFT_DEPRECATED_MSG("Use the set functions instead");
-@end
-
-@class NSUserDefaults;
-
-@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-/// Configures an instance of the Purchases SDK with a specified API key.
-/// The instance will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// note:
-/// Use this initializer if your app does not have an account system.
-/// Purchases
will generate a unique identifier for the current device and persist it to NSUserDefaults
.
-/// This also affects the behavior of Purchases/restorePurchases(completion:)
.
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey;
-/// Configures an instance of the Purchases SDK with a specified API key and app user ID.
+/// Configures an instance of the Purchases SDK with a specified Configuration
.
/// The instance will be set as a singleton.
/// You should access the singleton instance using Purchases/shared
-/// note:
-/// Best practice is to use a salted hash of your unique app user ids.
-/// warning:
-/// Use this initializer if you have your own user identifiers that you manage.
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID;
-/// Configures an instance of the Purchases SDK with a custom UserDefaults
.
-/// Use this constructor if you want to
-/// sync status across a shared container, such as between a host app and an extension. The instance of the
-/// Purchases SDK will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
-/// RevenueCat’s backend. Default is false
.
-///
-///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode;
-/// Configures an instance of the Purchases SDK with a custom UserDefaults
.
-/// Use this constructor if you want to
-/// sync status across a shared container, such as between a host app and an extension. The instance of the
-/// Purchases SDK will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
-/// RevenueCat’s backend. Default is false
.
+/// important:
+/// See Configuration/Builder
for more information about configurable properties.
+/// Example
+/// \code
+/// Purchases.configure(
+/// with: Configuration.Builder(withAPIKey: Constants.apiKey)
+/// .with(usesStoreKit2IfAvailable: true)
+/// .with(observerMode: false)
+/// .with(appUserID: "")
+/// .build()
+/// )
///
-/// \param userDefaults Custom UserDefaults
to use
+/// \endcode\param configuration The Configuration
object you wish to use to configure Purchases
///
///
/// returns:
/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults;
-/// Configures an instance of the Purchases SDK with a custom userDefaults.
-/// Use this constructor if you want to sync status across a shared container,
-/// such as between a host app and an extension.
-/// The instance of the Purchases
SDK will be set as a singleton.
++ (RCPurchases * _Nonnull)configureWithConfiguration:(RCConfiguration * _Nonnull)configuration;
+/// Configures an instance of the Purchases SDK with a specified Configuration/Builder
.
+/// The instance will be set as a singleton.
/// You should access the singleton instance using Purchases/shared
/// important:
-/// Support for purchases using StoreKit 2 is currently in an experimental phase.
-/// We recommend setting this value to false
(default) for production apps.
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
-/// RevenueCat’s backend. Default is false
.
-///
-/// \param userDefaults Custom UserDefaults
to use
+/// See Configuration/Builder
for more information about configurable properties.
+/// Example
+/// \code
+/// Purchases.configure(
+/// with: .init(withAPIKey: Constants.apiKey)
+/// .with(usesStoreKit2IfAvailable: true)
+/// .with(observerMode: false)
+/// .with(appUserID: "")
+/// )
///
-/// \param useStoreKit2IfAvailable EXPERIMENTAL. opt in to using StoreKit 2 on devices that support it.
-/// Purchases will be made using StoreKit 2 under the hood automatically.
+/// \endcode\param builder The Configuration/Builder
object you wish to use to configure Purchases
///
///
/// returns:
/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable;
-/// Configures an instance of the Purchases SDK with a custom userDefaults.
-/// Use this constructor if you want to sync status across a shared container,
-/// such as between a host app and an extension.
-/// The instance of the Purchases
SDK will be set as a singleton.
++ (RCPurchases * _Nonnull)configureWithConfigurationBuilder:(RCConfigurationBuilder * _Nonnull)builder;
+/// Configures an instance of the Purchases SDK with a specified API key.
+/// The instance will be set as a singleton.
/// You should access the singleton instance using Purchases/shared
-/// important:
-/// Support for purchases using StoreKit 2 is currently in an experimental phase.
-/// We recommend setting this value to false
(default) for production apps.
+/// note:
+/// Use this initializer if your app does not have an account system.
+/// Purchases
will generate a unique identifier for the current device and persist it to NSUserDefaults
.
+/// This also affects the behavior of Purchases/restorePurchases(completion:)
.
/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
-/// RevenueCat’s backend. Default is false
.
-///
-/// \param userDefaults Custom UserDefaults
to use
-///
-/// \param dangerousSettings Only use if suggested by RevenueCat support team.
-///
-/// \param useStoreKit2IfAvailable EXPERIMENTAL. opt in to using StoreKit 2 on devices that support it.
-/// Purchases will be made using StoreKit 2 under the hood automatically.
-///
///
/// returns:
/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable dangerousSettings:(RCDangerousSettings * _Nullable)dangerousSettings;
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey;
@end
-@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-///
-/// -
-/// The
appUserID
used by Purchases
.
-///
-/// -
-/// If not passed on initialization this will be generated and cached by
Purchases
.
-///
-///
-@property (nonatomic, readonly, copy) NSString * _Nonnull appUserID;
-/// Returns true
if the appUserID
has been generated by RevenueCat, false
otherwise.
-@property (nonatomic, readonly) BOOL isAnonymous;
-/// This function will log in the current user with an appUserID
.
-/// The completion
block will be called with the latest CustomerInfo
and a Bool
specifying
-/// whether the user was created for the first time in the RevenueCat backend.
-/// RevenueCat provides a source of truth for a subscriber’s status across different platforms.
-/// To do this, each subscriber has an App User ID that uniquely identifies them within your application.
-/// User identity is one of the most important components of many mobile applications,
-/// and it’s extra important to make sure the subscription status RevenueCat is
-/// tracking gets associated with the correct user.
-/// The Purchases SDK allows you to specify your own user identifiers or use anonymous identifiers
-/// generated by RevenueCat. Some apps will use a combination
-/// of their own identifiers and RevenueCat anonymous Ids - that’s okay!
-/// Related Articles
-///
-/// -
-/// Identifying Users
-///
-/// -
-///
logOut(completion:)
-///
-/// -
-///
isAnonymous
-///
-/// -
-///
Purchases/appUserID
-///
-///
-/// \param appUserID The appUserID
that should be linked to the current user.
-///
-- (void)logIn:(NSString * _Nonnull)appUserID completion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, BOOL, NSError * _Nullable))completion;
-/// Logs out the Purchases
client, clearing the saved appUserID
.
-/// This will generate a random user id and save it in the cache.
-/// If this method is called and the current user is anonymous, it will return an error.
-/// Related Articles
-///
-/// -
-/// Identifying Users
-///
-/// -
-///
logIn(_:completion:)
-///
-/// -
-///
isAnonymous
-///
-/// -
-///
Purchases/appUserID
-///
-///
-- (void)logOutWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
-/// Fetch the configured Offerings
for this user.
-/// \code
-/// *``Offerings`` allows you to configure your in-app products
+SWIFT_PROTOCOL("_TtP10RevenueCat29PurchasesOrchestratorDelegate_")
+@protocol PurchasesOrchestratorDelegate
+- (void)readyForPromotedProduct:(RCStoreProduct * _Nonnull)product purchase:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))startPurchase;
+@property (nonatomic, readonly) BOOL shouldShowPriceConsent SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
+@end
+
+
+@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
+/// Called when a user initiates a promoted in-app purchase from the App Store.
+/// If your app is able to handle a purchase at the current time, run the startPurchase
block.
+/// If the app is not in a state to make a purchase: cache the startPurchase
block, then call it
+/// when the app is ready to make the promoted purchase.
+/// If the purchase should never be made, you don’t need to ever call the startPurchase
block
+/// and Purchases
will not proceed with promoted purchases.
+/// \param product StoreProduct
the product that was selected from the app store.
///
-/// \endcodevia RevenueCat and greatly simplifies management.
-/// Offerings
will be fetched and cached on instantiation so that, by the time they are needed,
-/// your prices are loaded for your purchase flow. Time is money.
-/// Related Articles
-///
-/// \param completion A completion block called when offerings are available.
-/// Called immediately if offerings are cached. Offerings
will be nil
if an error occurred.
+/// \param startPurchase Method that begins the purchase flow for the promoted purchase.
+/// If the app is ready to start the purchase flow when this delegate method is called, then this method
+/// should be called right away. Otherwise, the method should be stored as a property in memory, and then called
+/// once the app is ready to start the purchase flow.
+/// When the purchase completes, the result will be part of the callback parameters.
///
-- (void)getOfferingsWithCompletion:(void (^ _Nonnull)(RCOfferings * _Nullable, NSError * _Nullable))completion;
+- (void)readyForPromotedProduct:(RCStoreProduct * _Nonnull)product purchase:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))startPurchase;
+@property (nonatomic, readonly) BOOL shouldShowPriceConsent SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
@end
-@class NSData;
-
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-/// Subscriber attributes are useful for storing additional, structured information on a user.
-/// Since attributes are writable using a public key they should not be used for
-/// managing secure or sensitive information such as subscription status, coins, etc.
-/// Key names starting with “$” are reserved names used by RevenueCat. For a full list of key
-/// restrictions refer to our guide
-/// \param attributes Map of attributes by key. Set the value as an empty string to delete an attribute.
-///
-- (void)setAttributes:(NSDictionary * _Nonnull)attributes;
-/// Subscriber attribute associated with the email address for the user.
-/// Related Articles
-///
-/// \param email Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setEmail:(NSString * _Nullable)email;
-/// Subscriber attribute associated with the phone number for the user.
-/// Related Articles
-///
-/// \param phoneNumber Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setPhoneNumber:(NSString * _Nullable)phoneNumber;
-/// Subscriber attribute associated with the display name for the user.
-/// Related Articles
+/// Enable debug logging. Useful for debugging issues with the lovely team @RevenueCat.
+SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DEPRECATED_MSG("use Purchases.logLevel instead");)
++ (BOOL)debugLogsEnabled SWIFT_WARN_UNUSED_RESULT;
++ (void)setDebugLogsEnabled:(BOOL)newValue;
+/// Deprecated
+@property (nonatomic) BOOL allowSharingAppStoreAccount SWIFT_DEPRECATED_MSG("Configure behavior through the RevenueCat dashboard instead");
+/// Send your attribution data to RevenueCat so you can track the revenue generated by your different campaigns.
+/// Related articles
///
-/// \param displayName Empty String or nil
will delete the subscriber attribute.
+/// \param data Dictionary provided by the network.
///
-- (void)setDisplayName:(NSString * _Nullable)displayName;
-/// Subscriber attribute associated with the push token for the user.
-/// Related Articles
-///
-/// \param pushToken nil
will delete the subscriber attribute.
+/// \param network Enum for the network the data is coming from, see AttributionNetwork
for supported
+/// networks.
///
-- (void)setPushToken:(NSData * _Nullable)pushToken;
-/// Subscriber attribute associated with the Adjust Id for the user.
-/// Required for the RevenueCat Adjust integration.
-/// Related Articles
-///
-- (void)setAdjustID:(NSString * _Nullable)adjustID;
-/// Subscriber attribute associated with the Appsflyer Id for the user.
-/// Required for the RevenueCat Appsflyer integration.
-/// Related Articles
-///
-- (void)setAppsflyerID:(NSString * _Nullable)appsflyerID;
-/// Subscriber attribute associated with the Facebook SDK Anonymous Id for the user.
-/// Recommended for the RevenueCat Facebook integration.
-/// Related Articles
++ (void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network SWIFT_DEPRECATED_MSG("Use the set functions instead");
+/// Send your attribution data to RevenueCat so you can track the revenue generated by your different campaigns.
+/// Related articles
///
-- (void)setFBAnonymousID:(NSString * _Nullable)fbAnonymousID;
-/// Subscriber attribute associated with the mParticle Id for the user.
-/// Recommended for the RevenueCat mParticle integration.
-/// Related Articles
+/// \param data Dictionary provided by the network.
+///
+/// \param network Enum for the network the data is coming from, see AttributionNetwork
for supported
+/// networks.
+///
+/// \param networkUserId User Id that should be sent to the network. Default is the current App User Id.
+///
++ (void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network forNetworkUserId:(NSString * _Nullable)networkUserId SWIFT_DEPRECATED_MSG("Use the set functions instead");
+@end
+
+
+
+@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable dangerousSettings:(RCDangerousSettings * _Nullable)dangerousSettings SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
+@end
+
+
+@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
///
/// -
-/// mParticle RevenueCat Integration
-/// *- Parameter mparticleID: Empty String or
nil
will delete the subscriber attribute.
+/// The appUserID
used by Purchases
.
///
-///
-- (void)setMparticleID:(NSString * _Nullable)mparticleID;
-/// Subscriber attribute associated with the OneSignal Player ID for the user.
-/// Required for the RevenueCat OneSignal integration.
-/// Related Articles
-///
/// -
-/// OneSignal RevenueCat Integration
-/// *- Parameter onesignalID: Empty String or
nil
will delete the subscriber attribute.
+/// If not passed on initialization this will be generated and cached by Purchases
.
///
///
-- (void)setOnesignalID:(NSString * _Nullable)onesignalID;
-/// Subscriber attribute associated with the Airship Channel ID for the user.
-/// Required for the RevenueCat Airship integration.
+@property (nonatomic, readonly, copy) NSString * _Nonnull appUserID;
+/// Returns true
if the appUserID
has been generated by RevenueCat, false
otherwise.
+@property (nonatomic, readonly) BOOL isAnonymous;
+/// This function will log in the current user with an appUserID
.
+/// The completion
block will be called with the latest CustomerInfo
and a Bool
specifying
+/// whether the user was created for the first time in the RevenueCat backend.
+/// RevenueCat provides a source of truth for a subscriber’s status across different platforms.
+/// To do this, each subscriber has an App User ID that uniquely identifies them within your application.
+/// User identity is one of the most important components of many mobile applications,
+/// and it’s extra important to make sure the subscription status RevenueCat is
+/// tracking gets associated with the correct user.
+/// The Purchases SDK allows you to specify your own user identifiers or use anonymous identifiers
+/// generated by RevenueCat. Some apps will use a combination
+/// of their own identifiers and RevenueCat anonymous Ids - that’s okay!
/// Related Articles
///
-- (void)setAirshipChannelID:(NSString * _Nullable)airshipChannelID;
-/// Subscriber attribute associated with the CleverTap ID for the user.
-/// Required for the RevenueCat CleverTap integration.
-/// Related Articles
-///
/// -
-/// CleverTap RevenueCat Integration
-/// *- Parameter cleverTapID: Empty String or
nil
will delete the subscriber attribute.
+/// logOut(completion:)
///
-///
-- (void)setCleverTapID:(NSString * _Nullable)cleverTapID;
-/// Subscriber attribute associated with the install media source for the user.
-/// Related Articles
-///
-/// \param mediaSource Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setMediaSource:(NSString * _Nullable)mediaSource;
-/// Subscriber attribute associated with the install campaign for the user.
-/// Related Articles
-///
-/// \param campaign Empty String or nil
will delete the subscriber attribute.
+/// \param appUserID The appUserID
that should be linked to the current user.
///
-- (void)setCampaign:(NSString * _Nullable)campaign;
-/// Subscriber attribute associated with the install ad group for the user
+- (void)logIn:(NSString * _Nonnull)appUserID completion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, BOOL, NSError * _Nullable))completion;
+/// Logs out the Purchases
client, clearing the saved appUserID
.
+/// This will generate a random user id and save it in the cache.
+/// If this method is called and the current user is anonymous, it will return an error.
/// Related Articles
///
-/// \param adGroup Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setAdGroup:(NSString * _Nullable)adGroup;
-/// Subscriber attribute associated with the install ad for the user
-/// Related Articles
-///
-/// \param installAd Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setAd:(NSString * _Nullable)installAd;
-/// Subscriber attribute associated with the install keyword for the user
-/// Related Articles
-///
-/// \param keyword Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setKeyword:(NSString * _Nullable)keyword;
-/// Subscriber attribute associated with the install ad creative for the user.
+- (void)logOutWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+/// Fetch the configured Offerings
for this user.
+/// Offerings
allows you to configure your in-app products
+/// via RevenueCat and greatly simplifies management.
+/// Offerings
will be fetched and cached on instantiation so that, by the time they are needed,
+/// your prices are loaded for your purchase flow. Time is money.
/// Related Articles
///
-/// \param creative Empty String or nil
will delete the subscriber attribute.
+/// \param completion A completion block called when offerings are available.
+/// Called immediately if offerings are cached. Offerings
will be nil
if an error occurred.
///
-- (void)setCreative:(NSString * _Nullable)creative;
+- (void)getOfferingsWithCompletion:(void (^ _Nonnull)(RCOfferings * _Nullable, NSError * _Nullable))completion;
+@end
+
+
+
+
+@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
+- (void)collectDeviceIdentifiers SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'");
+- (void)setAttributes:(NSDictionary * _Nonnull)attributes SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'");
+- (void)setEmail:(NSString * _Nullable)email SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'");
+- (void)setPhoneNumber:(NSString * _Nullable)phoneNumber SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'");
+- (void)setDisplayName:(NSString * _Nullable)displayName SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'");
+- (void)setPushToken:(NSData * _Nullable)pushToken SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'");
+- (void)setPushTokenString:(NSString * _Nullable)pushToken SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'");
+- (void)setAdjustID:(NSString * _Nullable)adjustID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'");
+- (void)setAppsflyerID:(NSString * _Nullable)appsflyerID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'");
+- (void)setFBAnonymousID:(NSString * _Nullable)fbAnonymousID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'");
+- (void)setMparticleID:(NSString * _Nullable)mparticleID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'");
+- (void)setOnesignalID:(NSString * _Nullable)onesignalID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'");
+- (void)setAirshipChannelID:(NSString * _Nullable)airshipChannelID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'");
+- (void)setCleverTapID:(NSString * _Nullable)cleverTapID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'");
+- (void)setMixpanelDistinctID:(NSString * _Nullable)mixpanelDistinctID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'");
+- (void)setFirebaseAppInstanceID:(NSString * _Nullable)firebaseAppInstanceID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'");
+- (void)setMediaSource:(NSString * _Nullable)mediaSource SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'");
+- (void)setCampaign:(NSString * _Nullable)campaign SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'");
+- (void)setAdGroup:(NSString * _Nullable)adGroup SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'");
+- (void)setAd:(NSString * _Nullable)installAd SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'");
+- (void)setKeyword:(NSString * _Nullable)keyword SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'");
+- (void)setCreative:(NSString * _Nullable)creative SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'");
@end
@class SKPaymentDiscount;
@@ -1616,7 +1876,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
/// If the purchase was not successful, there will be an NSError
.
/// If the user cancelled, userCancelled
will be YES
.
///
-- (void)purchasePackage:(RCPackage * _Nonnull)package withDiscount:(SKPaymentDiscount * _Nonnull)discount completionBlock:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(macos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(watchos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(tvos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(ios,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'");
+- (void)purchasePackage:(RCPackage * _Nonnull)package withDiscount:(SKPaymentDiscount * _Nonnull)discount completionBlock:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(maccatalyst,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(macos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(watchos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(tvos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(ios,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'");
/// Use this function if you are not using the Offerings system to purchase an SKProduct
.
/// If you are using the Offerings system, use -[RCPurchases purchasePackage:withCompletionBlock]
instead.
/// Call this method when a user has decided to purchase a product. Only call this in direct response to user input.
@@ -1646,8 +1906,8 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
/// If the purchase was not successful, there will be an NSError
.
/// If the user cancelled, userCancelled
will be YES
.
///
-- (void)purchaseProduct:(SKProduct * _Nonnull)product withDiscount:(SKPaymentDiscount * _Nonnull)discount completionBlock:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(macos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(watchos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(tvos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(ios,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'");
-- (void)invalidatePurchaserInfoCache SWIFT_AVAILABILITY(macos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'");
+- (void)purchaseProduct:(SKProduct * _Nonnull)product withDiscount:(SKPaymentDiscount * _Nonnull)discount completionBlock:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(maccatalyst,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(macos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(watchos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(tvos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(ios,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'");
+- (void)invalidatePurchaserInfoCache SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'");
/// Computes whether or not a user is eligible for the introductory pricing period of a given product.
/// You should use this method to determine whether or not you show the user the normal product price or
/// the introductory price. This also applies to trials (trials are considered a type of introductory pricing).
@@ -1665,7 +1925,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
///
/// \param completion A block that receives a dictionary of product_id -> IntroEligibility
.
///
-- (void)checkTrialOrIntroductoryPriceEligibility:(NSArray * _Nonnull)productIdentifiers completion:(void (^ _Nonnull)(NSDictionary * _Nonnull))completion SWIFT_AVAILABILITY(macos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'");
+- (void)checkTrialOrIntroductoryPriceEligibility:(NSArray * _Nonnull)productIdentifiers completion:(void (^ _Nonnull)(NSDictionary * _Nonnull))completion SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'");
/// Use this function to retrieve the SKPaymentDiscount
for a given SKProduct
.
/// \param discount The SKProductDiscount
to apply to the product.
///
@@ -1674,7 +1934,8 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
/// \param completion A completion block that is called when the SKPaymentDiscount
is returned.
/// If it was not successful, there will be an Error
.
///
-- (void)paymentDiscountForProductDiscount:(SKProductDiscount * _Nonnull)discount product:(SKProduct * _Nonnull)product completion:(void (^ _Nonnull)(SKPaymentDiscount * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(macos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(watchos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(tvos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(ios,unavailable,message="Check eligibility for a discount using getPromotionalOffer:");
+- (void)paymentDiscountForProductDiscount:(SKProductDiscount * _Nonnull)discount product:(SKProduct * _Nonnull)product completion:(void (^ _Nonnull)(SKPaymentDiscount * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(maccatalyst,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(macos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(watchos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(tvos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(ios,unavailable,message="Check eligibility for a discount using getPromotionalOffer:");
+- (void)shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))defermentBlock SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`") SWIFT_AVAILABILITY(macos,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`") SWIFT_AVAILABILITY(ios,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`");
/// This function will alias two appUserIDs together.
/// \param alias The new appUserID that should be linked to the currently identified appUserID
///
@@ -1695,7 +1956,6 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
- (void)resetWithCompletionBlock:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(macos,obsoleted=1,message="'reset' has been renamed to 'logOutWithCompletion:'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'reset' has been renamed to 'logOutWithCompletion:'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'reset' has been renamed to 'logOutWithCompletion:'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'reset' has been renamed to 'logOutWithCompletion:'");
@end
-@class RCStoreProductDiscount;
enum RCRefundRequestStatus : NSInteger;
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
@@ -1704,6 +1964,12 @@ enum RCRefundRequestStatus : NSInteger;
/// Called immediately if CustomerInfo
is cached. Customer info can be nil if an error occurred.
///
- (void)getCustomerInfoWithCompletion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+/// Get latest available customer info.
+/// \param fetchPolicy The behavior for what to do regarding caching.
+///
+/// \param completion A completion block called when customer info is available and not stale.
+///
+- (void)getCustomerInfoWithFetchPolicy:(enum RCCacheFetchPolicy)fetchPolicy completion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
/// Fetches the StoreProduct
s for your IAPs for given productIdentifiers
.
/// Use this method if you aren’t using getOfferings(completion:)
.
/// You should use getOfferings(completion:)
though.
@@ -1777,10 +2043,10 @@ enum RCRefundRequestStatus : NSInteger;
/// StoreProduct/discounts
///
///
-/// StoreProduct/getEligiblePromotionalOffers()
+/// StoreProduct/eligiblePromotionalOffers()
///
///
-/// getPromotionalOffer(forProductDiscount:product:)
+/// promotionalOffer(forProductDiscount:product:)
///
///
/// \param product The StoreProduct
the user intends to purchase.
@@ -1789,7 +2055,7 @@ enum RCRefundRequestStatus : NSInteger;
///
/// \param completion A completion block that is called when the purchase completes.
///
-- (void)purchaseProduct:(RCStoreProduct * _Nonnull)product withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
+- (void)purchaseProduct:(RCStoreProduct * _Nonnull)product withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
/// Purchase the passed Package
.
/// Call this method when a user has decided to purchase a product with an applied discount. Only call this in
/// direct response to user input. From here Purchases
will handle the purchase with StoreKit
and call the
@@ -1806,7 +2072,7 @@ enum RCRefundRequestStatus : NSInteger;
///
/// \param completion A completion block that is called when the purchase completes.
///
-- (void)purchasePackage:(RCPackage * _Nonnull)package withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
+- (void)purchasePackage:(RCPackage * _Nonnull)package withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
/// This method will post all purchases associated with the current App Store account to RevenueCat and
/// become associated with the current appUserID
.
/// If the receipt is being used by an existing user, the current appUserID
will be aliased together with
@@ -1878,6 +2144,25 @@ enum RCRefundRequestStatus : NSInteger;
/// \param completion A block that receives an IntroEligibilityStatus
.
///
- (void)checkTrialOrIntroDiscountEligibilityForProduct:(RCStoreProduct * _Nonnull)product completion:(void (^ _Nonnull)(enum RCIntroEligibilityStatus))completion;
+/// Displays price consent sheet if needed. You only need to call this manually if you implement
+/// PurchasesDelegate/shouldShowPriceConsent
and return false at some point.
+/// You may want to delay showing the sheet if it would interrupt your user’s interaction in your app. You can do
+/// this by implementing PurchasesDelegate/shouldShowPriceConsent
.
+/// In most cases, you don’t typically implement PurchasesDelegate/shouldShowPriceConsent
, therefore,
+/// you won’t need to call this.
+/// Related Symbols
+///
+/// -
+/// ``SKPaymentQueue/showPriceConsentIfNeeded()`
+///
+///
+/// Related Articles
+///
+- (void)showPriceConsentIfNeeded SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
/// Invalidates the cache for customer information.
/// Most apps will not need to use this method; invalidating the cache can leave your app in an invalid state.
/// Refer to
@@ -1887,7 +2172,7 @@ enum RCRefundRequestStatus : NSInteger;
/// promotional subscription is granted through the RevenueCat dashboard.
- (void)invalidateCustomerInfoCache;
/// Displays a sheet that enables users to redeem subscription offer codes that you generated in App Store Connect.
-- (void)presentCodeRedemptionSheet SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(ios,introduced=14.0);
+- (void)presentCodeRedemptionSheet SWIFT_AVAILABILITY(maccatalyst,unavailable) SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(ios,introduced=14.0);
/// Use this method to fetch PromotionalOffer
/// to use in purchase(package:promotionalOffer:)
or purchase(product:promotionalOffer:)
.
/// iOS Promotional Offers.
@@ -1901,7 +2186,7 @@ enum RCRefundRequestStatus : NSInteger;
/// \param completion A completion block that is called when the PromotionalOffer
is returned.
/// If it was not successful, there will be an Error
.
///
-- (void)getPromotionalOfferForProductDiscount:(RCStoreProductDiscount * _Nonnull)discount withProduct:(RCStoreProduct * _Nonnull)product withCompletion:(void (^ _Nonnull)(RCPromotionalOffer * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
+- (void)getPromotionalOfferForProductDiscount:(RCStoreProductDiscount * _Nonnull)discount withProduct:(RCStoreProduct * _Nonnull)product withCompletion:(void (^ _Nonnull)(RCPromotionalOffer * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
/// Use this function to open the manage subscriptions page.
/// If the manage subscriptions page can’t be opened, the CustomerInfo/managementURL
in
/// the CustomerInfo
will be opened. If CustomerInfo/managementURL
is not available,
@@ -1910,8 +2195,10 @@ enum RCRefundRequestStatus : NSInteger;
/// This is because of an undocumented change in StoreKit’s behavior between iOS 15.0 and 15.2,
/// where 15.0 would return when the modal was closed,
/// and 15.2 returns when the modal is opened.
-/// \param completion A completion block that is called when the modal is closed.
-/// If it was not successful, there will be an Error
.
+/// \param completion A completion block that will be called when the modal is opened,
+/// not when it’s actually closed. This is because of an undocumented change in StoreKit’s behavior
+/// between iOS 15.0 and 15.2, where 15.0 would return when the modal was closed, and 15.2 returns
+/// when the modal is opened.
///
- (void)showManageSubscriptionsWithCompletion:(void (^ _Nonnull)(NSError * _Nullable))completion SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(watchos,unavailable);
/// Presents a refund request sheet in the current window scene for
@@ -1972,18 +2259,43 @@ SWIFT_PROTOCOL_NAMED("PurchasesDelegate")
- (void)purchases:(RCPurchases * _Nonnull)purchases receivedUpdatedCustomerInfo:(RCCustomerInfo * _Nonnull)customerInfo;
/// Called when a user initiates a promotional in-app purchase from the App Store.
/// If your app is able to handle a purchase at the current time, run the deferment block in this method.
-/// If the app is not in a state to make a purchase: cache the defermentBlock,
-/// then call the defermentBlock when the app is ready to make the promotional purchase.
-/// If the purchase should never be made, you don’t need to ever call the defermentBlock and
-/// Purchases
will not proceed with promotional purchases.
+/// If the app is not in a state to make a purchase: cache the startPurchase
block,
+/// then call the startPurchase
block when the app is ready to make the promotional purchase.
+/// If the purchase should never be made, you don’t need to ever call the block and
+/// Purchases
will not proceed with the promotional purchase.
+/// This can be tested by opening a link like:
+/// itms-services://?action=purchaseIntent&bundleId=&productIdentifier=
+/// Related Articles:
+///
/// \param product StoreProduct
the product that was selected from the app store
///
-- (void)purchases:(RCPurchases * _Nonnull)purchases shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))makeDeferredPurchase;
+/// \param startPurchase call this block when the app is ready to handle the purchase
+///
+- (void)purchases:(RCPurchases * _Nonnull)purchases readyForPromotedProduct:(RCStoreProduct * _Nonnull)product purchase:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))startPurchase;
+- (void)purchases:(RCPurchases * _Nonnull)purchases shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))makeDeferredPurchase SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'");
+/// The default return value for this optional method is true. By default, the system displays the price consent
+/// sheet when you increase the subscription price in App Store Connect and the subscriber hasn’t yet taken action.
+/// The system calls your delegate’s method, if appropriate, when RevenueCat starts observing the SKPaymentQueue
,
+/// and any time the app comes to foreground.
+/// If you return false, the system won’t show the price consent sheet. You can choose to display it later by
+/// calling Purchases/showPriceConsentIfNeeded()
.
+/// You may want to delay showing the sheet if it would interrupt your user’s interaction in your app.
+/// Related Articles
+///
+@property (nonatomic, readonly) BOOL shouldShowPriceConsent SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
@end
-SWIFT_CLASS("_TtC10RevenueCat21RCPurchasesErrorUtils") SWIFT_AVAILABILITY(macos,obsoleted=1) SWIFT_AVAILABILITY(watchos,obsoleted=1) SWIFT_AVAILABILITY(tvos,obsoleted=1) SWIFT_AVAILABILITY(ios,obsoleted=1)
+SWIFT_CLASS("_TtC10RevenueCat21RCPurchasesErrorUtils") SWIFT_AVAILABILITY(maccatalyst,obsoleted=1) SWIFT_AVAILABILITY(macos,obsoleted=1) SWIFT_AVAILABILITY(watchos,obsoleted=1) SWIFT_AVAILABILITY(tvos,obsoleted=1) SWIFT_AVAILABILITY(ios,obsoleted=1)
@interface RCPurchasesErrorUtils : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
@@ -2000,6 +2312,9 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCRefundRequestStatus, "RefundRequestStatus"
+
+
+
/// Enum of supported stores
typedef SWIFT_ENUM_NAMED(NSInteger, RCStore, "Store", open) {
/// For entitlements granted via Apple App Store.
@@ -2014,6 +2329,8 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStore, "Store", open) {
RCPromotional SWIFT_COMPILE_NAME("promotional") = 4,
/// For entitlements granted via an unknown store.
RCUnknownStore SWIFT_COMPILE_NAME("unknownStore") = 5,
+/// For entitlements granted via the Amazon Store.
+ RCAmazon SWIFT_COMPILE_NAME("amazon") = 6,
};
@@ -2045,6 +2362,8 @@ SWIFT_CLASS("_TtC10RevenueCat15StoreKitWrapper")
- (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue removedTransactions:(NSArray * _Nonnull)transactions;
- (BOOL)paymentQueue:(SKPaymentQueue * _Nonnull)queue shouldAddStorePayment:(SKPayment * _Nonnull)payment forProduct:(SKProduct * _Nonnull)product SWIFT_WARN_UNUSED_RESULT SWIFT_AVAILABILITY(watchos,unavailable);
- (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue didRevokeEntitlementsForProductIdentifiers:(NSArray * _Nonnull)productIdentifiers SWIFT_AVAILABILITY(watchos,introduced=7.0) SWIFT_AVAILABILITY(tvos,introduced=14.0) SWIFT_AVAILABILITY(macos,introduced=11.0) SWIFT_AVAILABILITY(ios,introduced=14.0);
+- (BOOL)paymentQueueShouldShowPriceConsent:(SKPaymentQueue * _Nonnull)paymentQueue SWIFT_WARN_UNUSED_RESULT SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
+- (void)paymentQueueDidChangeStorefront:(SKPaymentQueue * _Nonnull)queue;
@end
enum RCStoreProductType : NSInteger;
@@ -2065,7 +2384,7 @@ SWIFT_CLASS_NAMED("StoreProduct")
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedPriceString;
@property (nonatomic, readonly, copy) NSString * _Nonnull productIdentifier;
@property (nonatomic, readonly) BOOL isFamilyShareable SWIFT_AVAILABILITY(watchos,introduced=8.0) SWIFT_AVAILABILITY(tvos,introduced=14.0) SWIFT_AVAILABILITY(macos,introduced=11.0) SWIFT_AVAILABILITY(ios,introduced=14.0);
-@property (nonatomic, readonly, copy) NSString * _Nullable subscriptionGroupIdentifier SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14) SWIFT_AVAILABILITY(tvos,introduced=12.0) SWIFT_AVAILABILITY(ios,introduced=12.0);
+@property (nonatomic, readonly, copy) NSString * _Nullable subscriptionGroupIdentifier SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14) SWIFT_AVAILABILITY(tvos,introduced=12.0) SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(ios,introduced=12.0);
@property (nonatomic, readonly, strong) NSNumberFormatter * _Nullable priceFormatter;
@property (nonatomic, readonly, strong) RCSubscriptionPeriod * _Nullable subscriptionPeriod SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=11.2) SWIFT_AVAILABILITY(macos,introduced=10.13.2) SWIFT_AVAILABILITY(ios,introduced=11.2);
@property (nonatomic, readonly, strong) RCStoreProductDiscount * _Nullable introductoryDiscount SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=11.2) SWIFT_AVAILABILITY(macos,introduced=10.13.2) SWIFT_AVAILABILITY(ios,introduced=11.2);
@@ -2076,6 +2395,7 @@ SWIFT_CLASS_NAMED("StoreProduct")
+
@interface RCStoreProduct (SWIFT_EXTENSION(RevenueCat))
@end
@@ -2120,13 +2440,6 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStoreProductType, "ProductType", open) {
@property (nonatomic, readonly, copy) NSLocale * _Nonnull priceLocale SWIFT_AVAILABILITY(macos,unavailable,message="Use localizedPriceString instead") SWIFT_AVAILABILITY(watchos,unavailable,message="Use localizedPriceString instead") SWIFT_AVAILABILITY(tvos,unavailable,message="Use localizedPriceString instead") SWIFT_AVAILABILITY(ios,unavailable,message="Use localizedPriceString instead");
@end
-
-@interface RCStoreProduct (SWIFT_EXTENSION(RevenueCat))
-- (nonnull instancetype)initWithSk1Product:(SKProduct * _Nonnull)sk1Product;
-/// Returns the SKProduct
if this StoreProduct
represents a StoreKit.SKProduct
.
-@property (nonatomic, readonly, strong) SKProduct * _Nullable sk1Product;
-@end
-
@class NSDecimalNumber;
@interface RCStoreProduct (SWIFT_EXTENSION(RevenueCat))
@@ -2134,8 +2447,12 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStoreProductType, "ProductType", open) {
/// For a string representation of the price to display to customers, use localizedPriceString
.
/// note:
/// this is meant for Objective-C. For Swift, use price
instead.
-/// seealso:
-/// pricePerMonth
.
+/// Related Symbols
+///
+/// -
+///
pricePerMonth
+///
+///
@property (nonatomic, readonly, strong) NSDecimalNumber * _Nonnull price;
/// Calculates the price of this subscription product per month.
///
@@ -2149,6 +2466,13 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStoreProductType, "ProductType", open) {
@property (nonatomic, readonly, copy) NSString * _Nullable localizedIntroductoryPriceString;
@end
+
+@interface RCStoreProduct (SWIFT_EXTENSION(RevenueCat))
+- (nonnull instancetype)initWithSk1Product:(SKProduct * _Nonnull)sk1Product;
+/// Returns the SKProduct
if this StoreProduct
represents a StoreKit.SKProduct
.
+@property (nonatomic, readonly, strong) SKProduct * _Nullable sk1Product;
+@end
+
enum RCPaymentMode : NSInteger;
enum RCDiscountType : NSInteger;
@@ -2162,6 +2486,7 @@ SWIFT_CLASS_NAMED("StoreProductDiscount")
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedPriceString;
@property (nonatomic, readonly) enum RCPaymentMode paymentMode;
@property (nonatomic, readonly, strong) RCSubscriptionPeriod * _Nonnull subscriptionPeriod;
+@property (nonatomic, readonly) NSInteger numberOfPeriods;
@property (nonatomic, readonly) enum RCDiscountType type;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly) NSUInteger hash;
@@ -2209,7 +2534,9 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCDiscountType, "DiscountType", open) {
@end
-/// Abstract class that provides access to all of StoreKit’s product type’s properties.
+/// Abstract class that provides access to properties of a transaction.
+/// StoreTransaction
s can represent transactions from StoreKit 1, StoreKit 2 or
+/// transactions made from other places, like Stripe, Google Play or Amazon Store.
SWIFT_CLASS_NAMED("StoreTransaction")
@interface RCStoreTransaction : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull productIdentifier;
@@ -2235,6 +2562,38 @@ SWIFT_CLASS_NAMED("StoreTransaction")
@property (nonatomic, readonly, strong) SKPaymentTransaction * _Nullable sk1Transaction;
@end
+
+/// An object containing the location and unique identifier of an Apple App Store storefront.
+/// note:
+/// Don’t save the storefront information with your user information; storefront information can change
+/// at any time. Always get the storefront identifier immediately before you display product information or availability
+/// to the user in your app. Storefront information may not be used to develop or enhance a user profile,
+/// or track customers for advertising or marketing purposes.
+SWIFT_CLASS_NAMED("Storefront")
+@interface RCStorefront : NSObject
+@property (nonatomic, readonly, copy) NSString * _Nonnull countryCode;
+@property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
+- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
+@property (nonatomic, readonly) NSUInteger hash;
+@property (nonatomic, readonly, copy) NSString * _Nonnull description;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+@class SKStorefront;
+
+@interface RCStorefront (SWIFT_EXTENSION(RevenueCat))
+/// Returns the SKStorefront
if this Storefront
represents an SKStorefront
.
+@property (nonatomic, readonly, strong) SKStorefront * _Nullable sk1Storefront SWIFT_AVAILABILITY(maccatalyst,introduced=13.1) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0);
+@end
+
+
+@interface RCStorefront (SWIFT_EXTENSION(RevenueCat))
+/// The current App Store storefront for the device obtained from StoreKit 1 only.
+SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RCStorefront * _Nullable sk1CurrentStorefront SWIFT_AVAILABILITY(maccatalyst,introduced=13.1) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0);)
++ (RCStorefront * _Nullable)sk1CurrentStorefront SWIFT_WARN_UNUSED_RESULT;
+@end
+
enum RCSubscriptionPeriodUnit : NSInteger;
/// The duration of time between subscription renewals.
@@ -2266,6 +2625,7 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCSubscriptionPeriodUnit, "Unit", open) {
+
@interface RCSubscriptionPeriod (SWIFT_EXTENSION(RevenueCat))
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
@end
@@ -2300,7 +2660,7 @@ SWIFT_CLASS_NAMED("Transaction") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'
#endif
#else
-// Generated by Apple Swift version 5.5.2 (swiftlang-1300.0.47.5 clang-1300.0.29.30)
+// Generated by Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
#ifndef REVENUECAT_SWIFT_H
#define REVENUECAT_SWIFT_H
#pragma clang diagnostic push
@@ -2486,6 +2846,13 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
+#if !defined(SWIFT_EXTERN)
+# if defined(__cplusplus)
+# define SWIFT_EXTERN extern "C"
+# else
+# define SWIFT_EXTERN extern
+# endif
+#endif
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
@@ -2510,6 +2877,259 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
# pragma pop_macro("any")
#endif
+
+/// This class is responsible for all explicit attribution APIs as well as subscriber attributes that RevenueCat offers.
+/// The attributes are additional structured information on a user. Since attributes are writable using a public key
+/// they should not be used for managing secure or sensitive information such as subscription status, coins, etc.
+/// Key names starting with “$” are reserved names used by RevenueCat. For a full list of key restrictions refer
+/// to our guide
+SWIFT_CLASS_NAMED("Attribution")
+@interface RCAttribution : NSObject
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+
+
+@class NSString;
+@class NSData;
+
+@interface RCAttribution (SWIFT_EXTENSION(RevenueCat))
+/// Automatically collect subscriber attributes associated with the device identifiers
+///
+/// -
+///
$idfa
+///
+/// -
+///
$idfv
+///
+/// -
+///
$ip
+///
+///
+- (void)collectDeviceIdentifiers;
+/// Subscriber attributes are useful for storing additional, structured information on a user.
+/// Since attributes are writable using a public key they should not be used for
+/// managing secure or sensitive information such as subscription status, coins, etc.
+/// Key names starting with “$” are reserved names used by RevenueCat. For a full list of key
+/// restrictions refer to our guide
+/// \param attributes Map of attributes by key. Set the value as an empty string to delete an attribute.
+///
+- (void)setAttributes:(NSDictionary * _Nonnull)attributes;
+/// Subscriber attribute associated with the email address for the user.
+/// Related Articles
+///
+/// \param email Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setEmail:(NSString * _Nullable)email;
+/// Subscriber attribute associated with the phone number for the user.
+/// Related Articles
+///
+/// \param phoneNumber Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setPhoneNumber:(NSString * _Nullable)phoneNumber;
+/// Subscriber attribute associated with the display name for the user.
+/// Related Articles
+///
+/// \param displayName Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setDisplayName:(NSString * _Nullable)displayName;
+/// Subscriber attribute associated with the push token for the user.
+/// Related Articles
+///
+/// Related Symbols
+///
+/// -
+///
Attribution/setPushTokenString(_:)
+///
+///
+/// \param pushToken nil
will delete the subscriber attribute.
+///
+- (void)setPushToken:(NSData * _Nullable)pushToken;
+/// Subscriber attribute associated with the push token for the user.
+/// Related Articles
+///
+/// Related Symbols
+///
+/// -
+///
Attribution/setPushToken(_:)
+///
+///
+/// \param pushToken nil
will delete the subscriber attribute.
+///
+- (void)setPushTokenString:(NSString * _Nullable)pushToken;
+/// Subscriber attribute associated with the Adjust Id for the user.
+/// Required for the RevenueCat Adjust integration.
+/// Related Articles
+///
+- (void)setAdjustID:(NSString * _Nullable)adjustID;
+/// Subscriber attribute associated with the Appsflyer Id for the user.
+/// Required for the RevenueCat Appsflyer integration.
+/// Related Articles
+///
+- (void)setAppsflyerID:(NSString * _Nullable)appsflyerID;
+/// Subscriber attribute associated with the Facebook SDK Anonymous Id for the user.
+/// Recommended for the RevenueCat Facebook integration.
+/// Related Articles
+///
+- (void)setFBAnonymousID:(NSString * _Nullable)fbAnonymousID;
+/// Subscriber attribute associated with the mParticle Id for the user.
+/// Recommended for the RevenueCat mParticle integration.
+/// Related Articles
+///
+- (void)setMparticleID:(NSString * _Nullable)mparticleID;
+/// Subscriber attribute associated with the OneSignal Player ID for the user.
+/// Required for the RevenueCat OneSignal integration.
+/// Related Articles
+///
+- (void)setOnesignalID:(NSString * _Nullable)onesignalID;
+/// Subscriber attribute associated with the Airship Channel ID for the user.
+/// Required for the RevenueCat Airship integration.
+/// Related Articles
+///
+- (void)setAirshipChannelID:(NSString * _Nullable)airshipChannelID;
+/// Subscriber attribute associated with the CleverTap ID for the user.
+/// Required for the RevenueCat CleverTap integration.
+/// Related Articles
+///
+- (void)setCleverTapID:(NSString * _Nullable)cleverTapID;
+/// Subscriber attribute associated with the Mixpanel Distinct ID for the user.
+/// Optional for the RevenueCat Mixpanel integration.
+/// Related Articles
+///
+- (void)setMixpanelDistinctID:(NSString * _Nullable)mixpanelDistinctID;
+/// Subscriber attribute associated with the Firebase App Instance ID for the user.
+/// Required for the RevenueCat Firebase integration.
+/// Related Articles
+///
+- (void)setFirebaseAppInstanceID:(NSString * _Nullable)firebaseAppInstanceID;
+/// Subscriber attribute associated with the install media source for the user.
+/// Related Articles
+///
+/// \param mediaSource Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setMediaSource:(NSString * _Nullable)mediaSource;
+/// Subscriber attribute associated with the install campaign for the user.
+/// Related Articles
+///
+/// \param campaign Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setCampaign:(NSString * _Nullable)campaign;
+/// Subscriber attribute associated with the install ad group for the user
+/// Related Articles
+///
+/// \param adGroup Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setAdGroup:(NSString * _Nullable)adGroup;
+/// Subscriber attribute associated with the install ad for the user
+/// Related Articles
+///
+/// \param installAd Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setAd:(NSString * _Nullable)installAd;
+/// Subscriber attribute associated with the install keyword for the user
+/// Related Articles
+///
+/// \param keyword Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setKeyword:(NSString * _Nullable)keyword;
+/// Subscriber attribute associated with the install ad creative for the user.
+/// Related Articles
+///
+/// \param creative Empty String or nil
will delete the subscriber attribute.
+///
+- (void)setCreative:(NSString * _Nullable)creative;
+@end
+
/// Enum of supported attribution networks
typedef SWIFT_ENUM_NAMED(NSInteger, RCAttributionNetwork, "AttributionNetwork", open) {
/// Apple’s search ads
@@ -2528,7 +3148,21 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCAttributionNetwork, "AttributionNetwork",
RCAttributionNetworkMParticle = 6,
};
-@class NSNumber;
+/// Specifies the behavior for a caching API.
+typedef SWIFT_ENUM_NAMED(NSInteger, RCCacheFetchPolicy, "CacheFetchPolicy", open) {
+/// Returns values from the cache, or throws an error if not available.
+ RCCacheFetchPolicyFromCacheOnly = 0,
+/// Always fetch the most up-to-date data.
+ RCCacheFetchPolicyFetchCurrent = 1,
+/// Returns the cached data if available and not stale, or fetches up-to-date data.
+/// warning:
+/// if the cached data is stale, and fetching up-to-date data fails (if offline, for example)
+/// an error will be returned instead of the outdated cached data.
+ RCCacheFetchPolicyNotStaleCachedOrFetched = 2,
+/// Default behavior: returns the cached data if available (even if stale), or fetches up-to-date data.
+ RCCacheFetchPolicyCachedOrFetched = 3,
+};
+
SWIFT_CLASS("_TtC10RevenueCat16NetworkOperation")
@interface NetworkOperation : NSOperation
@@ -2547,17 +3181,105 @@ SWIFT_CLASS("_TtC10RevenueCat25CacheableNetworkOperation")
@interface CacheableNetworkOperation : NetworkOperation
@end
+@class RCConfigurationBuilder;
-SWIFT_CLASS("_TtC10RevenueCat20CreateAliasOperation")
-@interface CreateAliasOperation : CacheableNetworkOperation
+/// Configuration
can be used when configuring the Purchases
instance. It is not required to be used, but
+/// highly recommended. This class follows a builder pattern.
+/// To configure your Purchases
instance using this object, follow these steps.
+/// Steps:
+///
+/// -
+/// Call
Configuration/builder(withAPIKey:)
To obtain a Builder
object.
+///
+/// -
+/// Set this builder’s properties using the “
with(
” functions.
+///
+/// -
+/// Call
Builder/build()
to obtain the Configuration
object.
+///
+/// -
+/// Pass the
Configuration
object into Purchases/configure(with:)-6oipy
.
+///
+///
+/// \code
+/// let configuration = Configuration.Builder(withAPIKey: "MyKey")
+/// .with(appUserID: "SomeAppUserID")
+/// .with(userDefaults: myUserDefaults)
+/// .with(networkTimeout: 15)
+/// .with(storeKit1Timeout: 15)
+/// .with(usesStoreKit2IfAvailable: true)
+/// .build()
+/// Purchases.configure(with: configuration)
+///
+/// \endcode
+SWIFT_CLASS_NAMED("Configuration")
+@interface RCConfiguration : NSObject
+/// Factory method for the Configuration/Builder
object that is required to create a Configuration
++ (RCConfigurationBuilder * _Nonnull)builderWithAPIKey:(NSString * _Nonnull)apiKey SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
+@class NSUserDefaults;
+@class RCDangerousSettings;
+@class RCPlatformInfo;
+
+/// The Builder for Configuration
.
+SWIFT_CLASS_NAMED("Builder")
+@interface RCConfigurationBuilder : NSObject
+/// Create a new builder with your API key.
+/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
+///
+- (nonnull instancetype)initWithAPIKey:(NSString * _Nonnull)apiKey OBJC_DESIGNATED_INITIALIZER;
+/// Update your API key.
+- (RCConfigurationBuilder * _Nonnull)withApiKey:(NSString * _Nonnull)apiKey SWIFT_WARN_UNUSED_RESULT;
+/// Set an appUserID
.
+/// note:
+/// Best practice is to use a salted hash of your unique app user ids.
+/// important:
+/// Set this property if you have your own user identifiers that you manage.
+/// \param appUserID The unique app user id for this user. This user id will allow users to share their
+/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
+/// to generate this for you.
+///
+- (RCConfigurationBuilder * _Nonnull)withAppUserID:(NSString * _Nonnull)appUserID SWIFT_WARN_UNUSED_RESULT;
+/// Set observerMode
.
+/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
+/// RevenueCat’s backend. Default is false
.
+///
+- (RCConfigurationBuilder * _Nonnull)withObserverMode:(BOOL)observerMode SWIFT_WARN_UNUSED_RESULT;
+/// Set userDefaults
.
+/// \param userDefaults Custom UserDefaults
to use
+///
+- (RCConfigurationBuilder * _Nonnull)withUserDefaults:(NSUserDefaults * _Nonnull)userDefaults SWIFT_WARN_UNUSED_RESULT;
+/// Set usesStoreKit2IfAvailable
.
+/// important:
+/// Support for purchases using StoreKit 2 is currently in an experimental phase.
+/// We recommend setting this value to false
(default) for production apps.
+/// \param usesStoreKit2IfAvailable EXPERIMENTAL. opt in to using StoreKit 2 on devices that support it.
+/// Purchases will be made using StoreKit 2 under the hood automatically.
+///
+- (RCConfigurationBuilder * _Nonnull)withUsesStoreKit2IfAvailable:(BOOL)usesStoreKit2IfAvailable SWIFT_WARN_UNUSED_RESULT;
+/// Set dangerousSettings
.
+/// \param dangerousSettings Only use if suggested by RevenueCat support team.
+///
+- (RCConfigurationBuilder * _Nonnull)withDangerousSettings:(RCDangerousSettings * _Nonnull)dangerousSettings SWIFT_WARN_UNUSED_RESULT;
+/// Set networkTimeout
.
+- (RCConfigurationBuilder * _Nonnull)withNetworkTimeout:(NSTimeInterval)networkTimeout SWIFT_WARN_UNUSED_RESULT;
+/// Set storeKit1Timeout
.
+- (RCConfigurationBuilder * _Nonnull)withStoreKit1Timeout:(NSTimeInterval)storeKit1Timeout SWIFT_WARN_UNUSED_RESULT;
+/// Set platformInfo
.
+- (RCConfigurationBuilder * _Nonnull)withPlatformInfo:(RCPlatformInfo * _Nonnull)platformInfo SWIFT_WARN_UNUSED_RESULT;
+/// Generate a Configuration
object given the values configured by this builder.
+- (RCConfiguration * _Nonnull)build SWIFT_WARN_UNUSED_RESULT;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
@class RCEntitlementInfos;
-@class NSString;
@class NSDate;
-@class RCStoreTransaction;
+@class RCNonSubscriptionTransaction;
@class NSURL;
/// A container for the most recent customer info returned from Purchases
.
@@ -2572,11 +3294,9 @@ SWIFT_CLASS_NAMED("CustomerInfo")
@property (nonatomic, readonly, copy) NSSet * _Nonnull allPurchasedProductIdentifiers;
/// Returns the latest expiration date of all products, nil if there are none.
@property (nonatomic, readonly, copy) NSDate * _Nullable latestExpirationDate;
-/// Returns all product IDs of the non-subscription purchases a user has made.
-@property (nonatomic, readonly, copy) NSSet * _Nonnull nonConsumablePurchases SWIFT_DEPRECATED_MSG("use nonSubscriptionTransactions");
/// Returns all the non-subscription purchases a user has made.
/// The purchases are ordered by purchase date in ascending order.
-@property (nonatomic, readonly, copy) NSArray * _Nonnull nonSubscriptionTransactions;
+@property (nonatomic, readonly, copy) NSArray * _Nonnull nonSubscriptions;
/// Returns the fetch date of this CustomerInfo.
@property (nonatomic, readonly, copy) NSDate * _Nonnull requestDate;
/// The date this user was first seen in RevenueCat.
@@ -2611,12 +3331,6 @@ SWIFT_CLASS_NAMED("CustomerInfo")
/// note:
/// This can be nil, see -Purchases.restorePurchases(completion:)
@property (nonatomic, readonly, copy) NSString * _Nullable originalApplicationVersion;
-/// The underlying data for this CustomerInfo
.
-/// note:
-/// the content and format of this data isn’t documented and is subject to change.
-/// it’s only meant for debugging purposes or for getting access to future data
-/// without updating the SDK.
-@property (nonatomic, readonly, copy) NSDictionary * _Nonnull rawData;
/// Get the expiration date for a given product identifier. You should use Entitlements though!
/// \param productIdentifier Product identifier for product
///
@@ -2655,6 +3369,24 @@ SWIFT_CLASS_NAMED("CustomerInfo")
+
+@interface RCCustomerInfo (SWIFT_EXTENSION(RevenueCat))
+@property (nonatomic, readonly, copy) NSDictionary * _Nonnull rawData;
+@end
+
+
+@class RCStoreTransaction;
+
+@interface RCCustomerInfo (SWIFT_EXTENSION(RevenueCat))
+/// Returns all product IDs of the non-subscription purchases a user has made.
+@property (nonatomic, readonly, copy) NSSet * _Nonnull nonConsumablePurchases SWIFT_DEPRECATED_MSG("use nonSubscriptionTransactions");
+/// Returns all the non-subscription purchases a user has made.
+/// The purchases are ordered by purchase date in ascending order.
+@property (nonatomic, readonly, copy) NSArray * _Nonnull nonSubscriptionTransactions SWIFT_DEPRECATED_MSG("", "nonSubscriptions");
+@end
+
+
+
/// Only use a Dangerous Setting if suggested by RevenueCat support team.
SWIFT_CLASS_NAMED("DangerousSettings")
@interface RCDangerousSettings : NSObject
@@ -2685,10 +3417,17 @@ SWIFT_CLASS_NAMED("EntitlementInfo")
/// The entitlement identifier configured in the RevenueCat dashboard
@property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
/// True if the user has access to this entitlement
+/// warning:
+/// this is equivalent to isActiveInAnyEnvironment
+/// Related Symbols
+///
+/// -
+///
isActiveInCurrentEnvironment
+///
+///
@property (nonatomic, readonly) BOOL isActive;
/// True if the underlying subscription is set to renew at the end of
-/// the billing period (expirationDate
). Will always be true
if entitlement
-/// is for lifetime access.
+/// the billing period (expirationDate
).
@property (nonatomic, readonly) BOOL willRenew;
/// The last period type this entitlement was in
/// Either: PeriodType/normal
, PeriodType/intro
, PeriodType/trial
@@ -2721,11 +3460,6 @@ SWIFT_CLASS_NAMED("EntitlementInfo")
/// or shared to them by a family member. This can be useful for onboarding users who have had
/// an entitlement shared with them, but might not be entirely aware of the benefits they now have.
@property (nonatomic, readonly) enum RCPurchaseOwnershipType ownershipType;
-/// The underlying data for this EntitlementInfo
.
-/// note:
-/// the content and format of this data isn’t documented and is subject to change,
-/// it’s only meant for debugging purposes or for getting access to future data
-/// without updating the SDK.
@property (nonatomic, readonly, copy) NSDictionary * _Nonnull rawData;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
@@ -2735,10 +3469,33 @@ SWIFT_CLASS_NAMED("EntitlementInfo")
@end
-
-
-
-
+
+
+
+
+@interface RCEntitlementInfo (SWIFT_EXTENSION(RevenueCat))
+/// True if the user has access to this entitlement,
+/// note:
+/// When queried from the sandbox environment, it only returns true if active in sandbox.
+/// When queried from production, this only returns true if active in production.
+/// Related Symbols
+///
+/// -
+///
isActiveInAnyEnvironment
+///
+///
+@property (nonatomic, readonly) BOOL isActiveInCurrentEnvironment;
+/// True if the user has access to this entitlement in any environment.
+/// Related Symbols
+///
+/// -
+///
isActiveInCurrentEnvironment
+///
+///
+@property (nonatomic, readonly) BOOL isActiveInAnyEnvironment;
+@end
+
+
/// This class contains all the entitlements associated to the user.
SWIFT_CLASS_NAMED("EntitlementInfos")
@interface RCEntitlementInfos : NSObject
@@ -2746,8 +3503,6 @@ SWIFT_CLASS_NAMED("EntitlementInfos")
/// identifier. This dictionary can also be accessed by using an index subscript on EntitlementInfos
, e.g.
/// entitlementInfos["pro_entitlement_id"]
.
@property (nonatomic, readonly, copy) NSDictionary * _Nonnull all;
-/// Dictionary of active EntitlementInfo
(RCEntitlementInfo
) objects keyed by entitlement identifier.
-@property (nonatomic, readonly, copy) NSDictionary * _Nonnull active;
- (RCEntitlementInfo * _Nullable)objectForKeyedSubscript:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly, copy) NSString * _Nonnull description;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
@@ -2755,6 +3510,42 @@ SWIFT_CLASS_NAMED("EntitlementInfos")
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
+
+
+@interface RCEntitlementInfos (SWIFT_EXTENSION(RevenueCat))
+/// Dictionary of active EntitlementInfo
objects keyed by their identifiers.
+/// warning:
+/// this is equivalent to activeInAnyEnvironment
+/// Related Symbols
+///
+/// -
+///
activeInCurrentEnvironment
+///
+///
+@property (nonatomic, readonly, copy) NSDictionary * _Nonnull active;
+/// Dictionary of active EntitlementInfo
objects keyed by their identifiers.
+/// note:
+/// When queried from the sandbox environment, it only returns entitlements active in sandbox.
+/// When queried from production, this only returns entitlements active in production.
+/// Related Symbols
+///
+/// -
+///
activeInAnyEnvironment
+///
+///
+@property (nonatomic, readonly, copy) NSDictionary * _Nonnull activeInCurrentEnvironment;
+/// Dictionary of active EntitlementInfo
objects keyed by their identifiers.
+/// note:
+/// these can be active on any environment.
+/// Related Symbols
+///
+/// -
+///
activeInCurrentEnvironment
+///
+///
+@property (nonatomic, readonly, copy) NSDictionary * _Nonnull activeInAnyEnvironment;
+@end
+
/// Error codes used by the Purchases SDK
typedef SWIFT_ENUM_NAMED(NSInteger, RCPurchasesErrorCode, "ErrorCode", open) {
RCUnknownError SWIFT_COMPILE_NAME("unknownError") = 0,
@@ -2784,7 +3575,6 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCPurchasesErrorCode, "ErrorCode", open) {
RCUnsupportedError SWIFT_COMPILE_NAME("unsupportedError") = 24,
RCEmptySubscriberAttributesError SWIFT_COMPILE_NAME("emptySubscriberAttributes") = 25,
RCProductDiscountMissingIdentifierError SWIFT_COMPILE_NAME("productDiscountMissingIdentifierError") = 26,
- RCMissingAppUserIDForAliasCreationError SWIFT_COMPILE_NAME("missingAppUserIDForAliasCreationError") = 27,
RCProductDiscountMissingSubscriptionGroupIdentifierError SWIFT_COMPILE_NAME("productDiscountMissingSubscriptionGroupIdentifierError") = 28,
RCCustomerInfoError SWIFT_COMPILE_NAME("customerInfoError") = 29,
RCSystemInfoError SWIFT_COMPILE_NAME("systemInfoError") = 30,
@@ -2792,16 +3582,11 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCPurchasesErrorCode, "ErrorCode", open) {
RCProductRequestTimedOut SWIFT_COMPILE_NAME("productRequestTimedOut") = 32,
RCAPIEndpointBlocked SWIFT_COMPILE_NAME("apiEndpointBlockedError") = 33,
RCInvalidPromotionalOfferError SWIFT_COMPILE_NAME("invalidPromotionalOfferError") = 34,
+ RCOfflineConnectionError SWIFT_COMPILE_NAME("offlineConnectionError") = 35,
};
static NSString * _Nonnull const RCPurchasesErrorCodeDomain = @"RevenueCat.ErrorCode";
-SWIFT_CLASS("_TtC10RevenueCat12ErrorDetails")
-@interface ErrorDetails : NSObject
-- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
-@end
-
-
SWIFT_CLASS("_TtC10RevenueCat15FakeASIdManager")
@interface FakeASIdManager : NSObject
+ (FakeASIdManager * _Nonnull)sharedManager SWIFT_WARN_UNUSED_RESULT;
@@ -2913,6 +3698,21 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCLogLevel, "LogLevel", open) {
+
+
+/// Information that represents a non-subscription purchase made by a user.
+SWIFT_CLASS_NAMED("NonSubscriptionTransaction")
+@interface RCNonSubscriptionTransaction : NSObject
+/// The product identifier.
+@property (nonatomic, readonly, copy) NSString * _Nonnull productIdentifier;
+/// The date that App Store charged the user’s account.
+@property (nonatomic, readonly, copy) NSDate * _Nonnull purchaseDate;
+/// The unique identifier for the transaction.
+@property (nonatomic, readonly, copy) NSString * _Nonnull transactionIdentifier;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
@class RCPackage;
/// An offering is a collection of Package
s, and they let you control which products
@@ -3041,6 +3841,14 @@ SWIFT_CLASS_NAMED("Package")
@end
+@class SKProduct;
+
+@interface RCPackage (SWIFT_EXTENSION(RevenueCat))
+/// SKProduct
assigned to this package. https://developer.apple.com/documentation/storekit/skproduct
+@property (nonatomic, readonly, strong) SKProduct * _Nonnull product SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead");
+@end
+
+
@interface RCPackage (SWIFT_EXTENSION(RevenueCat))
/// \param packageType A PackageType
.
///
@@ -3056,13 +3864,6 @@ SWIFT_CLASS_NAMED("Package")
+ (enum RCPackageType)packageTypeFrom:(NSString * _Nonnull)string SWIFT_WARN_UNUSED_RESULT;
@end
-@class SKProduct;
-
-@interface RCPackage (SWIFT_EXTENSION(RevenueCat))
-/// SKProduct
assigned to this package. https://developer.apple.com/documentation/storekit/skproduct
-@property (nonatomic, readonly, strong) SKProduct * _Nonnull product SWIFT_AVAILABILITY(macos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'product' has been renamed to 'storeProduct': Use StoreProduct instead");
-@end
-
/// Enumeration of all possible Package
types, as configured on the package.
/// Related Articles
@@ -3155,21 +3956,24 @@ SWIFT_CLASS("_TtC10RevenueCat15ProductsManager")
@end
+@class RCStoreProductDiscount;
+@class RCPromotionalOfferSignedData;
+
/// Represents a StoreProductDiscount
that has been validated and
/// is ready to be used for a purchase.
/// Related Symbols
///
/// -
-///
Purchases/getPromotionalOffer(forProductDiscount:product:)
+/// Purchases/promotionalOffer(forProductDiscount:product:)
///
/// -
///
Purchases/getPromotionalOffer(forProductDiscount:product:completion:)
///
/// -
-///
StoreProduct/getEligiblePromotionalOffers()
+/// StoreProduct/eligiblePromotionalOffers()
///
/// -
-///
Purchases/getEligiblePromotionalOffers(forProduct:)
+/// Purchases/eligiblePromotionalOffers(forProduct:)
///
/// -
///
Purchases/purchase(package:promotionalOffer:)
@@ -3186,14 +3990,39 @@ SWIFT_CLASS("_TtC10RevenueCat15ProductsManager")
///
SWIFT_CLASS_NAMED("PromotionalOffer")
@interface RCPromotionalOffer : NSObject
+/// The StoreProductDiscount
in this offer.
+@property (nonatomic, readonly, strong) RCStoreProductDiscount * _Nonnull discount;
+/// The SignedData-swift.class
provides information about the PromotionalOffer
’s signature.
+@property (nonatomic, readonly, strong) RCPromotionalOfferSignedData * _Nonnull signedData;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
+@interface RCPromotionalOffer (SWIFT_EXTENSION(RevenueCat))
+@end
+
+@class NSUUID;
+
+/// Contains the details of a promotional offer discount that you want to apply to a payment.
+SWIFT_CLASS_NAMED("SignedData")
+@interface RCPromotionalOfferSignedData : NSObject
+/// The subscription offer identifier.
+@property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
+/// The key identifier of the subscription key.
+@property (nonatomic, readonly, copy) NSString * _Nonnull keyIdentifier;
+/// The nonce used in the signature.
+@property (nonatomic, readonly, copy) NSUUID * _Nonnull nonce;
+/// The cryptographic signature of the offer parameters, generated on RevenueCat’s server.
+@property (nonatomic, readonly, copy) NSString * _Nonnull signature;
+/// The UNIX time, in milliseconds, when the signature was generated.
+@property (nonatomic, readonly) NSInteger timestamp;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
-SWIFT_CLASS_NAMED("PromotionalOfferEligibility") SWIFT_AVAILABILITY(macos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(ios,obsoleted=1,message="Use PromotionalOffer instead")
+SWIFT_CLASS_NAMED("PromotionalOfferEligibility") SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(macos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="Use PromotionalOffer instead") SWIFT_AVAILABILITY(ios,obsoleted=1,message="Use PromotionalOffer instead")
@interface RCPromotionalOfferEligibility : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
@@ -3281,7 +4110,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL forceUniversalAppStore;)
/// Approve what kids buy with Ask to Buy
///
///
-SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL simulatesAskToBuyInSandbox SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14) SWIFT_AVAILABILITY(ios,introduced=8.0);)
+SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL simulatesAskToBuyInSandbox SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14) SWIFT_AVAILABILITY(ios,introduced=8.0);)
+ (BOOL)simulatesAskToBuyInSandbox SWIFT_WARN_UNUSED_RESULT;
+ (void)setSimulatesAskToBuyInSandbox:(BOOL)newValue;
/// Indicates whether the user is allowed to make payments.
@@ -3339,51 +4168,33 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL verboseLogs;)
/// Current version of the Purchases
framework.
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, copy) NSString * _Nonnull frameworkVersion;)
+ (NSString * _Nonnull)frameworkVersion SWIFT_WARN_UNUSED_RESULT;
-/// Whether transactions should be finished automatically. true
by default.
-/// * - Warning: Setting this value to false
will prevent the SDK from finishing transactions.
-/// * In this case, you must finish transactions in your app, otherwise they will remain in the queue and
-/// * will turn up every time the app is opened.
-/// * More information on finishing transactions manually is available here.
-@property (nonatomic) BOOL finishTransactions;
-/// Automatically collect subscriber attributes associated with the device identifiers
+/// Attribution
object that is responsible for all explicit attribution APIs
+/// as well as subscriber attributes that RevenueCat offers.
+/// Example:
+/// \code
+/// Purchases.shared.attribution.setEmail(“nobody@example.com”)
+///
+/// \endcodeRelated Articles
///
-- (void)collectDeviceIdentifiers;
+@property (nonatomic, readonly, strong) RCAttribution * _Nonnull attribution;
+/// Whether transactions should be finished automatically. true
by default.
+/// * - Warning: Setting this value to false
will prevent the SDK from finishing transactions.
+/// * In this case, you must finish transactions in your app, otherwise they will remain in the queue and
+/// * will turn up every time the app is opened.
+/// * More information on finishing transactions manually is available here.
+@property (nonatomic) BOOL finishTransactions;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
-SWIFT_PROTOCOL("_TtP10RevenueCat29PurchasesOrchestratorDelegate_")
-@protocol PurchasesOrchestratorDelegate
-- (void)shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))defermentBlock;
-@end
-
-
-@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-/// Called when a user initiates a promotional in-app purchase from the App Store.
-/// If your app is able to handle a purchase at the current time, run the deferment block in this method.
-/// If the app is not in a state to make a purchase: cache the defermentBlock, then call the defermentBlock
-/// when the app is ready to make the promotional purchase.
-/// If the purchase should never be made, you don’t need to ever call the defermentBlock and Purchases
-/// will not proceed with promotional purchases.
-/// \param product StoreProduct
the product that was selected from the app store.
-///
-- (void)shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))defermentBlock;
-@end
-
-
-
-@class RCPlatformInfo;
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) RCPlatformInfo * _Nullable platformInfo;)
@@ -3400,6 +4211,91 @@ SWIFT_CLASS_NAMED("PlatformInfo")
@end
+@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
+/// Configures an instance of the Purchases SDK with a specified Configuration
.
+/// The instance will be set as a singleton.
+/// You should access the singleton instance using Purchases/shared
+/// important:
+/// See Configuration/Builder
for more information about configurable properties.
+/// Example
+/// \code
+/// Purchases.configure(
+/// with: Configuration.Builder(withAPIKey: Constants.apiKey)
+/// .with(usesStoreKit2IfAvailable: true)
+/// .with(observerMode: false)
+/// .with(appUserID: "")
+/// .build()
+/// )
+///
+/// \endcode\param configuration The Configuration
object you wish to use to configure Purchases
+///
+///
+/// returns:
+/// An instantiated Purchases
object that has been set as a singleton.
++ (RCPurchases * _Nonnull)configureWithConfiguration:(RCConfiguration * _Nonnull)configuration;
+/// Configures an instance of the Purchases SDK with a specified Configuration/Builder
.
+/// The instance will be set as a singleton.
+/// You should access the singleton instance using Purchases/shared
+/// important:
+/// See Configuration/Builder
for more information about configurable properties.
+/// Example
+/// \code
+/// Purchases.configure(
+/// with: .init(withAPIKey: Constants.apiKey)
+/// .with(usesStoreKit2IfAvailable: true)
+/// .with(observerMode: false)
+/// .with(appUserID: "")
+/// )
+///
+/// \endcode\param builder The Configuration/Builder
object you wish to use to configure Purchases
+///
+///
+/// returns:
+/// An instantiated Purchases
object that has been set as a singleton.
++ (RCPurchases * _Nonnull)configureWithConfigurationBuilder:(RCConfigurationBuilder * _Nonnull)builder;
+/// Configures an instance of the Purchases SDK with a specified API key.
+/// The instance will be set as a singleton.
+/// You should access the singleton instance using Purchases/shared
+/// note:
+/// Use this initializer if your app does not have an account system.
+/// Purchases
will generate a unique identifier for the current device and persist it to NSUserDefaults
.
+/// This also affects the behavior of Purchases/restorePurchases(completion:)
.
+/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
+///
+///
+/// returns:
+/// An instantiated Purchases
object that has been set as a singleton.
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey;
+@end
+
+
+SWIFT_PROTOCOL("_TtP10RevenueCat29PurchasesOrchestratorDelegate_")
+@protocol PurchasesOrchestratorDelegate
+- (void)readyForPromotedProduct:(RCStoreProduct * _Nonnull)product purchase:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))startPurchase;
+@property (nonatomic, readonly) BOOL shouldShowPriceConsent SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
+@end
+
+
+@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
+/// Called when a user initiates a promoted in-app purchase from the App Store.
+/// If your app is able to handle a purchase at the current time, run the startPurchase
block.
+/// If the app is not in a state to make a purchase: cache the startPurchase
block, then call it
+/// when the app is ready to make the promoted purchase.
+/// If the purchase should never be made, you don’t need to ever call the startPurchase
block
+/// and Purchases
will not proceed with promoted purchases.
+/// \param product StoreProduct
the product that was selected from the app store.
+///
+/// \param startPurchase Method that begins the purchase flow for the promoted purchase.
+/// If the app is ready to start the purchase flow when this delegate method is called, then this method
+/// should be called right away. Otherwise, the method should be stored as a property in memory, and then called
+/// once the app is ready to start the purchase flow.
+/// When the purchase completes, the result will be part of the callback parameters.
+///
+- (void)readyForPromotedProduct:(RCStoreProduct * _Nonnull)product purchase:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))startPurchase;
+@property (nonatomic, readonly) BOOL shouldShowPriceConsent SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
+@end
+
+
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
/// Enable debug logging. Useful for debugging issues with the lovely team @RevenueCat.
@@ -3430,139 +4326,22 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
///
/// \param data Dictionary provided by the network.
///
-/// \param network Enum for the network the data is coming from, see AttributionNetwork
for supported
-/// networks.
-///
-/// \param networkUserId User Id that should be sent to the network. Default is the current App User Id.
-///
-+ (void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network forNetworkUserId:(NSString * _Nullable)networkUserId SWIFT_DEPRECATED_MSG("Use the set functions instead");
-@end
-
-@class NSUserDefaults;
-
-@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-/// Configures an instance of the Purchases SDK with a specified API key.
-/// The instance will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// note:
-/// Use this initializer if your app does not have an account system.
-/// Purchases
will generate a unique identifier for the current device and persist it to NSUserDefaults
.
-/// This also affects the behavior of Purchases/restorePurchases(completion:)
.
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey;
-/// Configures an instance of the Purchases SDK with a specified API key and app user ID.
-/// The instance will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// note:
-/// Best practice is to use a salted hash of your unique app user ids.
-/// warning:
-/// Use this initializer if you have your own user identifiers that you manage.
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID;
-/// Configures an instance of the Purchases SDK with a custom UserDefaults
.
-/// Use this constructor if you want to
-/// sync status across a shared container, such as between a host app and an extension. The instance of the
-/// Purchases SDK will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
-/// RevenueCat’s backend. Default is false
.
-///
-///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode;
-/// Configures an instance of the Purchases SDK with a custom UserDefaults
.
-/// Use this constructor if you want to
-/// sync status across a shared container, such as between a host app and an extension. The instance of the
-/// Purchases SDK will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
-/// RevenueCat’s backend. Default is false
.
-///
-/// \param userDefaults Custom UserDefaults
to use
-///
-///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults;
-/// Configures an instance of the Purchases SDK with a custom userDefaults.
-/// Use this constructor if you want to sync status across a shared container,
-/// such as between a host app and an extension.
-/// The instance of the Purchases
SDK will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// important:
-/// Support for purchases using StoreKit 2 is currently in an experimental phase.
-/// We recommend setting this value to false
(default) for production apps.
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
-/// RevenueCat’s backend. Default is false
.
-///
-/// \param userDefaults Custom UserDefaults
to use
-///
-/// \param useStoreKit2IfAvailable EXPERIMENTAL. opt in to using StoreKit 2 on devices that support it.
-/// Purchases will be made using StoreKit 2 under the hood automatically.
-///
-///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable;
-/// Configures an instance of the Purchases SDK with a custom userDefaults.
-/// Use this constructor if you want to sync status across a shared container,
-/// such as between a host app and an extension.
-/// The instance of the Purchases
SDK will be set as a singleton.
-/// You should access the singleton instance using Purchases/shared
-/// important:
-/// Support for purchases using StoreKit 2 is currently in an experimental phase.
-/// We recommend setting this value to false
(default) for production apps.
-/// \param apiKey The API Key generated for your app from https://app.revenuecat.com/
-///
-/// \param appUserID The unique app user id for this user. This user id will allow users to share their
-/// purchases and subscriptions across devices. Pass nil
or an empty string if you want Purchases
-/// to generate this for you.
-///
-/// \param observerMode Set this to true
if you have your own IAP implementation and want to use only
-/// RevenueCat’s backend. Default is false
.
-///
-/// \param userDefaults Custom UserDefaults
to use
-///
-/// \param dangerousSettings Only use if suggested by RevenueCat support team.
-///
-/// \param useStoreKit2IfAvailable EXPERIMENTAL. opt in to using StoreKit 2 on devices that support it.
-/// Purchases will be made using StoreKit 2 under the hood automatically.
+/// \param network Enum for the network the data is coming from, see AttributionNetwork
for supported
+/// networks.
///
+/// \param networkUserId User Id that should be sent to the network. Default is the current App User Id.
///
-/// returns:
-/// An instantiated Purchases
object that has been set as a singleton.
-+ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable dangerousSettings:(RCDangerousSettings * _Nullable)dangerousSettings;
++ (void)addAttributionData:(NSDictionary * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network forNetworkUserId:(NSString * _Nullable)networkUserId SWIFT_DEPRECATED_MSG("Use the set functions instead");
+@end
+
+
+
+@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
++ (RCPurchases * _Nonnull)configureWithAPIKey:(NSString * _Nonnull)apiKey appUserID:(NSString * _Nullable)appUserID observerMode:(BOOL)observerMode userDefaults:(NSUserDefaults * _Nullable)userDefaults useStoreKit2IfAvailable:(BOOL)useStoreKit2IfAvailable dangerousSettings:(RCDangerousSettings * _Nullable)dangerousSettings SWIFT_AVAILABILITY(maccatalyst,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(macos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(watchos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(tvos,deprecated=1,message="'configure' has been renamed to 'configure(with:)'") SWIFT_AVAILABILITY(ios,deprecated=1,message="'configure' has been renamed to 'configure(with:)'");
@end
@@ -3627,10 +4406,8 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
///
- (void)logOutWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
/// Fetch the configured Offerings
for this user.
-/// \code
-/// *``Offerings`` allows you to configure your in-app products
-///
-/// \endcodevia RevenueCat and greatly simplifies management.
+/// Offerings
allows you to configure your in-app products
+/// via RevenueCat and greatly simplifies management.
/// Offerings
will be fetched and cached on instantiation so that, by the time they are needed,
/// your prices are loaded for your purchase flow. Time is money.
/// Related Articles
@@ -3647,187 +4424,30 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
-@class NSData;
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-/// Subscriber attributes are useful for storing additional, structured information on a user.
-/// Since attributes are writable using a public key they should not be used for
-/// managing secure or sensitive information such as subscription status, coins, etc.
-/// Key names starting with “$” are reserved names used by RevenueCat. For a full list of key
-/// restrictions refer to our guide
-/// \param attributes Map of attributes by key. Set the value as an empty string to delete an attribute.
-///
-- (void)setAttributes:(NSDictionary * _Nonnull)attributes;
-/// Subscriber attribute associated with the email address for the user.
-/// Related Articles
-///
-/// \param email Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setEmail:(NSString * _Nullable)email;
-/// Subscriber attribute associated with the phone number for the user.
-/// Related Articles
-///
-/// \param phoneNumber Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setPhoneNumber:(NSString * _Nullable)phoneNumber;
-/// Subscriber attribute associated with the display name for the user.
-/// Related Articles
-///
-/// \param displayName Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setDisplayName:(NSString * _Nullable)displayName;
-/// Subscriber attribute associated with the push token for the user.
-/// Related Articles
-///
-/// \param pushToken nil
will delete the subscriber attribute.
-///
-- (void)setPushToken:(NSData * _Nullable)pushToken;
-/// Subscriber attribute associated with the Adjust Id for the user.
-/// Required for the RevenueCat Adjust integration.
-/// Related Articles
-///
-- (void)setAdjustID:(NSString * _Nullable)adjustID;
-/// Subscriber attribute associated with the Appsflyer Id for the user.
-/// Required for the RevenueCat Appsflyer integration.
-/// Related Articles
-///
-- (void)setAppsflyerID:(NSString * _Nullable)appsflyerID;
-/// Subscriber attribute associated with the Facebook SDK Anonymous Id for the user.
-/// Recommended for the RevenueCat Facebook integration.
-/// Related Articles
-///
-- (void)setFBAnonymousID:(NSString * _Nullable)fbAnonymousID;
-/// Subscriber attribute associated with the mParticle Id for the user.
-/// Recommended for the RevenueCat mParticle integration.
-/// Related Articles
-///
-- (void)setMparticleID:(NSString * _Nullable)mparticleID;
-/// Subscriber attribute associated with the OneSignal Player ID for the user.
-/// Required for the RevenueCat OneSignal integration.
-/// Related Articles
-///
-- (void)setOnesignalID:(NSString * _Nullable)onesignalID;
-/// Subscriber attribute associated with the Airship Channel ID for the user.
-/// Required for the RevenueCat Airship integration.
-/// Related Articles
-///
-- (void)setAirshipChannelID:(NSString * _Nullable)airshipChannelID;
-/// Subscriber attribute associated with the CleverTap ID for the user.
-/// Required for the RevenueCat CleverTap integration.
-/// Related Articles
-///
-- (void)setCleverTapID:(NSString * _Nullable)cleverTapID;
-/// Subscriber attribute associated with the install media source for the user.
-/// Related Articles
-///
-/// \param mediaSource Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setMediaSource:(NSString * _Nullable)mediaSource;
-/// Subscriber attribute associated with the install campaign for the user.
-/// Related Articles
-///
-/// \param campaign Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setCampaign:(NSString * _Nullable)campaign;
-/// Subscriber attribute associated with the install ad group for the user
-/// Related Articles
-///
-/// \param adGroup Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setAdGroup:(NSString * _Nullable)adGroup;
-/// Subscriber attribute associated with the install ad for the user
-/// Related Articles
-///
-/// \param installAd Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setAd:(NSString * _Nullable)installAd;
-/// Subscriber attribute associated with the install keyword for the user
-/// Related Articles
-///
-/// \param keyword Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setKeyword:(NSString * _Nullable)keyword;
-/// Subscriber attribute associated with the install ad creative for the user.
-/// Related Articles
-///
-/// \param creative Empty String or nil
will delete the subscriber attribute.
-///
-- (void)setCreative:(NSString * _Nullable)creative;
+- (void)collectDeviceIdentifiers SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'collectDeviceIdentifiers' has been renamed to 'attribution.collectDeviceIdentifiers()'");
+- (void)setAttributes:(NSDictionary * _Nonnull)attributes SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAttributes' has been renamed to 'attribution.setAttributes(_:)'");
+- (void)setEmail:(NSString * _Nullable)email SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setEmail' has been renamed to 'attribution.setEmail(_:)'");
+- (void)setPhoneNumber:(NSString * _Nullable)phoneNumber SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setPhoneNumber' has been renamed to 'attribution.setPhoneNumber(_:)'");
+- (void)setDisplayName:(NSString * _Nullable)displayName SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setDisplayName' has been renamed to 'attribution.setDisplayName(_:)'");
+- (void)setPushToken:(NSData * _Nullable)pushToken SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setPushToken' has been renamed to 'attribution.setPushToken(_:)'");
+- (void)setPushTokenString:(NSString * _Nullable)pushToken SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setPushTokenString' has been renamed to 'attribution.setPushTokenString(_:)'");
+- (void)setAdjustID:(NSString * _Nullable)adjustID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAdjustID' has been renamed to 'attribution.setAdjustID(_:)'");
+- (void)setAppsflyerID:(NSString * _Nullable)appsflyerID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAppsflyerID' has been renamed to 'attribution.setAppsflyerID(_:)'");
+- (void)setFBAnonymousID:(NSString * _Nullable)fbAnonymousID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setFBAnonymousID' has been renamed to 'attribution.setFBAnonymousID(_:)'");
+- (void)setMparticleID:(NSString * _Nullable)mparticleID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setMparticleID' has been renamed to 'attribution.setMparticleID(_:)'");
+- (void)setOnesignalID:(NSString * _Nullable)onesignalID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setOnesignalID' has been renamed to 'attribution.setOnesignalID(_:)'");
+- (void)setAirshipChannelID:(NSString * _Nullable)airshipChannelID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAirshipChannelID' has been renamed to 'attribution.setAirshipChannelID(_:)'");
+- (void)setCleverTapID:(NSString * _Nullable)cleverTapID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setCleverTapID' has been renamed to 'attribution.setCleverTapID(_:)'");
+- (void)setMixpanelDistinctID:(NSString * _Nullable)mixpanelDistinctID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setMixpanelDistinctID' has been renamed to 'attribution.setMixpanelDistinctID(_:)'");
+- (void)setFirebaseAppInstanceID:(NSString * _Nullable)firebaseAppInstanceID SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setFirebaseAppInstanceID' has been renamed to 'attribution.setFirebaseAppInstanceID(_:)'");
+- (void)setMediaSource:(NSString * _Nullable)mediaSource SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setMediaSource' has been renamed to 'attribution.setMediaSource(_:)'");
+- (void)setCampaign:(NSString * _Nullable)campaign SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setCampaign' has been renamed to 'attribution.setCampaign(_:)'");
+- (void)setAdGroup:(NSString * _Nullable)adGroup SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAdGroup' has been renamed to 'attribution.setAdGroup(_:)'");
+- (void)setAd:(NSString * _Nullable)installAd SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setAd' has been renamed to 'attribution.setAd(_:)'");
+- (void)setKeyword:(NSString * _Nullable)keyword SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setKeyword' has been renamed to 'attribution.setKeyword(_:)'");
+- (void)setCreative:(NSString * _Nullable)creative SWIFT_AVAILABILITY(maccatalyst,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(macos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(watchos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(tvos,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'") SWIFT_AVAILABILITY(ios,deprecated=0.0.1,message="'setCreative' has been renamed to 'attribution.setCreative(_:)'");
@end
@class SKPaymentDiscount;
@@ -3914,7 +4534,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
/// If the purchase was not successful, there will be an NSError
.
/// If the user cancelled, userCancelled
will be YES
.
///
-- (void)purchasePackage:(RCPackage * _Nonnull)package withDiscount:(SKPaymentDiscount * _Nonnull)discount completionBlock:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(macos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(watchos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(tvos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(ios,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'");
+- (void)purchasePackage:(RCPackage * _Nonnull)package withDiscount:(SKPaymentDiscount * _Nonnull)discount completionBlock:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(maccatalyst,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(macos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(watchos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(tvos,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(ios,unavailable,message="'purchasePackage' has been renamed to 'purchasePackage:withPromotionalOffer:completion:'");
/// Use this function if you are not using the Offerings system to purchase an SKProduct
.
/// If you are using the Offerings system, use -[RCPurchases purchasePackage:withCompletionBlock]
instead.
/// Call this method when a user has decided to purchase a product. Only call this in direct response to user input.
@@ -3944,8 +4564,8 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
/// If the purchase was not successful, there will be an NSError
.
/// If the user cancelled, userCancelled
will be YES
.
///
-- (void)purchaseProduct:(SKProduct * _Nonnull)product withDiscount:(SKPaymentDiscount * _Nonnull)discount completionBlock:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(macos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(watchos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(tvos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(ios,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'");
-- (void)invalidatePurchaserInfoCache SWIFT_AVAILABILITY(macos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'");
+- (void)purchaseProduct:(SKProduct * _Nonnull)product withDiscount:(SKPaymentDiscount * _Nonnull)discount completionBlock:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(maccatalyst,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(macos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(watchos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(tvos,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'") SWIFT_AVAILABILITY(ios,unavailable,message="'purchaseProduct' has been renamed to 'purchaseProduct:withPromotionalOffer:completion:'");
+- (void)invalidatePurchaserInfoCache SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'invalidatePurchaserInfoCache' has been renamed to 'invalidateCustomerInfoCache'");
/// Computes whether or not a user is eligible for the introductory pricing period of a given product.
/// You should use this method to determine whether or not you show the user the normal product price or
/// the introductory price. This also applies to trials (trials are considered a type of introductory pricing).
@@ -3963,7 +4583,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
///
/// \param completion A block that receives a dictionary of product_id -> IntroEligibility
.
///
-- (void)checkTrialOrIntroductoryPriceEligibility:(NSArray * _Nonnull)productIdentifiers completion:(void (^ _Nonnull)(NSDictionary * _Nonnull))completion SWIFT_AVAILABILITY(macos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'");
+- (void)checkTrialOrIntroductoryPriceEligibility:(NSArray * _Nonnull)productIdentifiers completion:(void (^ _Nonnull)(NSDictionary * _Nonnull))completion SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'checkTrialOrIntroductoryPriceEligibility' has been renamed to 'checkTrialOrIntroDiscountEligibility(_:completion:)'");
/// Use this function to retrieve the SKPaymentDiscount
for a given SKProduct
.
/// \param discount The SKProductDiscount
to apply to the product.
///
@@ -3972,7 +4592,8 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
/// \param completion A completion block that is called when the SKPaymentDiscount
is returned.
/// If it was not successful, there will be an Error
.
///
-- (void)paymentDiscountForProductDiscount:(SKProductDiscount * _Nonnull)discount product:(SKProduct * _Nonnull)product completion:(void (^ _Nonnull)(SKPaymentDiscount * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(macos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(watchos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(tvos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(ios,unavailable,message="Check eligibility for a discount using getPromotionalOffer:");
+- (void)paymentDiscountForProductDiscount:(SKProductDiscount * _Nonnull)discount product:(SKProduct * _Nonnull)product completion:(void (^ _Nonnull)(SKPaymentDiscount * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(maccatalyst,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(macos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(watchos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(tvos,unavailable,message="Check eligibility for a discount using getPromotionalOffer:") SWIFT_AVAILABILITY(ios,unavailable,message="Check eligibility for a discount using getPromotionalOffer:");
+- (void)shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))defermentBlock SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`") SWIFT_AVAILABILITY(macos,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`") SWIFT_AVAILABILITY(ios,obsoleted=1,message="This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`");
/// This function will alias two appUserIDs together.
/// \param alias The new appUserID that should be linked to the currently identified appUserID
///
@@ -3993,7 +4614,6 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
- (void)resetWithCompletionBlock:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(macos,obsoleted=1,message="'reset' has been renamed to 'logOutWithCompletion:'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'reset' has been renamed to 'logOutWithCompletion:'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'reset' has been renamed to 'logOutWithCompletion:'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'reset' has been renamed to 'logOutWithCompletion:'");
@end
-@class RCStoreProductDiscount;
enum RCRefundRequestStatus : NSInteger;
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
@@ -4002,6 +4622,12 @@ enum RCRefundRequestStatus : NSInteger;
/// Called immediately if CustomerInfo
is cached. Customer info can be nil if an error occurred.
///
- (void)getCustomerInfoWithCompletion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+/// Get latest available customer info.
+/// \param fetchPolicy The behavior for what to do regarding caching.
+///
+/// \param completion A completion block called when customer info is available and not stale.
+///
+- (void)getCustomerInfoWithFetchPolicy:(enum RCCacheFetchPolicy)fetchPolicy completion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
/// Fetches the StoreProduct
s for your IAPs for given productIdentifiers
.
/// Use this method if you aren’t using getOfferings(completion:)
.
/// You should use getOfferings(completion:)
though.
@@ -4075,10 +4701,10 @@ enum RCRefundRequestStatus : NSInteger;
/// StoreProduct/discounts
///
///
-/// StoreProduct/getEligiblePromotionalOffers()
+/// StoreProduct/eligiblePromotionalOffers()
///
///
-/// getPromotionalOffer(forProductDiscount:product:)
+/// promotionalOffer(forProductDiscount:product:)
///
///
/// \param product The StoreProduct
the user intends to purchase.
@@ -4087,7 +4713,7 @@ enum RCRefundRequestStatus : NSInteger;
///
/// \param completion A completion block that is called when the purchase completes.
///
-- (void)purchaseProduct:(RCStoreProduct * _Nonnull)product withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
+- (void)purchaseProduct:(RCStoreProduct * _Nonnull)product withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
/// Purchase the passed Package
.
/// Call this method when a user has decided to purchase a product with an applied discount. Only call this in
/// direct response to user input. From here Purchases
will handle the purchase with StoreKit
and call the
@@ -4104,7 +4730,7 @@ enum RCRefundRequestStatus : NSInteger;
///
/// \param completion A completion block that is called when the purchase completes.
///
-- (void)purchasePackage:(RCPackage * _Nonnull)package withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
+- (void)purchasePackage:(RCPackage * _Nonnull)package withPromotionalOffer:(RCPromotionalOffer * _Nonnull)promotionalOffer completion:(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL))completion SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
/// This method will post all purchases associated with the current App Store account to RevenueCat and
/// become associated with the current appUserID
.
/// If the receipt is being used by an existing user, the current appUserID
will be aliased together with
@@ -4176,6 +4802,25 @@ enum RCRefundRequestStatus : NSInteger;
/// \param completion A block that receives an IntroEligibilityStatus
.
///
- (void)checkTrialOrIntroDiscountEligibilityForProduct:(RCStoreProduct * _Nonnull)product completion:(void (^ _Nonnull)(enum RCIntroEligibilityStatus))completion;
+/// Displays price consent sheet if needed. You only need to call this manually if you implement
+/// PurchasesDelegate/shouldShowPriceConsent
and return false at some point.
+/// You may want to delay showing the sheet if it would interrupt your user’s interaction in your app. You can do
+/// this by implementing PurchasesDelegate/shouldShowPriceConsent
.
+/// In most cases, you don’t typically implement PurchasesDelegate/shouldShowPriceConsent
, therefore,
+/// you won’t need to call this.
+/// Related Symbols
+///
+/// -
+/// ``SKPaymentQueue/showPriceConsentIfNeeded()`
+///
+///
+/// Related Articles
+///
+- (void)showPriceConsentIfNeeded SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
/// Invalidates the cache for customer information.
/// Most apps will not need to use this method; invalidating the cache can leave your app in an invalid state.
/// Refer to
@@ -4185,7 +4830,7 @@ enum RCRefundRequestStatus : NSInteger;
/// promotional subscription is granted through the RevenueCat dashboard.
- (void)invalidateCustomerInfoCache;
/// Displays a sheet that enables users to redeem subscription offer codes that you generated in App Store Connect.
-- (void)presentCodeRedemptionSheet SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(ios,introduced=14.0);
+- (void)presentCodeRedemptionSheet SWIFT_AVAILABILITY(maccatalyst,unavailable) SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(ios,introduced=14.0);
/// Use this method to fetch PromotionalOffer
/// to use in purchase(package:promotionalOffer:)
or purchase(product:promotionalOffer:)
.
/// iOS Promotional Offers.
@@ -4199,7 +4844,7 @@ enum RCRefundRequestStatus : NSInteger;
/// \param completion A completion block that is called when the PromotionalOffer
is returned.
/// If it was not successful, there will be an Error
.
///
-- (void)getPromotionalOfferForProductDiscount:(RCStoreProductDiscount * _Nonnull)discount withProduct:(RCStoreProduct * _Nonnull)product withCompletion:(void (^ _Nonnull)(RCPromotionalOffer * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
+- (void)getPromotionalOfferForProductDiscount:(RCStoreProductDiscount * _Nonnull)discount withProduct:(RCStoreProduct * _Nonnull)product withCompletion:(void (^ _Nonnull)(RCPromotionalOffer * _Nullable, NSError * _Nullable))completion SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=12.2) SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.14.4) SWIFT_AVAILABILITY(ios,introduced=12.2);
/// Use this function to open the manage subscriptions page.
/// If the manage subscriptions page can’t be opened, the CustomerInfo/managementURL
in
/// the CustomerInfo
will be opened. If CustomerInfo/managementURL
is not available,
@@ -4208,8 +4853,10 @@ enum RCRefundRequestStatus : NSInteger;
/// This is because of an undocumented change in StoreKit’s behavior between iOS 15.0 and 15.2,
/// where 15.0 would return when the modal was closed,
/// and 15.2 returns when the modal is opened.
-/// \param completion A completion block that is called when the modal is closed.
-/// If it was not successful, there will be an Error
.
+/// \param completion A completion block that will be called when the modal is opened,
+/// not when it’s actually closed. This is because of an undocumented change in StoreKit’s behavior
+/// between iOS 15.0 and 15.2, where 15.0 would return when the modal was closed, and 15.2 returns
+/// when the modal is opened.
///
- (void)showManageSubscriptionsWithCompletion:(void (^ _Nonnull)(NSError * _Nullable))completion SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(watchos,unavailable);
/// Presents a refund request sheet in the current window scene for
@@ -4270,18 +4917,43 @@ SWIFT_PROTOCOL_NAMED("PurchasesDelegate")
- (void)purchases:(RCPurchases * _Nonnull)purchases receivedUpdatedCustomerInfo:(RCCustomerInfo * _Nonnull)customerInfo;
/// Called when a user initiates a promotional in-app purchase from the App Store.
/// If your app is able to handle a purchase at the current time, run the deferment block in this method.
-/// If the app is not in a state to make a purchase: cache the defermentBlock,
-/// then call the defermentBlock when the app is ready to make the promotional purchase.
-/// If the purchase should never be made, you don’t need to ever call the defermentBlock and
-/// Purchases
will not proceed with promotional purchases.
+/// If the app is not in a state to make a purchase: cache the startPurchase
block,
+/// then call the startPurchase
block when the app is ready to make the promotional purchase.
+/// If the purchase should never be made, you don’t need to ever call the block and
+/// Purchases
will not proceed with the promotional purchase.
+/// This can be tested by opening a link like:
+/// itms-services://?action=purchaseIntent&bundleId=&productIdentifier=
+/// Related Articles:
+///
/// \param product StoreProduct
the product that was selected from the app store
///
-- (void)purchases:(RCPurchases * _Nonnull)purchases shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))makeDeferredPurchase;
+/// \param startPurchase call this block when the app is ready to handle the purchase
+///
+- (void)purchases:(RCPurchases * _Nonnull)purchases readyForPromotedProduct:(RCStoreProduct * _Nonnull)product purchase:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))startPurchase;
+- (void)purchases:(RCPurchases * _Nonnull)purchases shouldPurchasePromoProduct:(RCStoreProduct * _Nonnull)product defermentBlock:(void (^ _Nonnull)(void (^ _Nonnull)(RCStoreTransaction * _Nullable, RCCustomerInfo * _Nullable, NSError * _Nullable, BOOL)))makeDeferredPurchase SWIFT_AVAILABILITY(maccatalyst,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'") SWIFT_AVAILABILITY(macos,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'") SWIFT_AVAILABILITY(watchos,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'") SWIFT_AVAILABILITY(tvos,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'") SWIFT_AVAILABILITY(ios,obsoleted=1,message="'purchases' has been renamed to 'purchases:readyForPromotedProduct:purchase:'");
+/// The default return value for this optional method is true. By default, the system displays the price consent
+/// sheet when you increase the subscription price in App Store Connect and the subscriber hasn’t yet taken action.
+/// The system calls your delegate’s method, if appropriate, when RevenueCat starts observing the SKPaymentQueue
,
+/// and any time the app comes to foreground.
+/// If you return false, the system won’t show the price consent sheet. You can choose to display it later by
+/// calling Purchases/showPriceConsentIfNeeded()
.
+/// You may want to delay showing the sheet if it would interrupt your user’s interaction in your app.
+/// Related Articles
+///
+@property (nonatomic, readonly) BOOL shouldShowPriceConsent SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
@end
-SWIFT_CLASS("_TtC10RevenueCat21RCPurchasesErrorUtils") SWIFT_AVAILABILITY(macos,obsoleted=1) SWIFT_AVAILABILITY(watchos,obsoleted=1) SWIFT_AVAILABILITY(tvos,obsoleted=1) SWIFT_AVAILABILITY(ios,obsoleted=1)
+SWIFT_CLASS("_TtC10RevenueCat21RCPurchasesErrorUtils") SWIFT_AVAILABILITY(maccatalyst,obsoleted=1) SWIFT_AVAILABILITY(macos,obsoleted=1) SWIFT_AVAILABILITY(watchos,obsoleted=1) SWIFT_AVAILABILITY(tvos,obsoleted=1) SWIFT_AVAILABILITY(ios,obsoleted=1)
@interface RCPurchasesErrorUtils : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end
@@ -4298,6 +4970,9 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCRefundRequestStatus, "RefundRequestStatus"
+
+
+
/// Enum of supported stores
typedef SWIFT_ENUM_NAMED(NSInteger, RCStore, "Store", open) {
/// For entitlements granted via Apple App Store.
@@ -4312,6 +4987,8 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStore, "Store", open) {
RCPromotional SWIFT_COMPILE_NAME("promotional") = 4,
/// For entitlements granted via an unknown store.
RCUnknownStore SWIFT_COMPILE_NAME("unknownStore") = 5,
+/// For entitlements granted via the Amazon Store.
+ RCAmazon SWIFT_COMPILE_NAME("amazon") = 6,
};
@@ -4343,6 +5020,8 @@ SWIFT_CLASS("_TtC10RevenueCat15StoreKitWrapper")
- (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue removedTransactions:(NSArray * _Nonnull)transactions;
- (BOOL)paymentQueue:(SKPaymentQueue * _Nonnull)queue shouldAddStorePayment:(SKPayment * _Nonnull)payment forProduct:(SKProduct * _Nonnull)product SWIFT_WARN_UNUSED_RESULT SWIFT_AVAILABILITY(watchos,unavailable);
- (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue didRevokeEntitlementsForProductIdentifiers:(NSArray * _Nonnull)productIdentifiers SWIFT_AVAILABILITY(watchos,introduced=7.0) SWIFT_AVAILABILITY(tvos,introduced=14.0) SWIFT_AVAILABILITY(macos,introduced=11.0) SWIFT_AVAILABILITY(ios,introduced=14.0);
+- (BOOL)paymentQueueShouldShowPriceConsent:(SKPaymentQueue * _Nonnull)paymentQueue SWIFT_WARN_UNUSED_RESULT SWIFT_AVAILABILITY(maccatalyst,introduced=13.4) SWIFT_AVAILABILITY(ios,introduced=13.4);
+- (void)paymentQueueDidChangeStorefront:(SKPaymentQueue * _Nonnull)queue;
@end
enum RCStoreProductType : NSInteger;
@@ -4363,7 +5042,7 @@ SWIFT_CLASS_NAMED("StoreProduct")
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedPriceString;
@property (nonatomic, readonly, copy) NSString * _Nonnull productIdentifier;
@property (nonatomic, readonly) BOOL isFamilyShareable SWIFT_AVAILABILITY(watchos,introduced=8.0) SWIFT_AVAILABILITY(tvos,introduced=14.0) SWIFT_AVAILABILITY(macos,introduced=11.0) SWIFT_AVAILABILITY(ios,introduced=14.0);
-@property (nonatomic, readonly, copy) NSString * _Nullable subscriptionGroupIdentifier SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14) SWIFT_AVAILABILITY(tvos,introduced=12.0) SWIFT_AVAILABILITY(ios,introduced=12.0);
+@property (nonatomic, readonly, copy) NSString * _Nullable subscriptionGroupIdentifier SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(macos,introduced=10.14) SWIFT_AVAILABILITY(tvos,introduced=12.0) SWIFT_AVAILABILITY(maccatalyst,introduced=13.0) SWIFT_AVAILABILITY(ios,introduced=12.0);
@property (nonatomic, readonly, strong) NSNumberFormatter * _Nullable priceFormatter;
@property (nonatomic, readonly, strong) RCSubscriptionPeriod * _Nullable subscriptionPeriod SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=11.2) SWIFT_AVAILABILITY(macos,introduced=10.13.2) SWIFT_AVAILABILITY(ios,introduced=11.2);
@property (nonatomic, readonly, strong) RCStoreProductDiscount * _Nullable introductoryDiscount SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=11.2) SWIFT_AVAILABILITY(macos,introduced=10.13.2) SWIFT_AVAILABILITY(ios,introduced=11.2);
@@ -4374,6 +5053,7 @@ SWIFT_CLASS_NAMED("StoreProduct")
+
@interface RCStoreProduct (SWIFT_EXTENSION(RevenueCat))
@end
@@ -4418,13 +5098,6 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStoreProductType, "ProductType", open) {
@property (nonatomic, readonly, copy) NSLocale * _Nonnull priceLocale SWIFT_AVAILABILITY(macos,unavailable,message="Use localizedPriceString instead") SWIFT_AVAILABILITY(watchos,unavailable,message="Use localizedPriceString instead") SWIFT_AVAILABILITY(tvos,unavailable,message="Use localizedPriceString instead") SWIFT_AVAILABILITY(ios,unavailable,message="Use localizedPriceString instead");
@end
-
-@interface RCStoreProduct (SWIFT_EXTENSION(RevenueCat))
-- (nonnull instancetype)initWithSk1Product:(SKProduct * _Nonnull)sk1Product;
-/// Returns the SKProduct
if this StoreProduct
represents a StoreKit.SKProduct
.
-@property (nonatomic, readonly, strong) SKProduct * _Nullable sk1Product;
-@end
-
@class NSDecimalNumber;
@interface RCStoreProduct (SWIFT_EXTENSION(RevenueCat))
@@ -4432,8 +5105,12 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStoreProductType, "ProductType", open) {
/// For a string representation of the price to display to customers, use localizedPriceString
.
/// note:
/// this is meant for Objective-C. For Swift, use price
instead.
-/// seealso:
-/// pricePerMonth
.
+/// Related Symbols
+///
+/// -
+///
pricePerMonth
+///
+///
@property (nonatomic, readonly, strong) NSDecimalNumber * _Nonnull price;
/// Calculates the price of this subscription product per month.
///
@@ -4447,6 +5124,13 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStoreProductType, "ProductType", open) {
@property (nonatomic, readonly, copy) NSString * _Nullable localizedIntroductoryPriceString;
@end
+
+@interface RCStoreProduct (SWIFT_EXTENSION(RevenueCat))
+- (nonnull instancetype)initWithSk1Product:(SKProduct * _Nonnull)sk1Product;
+/// Returns the SKProduct
if this StoreProduct
represents a StoreKit.SKProduct
.
+@property (nonatomic, readonly, strong) SKProduct * _Nullable sk1Product;
+@end
+
enum RCPaymentMode : NSInteger;
enum RCDiscountType : NSInteger;
@@ -4460,6 +5144,7 @@ SWIFT_CLASS_NAMED("StoreProductDiscount")
@property (nonatomic, readonly, copy) NSString * _Nonnull localizedPriceString;
@property (nonatomic, readonly) enum RCPaymentMode paymentMode;
@property (nonatomic, readonly, strong) RCSubscriptionPeriod * _Nonnull subscriptionPeriod;
+@property (nonatomic, readonly) NSInteger numberOfPeriods;
@property (nonatomic, readonly) enum RCDiscountType type;
- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, readonly) NSUInteger hash;
@@ -4507,7 +5192,9 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCDiscountType, "DiscountType", open) {
@end
-/// Abstract class that provides access to all of StoreKit’s product type’s properties.
+/// Abstract class that provides access to properties of a transaction.
+/// StoreTransaction
s can represent transactions from StoreKit 1, StoreKit 2 or
+/// transactions made from other places, like Stripe, Google Play or Amazon Store.
SWIFT_CLASS_NAMED("StoreTransaction")
@interface RCStoreTransaction : NSObject
@property (nonatomic, readonly, copy) NSString * _Nonnull productIdentifier;
@@ -4533,6 +5220,38 @@ SWIFT_CLASS_NAMED("StoreTransaction")
@property (nonatomic, readonly, strong) SKPaymentTransaction * _Nullable sk1Transaction;
@end
+
+/// An object containing the location and unique identifier of an Apple App Store storefront.
+/// note:
+/// Don’t save the storefront information with your user information; storefront information can change
+/// at any time. Always get the storefront identifier immediately before you display product information or availability
+/// to the user in your app. Storefront information may not be used to develop or enhance a user profile,
+/// or track customers for advertising or marketing purposes.
+SWIFT_CLASS_NAMED("Storefront")
+@interface RCStorefront : NSObject
+@property (nonatomic, readonly, copy) NSString * _Nonnull countryCode;
+@property (nonatomic, readonly, copy) NSString * _Nonnull identifier;
+- (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT;
+@property (nonatomic, readonly) NSUInteger hash;
+@property (nonatomic, readonly, copy) NSString * _Nonnull description;
+- (nonnull instancetype)init SWIFT_UNAVAILABLE;
++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
+@end
+
+@class SKStorefront;
+
+@interface RCStorefront (SWIFT_EXTENSION(RevenueCat))
+/// Returns the SKStorefront
if this Storefront
represents an SKStorefront
.
+@property (nonatomic, readonly, strong) SKStorefront * _Nullable sk1Storefront SWIFT_AVAILABILITY(maccatalyst,introduced=13.1) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0);
+@end
+
+
+@interface RCStorefront (SWIFT_EXTENSION(RevenueCat))
+/// The current App Store storefront for the device obtained from StoreKit 1 only.
+SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) RCStorefront * _Nullable sk1CurrentStorefront SWIFT_AVAILABILITY(maccatalyst,introduced=13.1) SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0);)
++ (RCStorefront * _Nullable)sk1CurrentStorefront SWIFT_WARN_UNUSED_RESULT;
+@end
+
enum RCSubscriptionPeriodUnit : NSInteger;
/// The duration of time between subscription renewals.
@@ -4564,6 +5283,7 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCSubscriptionPeriodUnit, "Unit", open) {
+
@interface RCSubscriptionPeriod (SWIFT_EXTENSION(RevenueCat))
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
@end
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Info.plist b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Info.plist
index ac96273..ffe96db 100644
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Info.plist and b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Info.plist differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo
index a3a9393..fdd0adb 100644
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo and b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/Project/x86_64.swiftsourceinfo b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/Project/x86_64.swiftsourceinfo
deleted file mode 100644
index a3a9393..0000000
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/Project/x86_64.swiftsourceinfo and /dev/null differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftdoc b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftdoc
index 018153a..deccfb7 100644
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftdoc and b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftdoc differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftinterface b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftinterface
index 1e3745f..f1267ca 100644
--- a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftinterface
+++ b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftinterface
@@ -1,5 +1,5 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.5.2 (swiftlang-1300.0.47.5 clang-1300.0.29.30)
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
// swift-module-flags: -target arm64-apple-ios11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name RevenueCat
import Foundation
@_exported import RevenueCat
@@ -47,6 +47,7 @@ extension RevenueCat.Offering : Swift.Identifiable {
}
public typealias ID = Swift.String
}
+infix operator ??? : DefaultPrecedence
@_hasMissingDesignatedInitializers @objc(RCOfferings) public class Offerings : ObjectiveC.NSObject {
@objc final public let all: [Swift.String : RevenueCat.Offering]
@objc public var current: RevenueCat.Offering? {
@@ -61,6 +62,74 @@ extension RevenueCat.Offering : Swift.Identifiable {
}
@objc deinit
}
+@_hasMissingDesignatedInitializers @objc(RCStorefront) public class Storefront : ObjectiveC.NSObject {
+ @objc public var countryCode: Swift.String {
+ @objc get
+ }
+ @objc public var identifier: Swift.String {
+ @objc get
+ }
+ @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
+ @objc override dynamic public var hash: Swift.Int {
+ @objc get
+ }
+ @objc override dynamic public var description: Swift.String {
+ @objc get
+ }
+ @objc deinit
+}
+extension RevenueCat.Storefront {
+
+ #if compiler(>=5.3) && $EffectfulProp
+ @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, macCatalyst 13.1, *)
+ public static var currentStorefront: RevenueCat.Storefront? {
+ get async
+ }
+ #endif
+
+ @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, macCatalyst 13.1, *)
+ @available(swift, obsoleted: 0.0.1, renamed: "currentStorefront")
+ @objc public static var sk1CurrentStorefront: RevenueCat.Storefront? {
+ @objc get
+ }
+}
+extension RevenueCat.Storefront {
+ @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, macCatalyst 13.1, *)
+ @objc dynamic public var sk1Storefront: StoreKit.SKStorefront? {
+ @objc get
+ }
+ @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
+ public var sk2Storefront: StoreKit.Storefront? {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers @objc(RCAttribution) public class Attribution : ObjectiveC.NSObject {
+ @objc deinit
+}
+extension RevenueCat.Attribution {
+ @objc dynamic public func collectDeviceIdentifiers()
+ @objc dynamic public func setAttributes(_ attributes: [Swift.String : Swift.String])
+ @objc dynamic public func setEmail(_ email: Swift.String?)
+ @objc dynamic public func setPhoneNumber(_ phoneNumber: Swift.String?)
+ @objc dynamic public func setDisplayName(_ displayName: Swift.String?)
+ @objc dynamic public func setPushToken(_ pushToken: Foundation.Data?)
+ @objc dynamic public func setPushTokenString(_ pushToken: Swift.String?)
+ @objc dynamic public func setAdjustID(_ adjustID: Swift.String?)
+ @objc dynamic public func setAppsflyerID(_ appsflyerID: Swift.String?)
+ @objc dynamic public func setFBAnonymousID(_ fbAnonymousID: Swift.String?)
+ @objc dynamic public func setMparticleID(_ mparticleID: Swift.String?)
+ @objc dynamic public func setOnesignalID(_ onesignalID: Swift.String?)
+ @objc dynamic public func setAirshipChannelID(_ airshipChannelID: Swift.String?)
+ @objc dynamic public func setCleverTapID(_ cleverTapID: Swift.String?)
+ @objc dynamic public func setMixpanelDistinctID(_ mixpanelDistinctID: Swift.String?)
+ @objc dynamic public func setFirebaseAppInstanceID(_ firebaseAppInstanceID: Swift.String?)
+ @objc dynamic public func setMediaSource(_ mediaSource: Swift.String?)
+ @objc dynamic public func setCampaign(_ campaign: Swift.String?)
+ @objc dynamic public func setAdGroup(_ adGroup: Swift.String?)
+ @objc dynamic public func setAd(_ installAd: Swift.String?)
+ @objc dynamic public func setKeyword(_ keyword: Swift.String?)
+ @objc dynamic public func setCreative(_ creative: Swift.String?)
+}
extension RevenueCat.StoreProduct {
@objc(RCStoreProductCategory) public enum ProductCategory : Swift.Int {
case subscription
@@ -263,6 +332,12 @@ extension RevenueCat.Purchases {
public func paymentDiscount(for discount: StoreKit.SKProductDiscount, product: StoreKit.SKProduct) async throws -> StoreKit.SKPaymentDiscount
#endif
+ @available(iOS, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @available(tvOS, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @available(watchOS, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @available(macOS, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @available(macCatalyst, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @objc dynamic public func shouldPurchasePromoProduct(_ product: RevenueCat.StoreProduct, defermentBlock: @escaping RevenueCat.StartPurchaseBlock)
@available(iOS, obsoleted: 1, renamed: "logIn")
@available(tvOS, obsoleted: 1, renamed: "logIn")
@available(watchOS, obsoleted: 1, renamed: "logIn")
@@ -279,6 +354,11 @@ extension RevenueCat.Purchases {
@available(macOS, obsoleted: 1, renamed: "logOut")
@objc(resetWithCompletionBlock:) dynamic public func reset(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
}
+@available(iOS, obsoleted: 1, renamed: "StartPurchaseBlock")
+@available(tvOS, obsoleted: 1, renamed: "StartPurchaseBlock")
+@available(watchOS, obsoleted: 1, renamed: "StartPurchaseBlock")
+@available(macOS, obsoleted: 1, renamed: "StartPurchaseBlock")
+public typealias DeferredPromotionalPurchaseBlock = RevenueCat.StartPurchaseBlock
@_inheritsConvenienceInitializers @available(iOS, obsoleted: 1, renamed: "CustomerInfo")
@available(tvOS, obsoleted: 1, renamed: "CustomerInfo")
@available(watchOS, obsoleted: 1, renamed: "CustomerInfo")
@@ -472,7 +552,24 @@ extension RevenueCat.Purchases {
}
}
@_hasMissingDesignatedInitializers @objc(RCPromotionalOffer) final public class PromotionalOffer : ObjectiveC.NSObject {
- final public let discount: RevenueCat.StoreProductDiscount
+ @objc final public let discount: RevenueCat.StoreProductDiscount
+ @objc final public let signedData: RevenueCat.PromotionalOffer.SignedData
+ @objc deinit
+}
+@objc extension RevenueCat.PromotionalOffer {
+ @_hasMissingDesignatedInitializers @objc(RCPromotionalOfferSignedData) public class SignedData : ObjectiveC.NSObject {
+ @objc final public let identifier: Swift.String
+ @objc final public let keyIdentifier: Swift.String
+ @objc final public let nonce: Foundation.UUID
+ @objc final public let signature: Swift.String
+ @objc final public let timestamp: Swift.Int
+ @objc deinit
+ }
+}
+@_hasMissingDesignatedInitializers @objc(RCNonSubscriptionTransaction) final public class NonSubscriptionTransaction : ObjectiveC.NSObject {
+ @objc final public let productIdentifier: Swift.String
+ @objc final public let purchaseDate: Foundation.Date
+ @objc final public let transactionIdentifier: Swift.String
@objc deinit
}
extension RevenueCat.Purchases {
@@ -492,6 +589,217 @@ extension RevenueCat.Purchases {
public func checkTrialOrIntroDiscountEligibility(_ productIdentifiers: [Swift.String]) async -> [Swift.String : RevenueCat.IntroEligibility]
#endif
+
+ #if compiler(>=5.3) && $AsyncAwait
+ @available(iOS, deprecated, introduced: 13.0, renamed: "promotionalOffer(forProductDiscount:product:)")
+ @available(tvOS, deprecated, introduced: 13.0, renamed: "promotionalOffer(forProductDiscount:product:)")
+ @available(watchOS, deprecated, introduced: 6.2, renamed: "promotionalOffer(forProductDiscount:product:)")
+ @available(macOS, deprecated, introduced: 10.15, renamed: "promotionalOffer(forProductDiscount:product:)")
+ @available(macCatalyst, deprecated, introduced: 13.0, renamed: "promotionalOffer(forProductDiscount:product:)")
+ public func getPromotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct) async throws -> RevenueCat.PromotionalOffer
+ #endif
+
+
+ #if compiler(>=5.3) && $AsyncAwait
+ @available(iOS, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers(forProduct:)")
+ @available(tvOS, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers(forProduct:)")
+ @available(watchOS, deprecated, introduced: 6.2, renamed: "eligiblePromotionalOffers(forProduct:)")
+ @available(macOS, deprecated, introduced: 10.15, renamed: "eligiblePromotionalOffers(forProduct:)")
+ @available(macCatalyst, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers(forProduct:)")
+ public func getEligiblePromotionalOffers(forProduct product: RevenueCat.StoreProduct) async -> [RevenueCat.PromotionalOffer]
+ #endif
+
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?) -> RevenueCat.Purchases
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:observerMode:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool) -> RevenueCat.Purchases
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?) -> RevenueCat.Purchases
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool) -> RevenueCat.Purchases
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:dangerousSettings:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool, dangerousSettings: RevenueCat.DangerousSettings?) -> RevenueCat.Purchases
+}
+extension RevenueCat.Purchases {
+ @available(iOS, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @available(tvOS, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @available(watchOS, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @available(macOS, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @available(macCatalyst, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @objc dynamic public func collectDeviceIdentifiers()
+ @available(iOS, deprecated, renamed: "attribution.setAttributes(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAttributes(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAttributes(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAttributes(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAttributes(_:)")
+ @objc dynamic public func setAttributes(_ attributes: [Swift.String : Swift.String])
+ @available(iOS, deprecated, renamed: "attribution.setEmail(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setEmail(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setEmail(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setEmail(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setEmail(_:)")
+ @objc dynamic public func setEmail(_ email: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @objc dynamic public func setPhoneNumber(_ phoneNumber: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @objc dynamic public func setDisplayName(_ displayName: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setPushToken(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setPushToken(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setPushToken(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setPushToken(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setPushToken(_:)")
+ @objc dynamic public func setPushToken(_ pushToken: Foundation.Data?)
+ @available(iOS, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @objc dynamic public func setPushTokenString(_ pushToken: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @objc dynamic public func setAdjustID(_ adjustID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @objc dynamic public func setAppsflyerID(_ appsflyerID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @objc dynamic public func setFBAnonymousID(_ fbAnonymousID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @objc dynamic public func setMparticleID(_ mparticleID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @objc dynamic public func setOnesignalID(_ onesignalID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @objc dynamic public func setAirshipChannelID(_ airshipChannelID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @objc dynamic public func setCleverTapID(_ cleverTapID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @objc dynamic public func setMixpanelDistinctID(_ mixpanelDistinctID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @objc dynamic public func setFirebaseAppInstanceID(_ firebaseAppInstanceID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @objc dynamic public func setMediaSource(_ mediaSource: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setCampaign(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setCampaign(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setCampaign(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setCampaign(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setCampaign(_:)")
+ @objc dynamic public func setCampaign(_ campaign: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @objc dynamic public func setAdGroup(_ adGroup: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAd(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAd(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAd(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAd(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAd(_:)")
+ @objc dynamic public func setAd(_ installAd: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setKeyword(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setKeyword(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setKeyword(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setKeyword(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setKeyword(_:)")
+ @objc dynamic public func setKeyword(_ keyword: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setCreative(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setCreative(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setCreative(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setCreative(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setCreative(_:)")
+ @objc dynamic public func setCreative(_ creative: Swift.String?)
+}
+extension RevenueCat.StoreProduct {
+
+ #if compiler(>=5.3) && $AsyncAwait
+ @available(iOS, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers()")
+ @available(tvOS, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers()")
+ @available(watchOS, deprecated, introduced: 6.2, renamed: "eligiblePromotionalOffers()")
+ @available(macOS, deprecated, introduced: 10.15, renamed: "eligiblePromotionalOffers()")
+ @available(macCatalyst, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers()")
+ final public func getEligiblePromotionalOffers() async -> [RevenueCat.PromotionalOffer]
+ #endif
+
+}
+extension RevenueCat.CustomerInfo {
+ @available(*, deprecated, message: "use nonSubscriptionTransactions")
+ @objc final public var nonConsumablePurchases: Swift.Set {
+ @objc get
+ }
+ @available(*, deprecated, renamed: "nonSubscriptions")
+ @objc final public var nonSubscriptionTransactions: [RevenueCat.StoreTransaction] {
+ @objc get
+ }
}
@objc(RCPurchasesErrorCode) public enum ErrorCode : Swift.Int, Swift.Error {
@objc(RCUnknownError) case unknownError = 0
@@ -521,7 +829,6 @@ extension RevenueCat.Purchases {
@objc(RCUnsupportedError) case unsupportedError = 24
@objc(RCEmptySubscriberAttributesError) case emptySubscriberAttributes = 25
@objc(RCProductDiscountMissingIdentifierError) case productDiscountMissingIdentifierError = 26
- @objc(RCMissingAppUserIDForAliasCreationError) case missingAppUserIDForAliasCreationError = 27
@objc(RCProductDiscountMissingSubscriptionGroupIdentifierError) case productDiscountMissingSubscriptionGroupIdentifierError = 28
@objc(RCCustomerInfoError) case customerInfoError = 29
@objc(RCSystemInfoError) case systemInfoError = 30
@@ -529,6 +836,7 @@ extension RevenueCat.Purchases {
@objc(RCProductRequestTimedOut) case productRequestTimedOut = 32
@objc(RCAPIEndpointBlocked) case apiEndpointBlockedError = 33
@objc(RCInvalidPromotionalOfferError) case invalidPromotionalOfferError = 34
+ @objc(RCOfflineConnectionError) case offlineConnectionError = 35
public init?(rawValue: Swift.Int)
public typealias RawValue = Swift.Int
public static var _nsErrorDomain: Swift.String {
@@ -577,45 +885,47 @@ extension RevenueCat.Purchases {
@objc public init(autoSyncPurchases: Swift.Bool)
@objc deinit
}
-@_hasMissingDesignatedInitializers @objc(RCCustomerInfo) public class CustomerInfo : ObjectiveC.NSObject {
+@_hasMissingDesignatedInitializers @objc(RCCustomerInfo) final public class CustomerInfo : ObjectiveC.NSObject {
@objc final public let entitlements: RevenueCat.EntitlementInfos
- @objc public var activeSubscriptions: Swift.Set {
- @objc get
- }
- @objc public var allPurchasedProductIdentifiers: Swift.Set {
+ @objc final public var activeSubscriptions: Swift.Set {
@objc get
}
- @objc public var latestExpirationDate: Foundation.Date? {
+ @objc final public var allPurchasedProductIdentifiers: Swift.Set {
@objc get
}
- @available(*, deprecated, message: "use nonSubscriptionTransactions")
- @objc public var nonConsumablePurchases: Swift.Set {
+ @objc final public var latestExpirationDate: Foundation.Date? {
@objc get
}
- @objc final public let nonSubscriptionTransactions: [RevenueCat.StoreTransaction]
+ @objc final public let nonSubscriptions: [RevenueCat.NonSubscriptionTransaction]
@objc final public let requestDate: Foundation.Date
@objc final public let firstSeen: Foundation.Date
@objc final public let originalAppUserId: Swift.String
@objc final public let managementURL: Foundation.URL?
@objc final public let originalPurchaseDate: Foundation.Date?
@objc final public let originalApplicationVersion: Swift.String?
- @objc final public let rawData: [Swift.String : Any]
- @objc public func expirationDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
- @objc public func purchaseDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
- @objc public func expirationDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
- @objc public func purchaseDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
+ @objc final public func expirationDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
+ @objc final public func purchaseDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
+ @objc final public func expirationDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
+ @objc final public func purchaseDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
+ @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
+ @objc override final public var hash: Swift.Int {
@objc get
}
- @objc override dynamic public var description: Swift.String {
+ @objc override final public var description: Swift.String {
@objc get
}
@objc deinit
}
extension RevenueCat.CustomerInfo : RevenueCat.RawDataContainer {
+ @objc final public var rawData: [Swift.String : Any] {
+ @objc get
+ }
public typealias Content = [Swift.String : Any]
}
+extension RevenueCat.CustomerInfo : Swift.Codable {
+ convenience public init(from decoder: Swift.Decoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
+}
@objc(RCStore) public enum Store : Swift.Int {
@objc(RCAppStore) case appStore = 0
@objc(RCMacAppStore) case macAppStore = 1
@@ -623,6 +933,7 @@ extension RevenueCat.CustomerInfo : RevenueCat.RawDataContainer {
@objc(RCStripe) case stripe = 3
@objc(RCPromotional) case promotional = 4
@objc(RCUnknownStore) case unknownStore = 5
+ @objc(RCAmazon) case amazon = 6
public init?(rawValue: Swift.Int)
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
@@ -652,19 +963,45 @@ extension RevenueCat.PeriodType : Swift.CaseIterable {
}
}
@_hasMissingDesignatedInitializers @objc(RCEntitlementInfo) public class EntitlementInfo : ObjectiveC.NSObject {
- @objc final public let identifier: Swift.String
- @objc final public let isActive: Swift.Bool
- @objc final public let willRenew: Swift.Bool
- @objc final public let periodType: RevenueCat.PeriodType
- @objc final public let latestPurchaseDate: Foundation.Date?
- @objc final public let originalPurchaseDate: Foundation.Date?
- @objc final public let expirationDate: Foundation.Date?
- @objc final public let store: RevenueCat.Store
- @objc final public let productIdentifier: Swift.String
- @objc final public let isSandbox: Swift.Bool
- @objc final public let unsubscribeDetectedAt: Foundation.Date?
- @objc final public let billingIssueDetectedAt: Foundation.Date?
- @objc final public let ownershipType: RevenueCat.PurchaseOwnershipType
+ @objc public var identifier: Swift.String {
+ @objc get
+ }
+ @objc public var isActive: Swift.Bool {
+ @objc get
+ }
+ @objc public var willRenew: Swift.Bool {
+ @objc get
+ }
+ @objc public var periodType: RevenueCat.PeriodType {
+ @objc get
+ }
+ @objc public var latestPurchaseDate: Foundation.Date? {
+ @objc get
+ }
+ @objc public var originalPurchaseDate: Foundation.Date? {
+ @objc get
+ }
+ @objc public var expirationDate: Foundation.Date? {
+ @objc get
+ }
+ @objc public var store: RevenueCat.Store {
+ @objc get
+ }
+ @objc public var productIdentifier: Swift.String {
+ @objc get
+ }
+ @objc public var isSandbox: Swift.Bool {
+ @objc get
+ }
+ @objc public var unsubscribeDetectedAt: Foundation.Date? {
+ @objc get
+ }
+ @objc public var billingIssueDetectedAt: Foundation.Date? {
+ @objc get
+ }
+ @objc public var ownershipType: RevenueCat.PurchaseOwnershipType {
+ @objc get
+ }
@objc final public let rawData: [Swift.String : Any]
@objc override dynamic public var description: Swift.String {
@objc get
@@ -678,6 +1015,14 @@ extension RevenueCat.PeriodType : Swift.CaseIterable {
extension RevenueCat.EntitlementInfo : RevenueCat.RawDataContainer {
public typealias Content = [Swift.String : Any]
}
+extension RevenueCat.EntitlementInfo {
+ @objc dynamic public var isActiveInCurrentEnvironment: Swift.Bool {
+ @objc get
+ }
+ @objc dynamic public var isActiveInAnyEnvironment: Swift.Bool {
+ @objc get
+ }
+}
extension RevenueCat.EntitlementInfo : Swift.Identifiable {
public var id: Swift.String {
get
@@ -697,6 +1042,25 @@ extension RevenueCat.EntitlementInfo : Swift.Identifiable {
}
public typealias VerboseLogHandler = (_ level: RevenueCat.LogLevel, _ message: Swift.String, _ file: Swift.String?, _ function: Swift.String?, _ line: Swift.UInt) -> Swift.Void
public typealias LogHandler = (_ level: RevenueCat.LogLevel, _ message: Swift.String) -> Swift.Void
+@objc(RCPackageType) public enum PackageType : Swift.Int {
+ case unknown = -2, custom, lifetime, annual, sixMonth, threeMonth, twoMonth, monthly, weekly
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+extension RevenueCat.PackageType : Swift.CaseIterable {
+ public typealias AllCases = [RevenueCat.PackageType]
+ public static var allCases: [RevenueCat.PackageType] {
+ get
+ }
+}
+extension RevenueCat.PackageType : Swift.CustomDebugStringConvertible {
+ public var debugDescription: Swift.String {
+ get
+ }
+}
public typealias SK1Transaction = StoreKit.SKPaymentTransaction
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
public typealias SK2Transaction = StoreKit.Transaction
@@ -740,7 +1104,7 @@ public protocol RawDataContainer {
}
public typealias PurchaseResultData = (transaction: RevenueCat.StoreTransaction?, customerInfo: RevenueCat.CustomerInfo, userCancelled: Swift.Bool)
public typealias PurchaseCompletedBlock = (RevenueCat.StoreTransaction?, RevenueCat.CustomerInfo?, Swift.Error?, Swift.Bool) -> Swift.Void
-public typealias DeferredPromotionalPurchaseBlock = (@escaping RevenueCat.PurchaseCompletedBlock) -> Swift.Void
+public typealias StartPurchaseBlock = (@escaping RevenueCat.PurchaseCompletedBlock) -> Swift.Void
@_hasMissingDesignatedInitializers @objc(RCPurchases) public class Purchases : ObjectiveC.NSObject {
@objc(sharedPurchases) public static var shared: RevenueCat.Purchases {
@objc get
@@ -786,33 +1150,13 @@ public typealias DeferredPromotionalPurchaseBlock = (@escaping RevenueCat.Purcha
@objc public static var frameworkVersion: Swift.String {
@objc get
}
+ @objc final public let attribution: RevenueCat.Attribution
@objc public var finishTransactions: Swift.Bool {
@objc get
@objc set
}
- @objc public func collectDeviceIdentifiers()
@objc deinit
}
-extension RevenueCat.Purchases {
- @objc dynamic public func setAttributes(_ attributes: [Swift.String : Swift.String])
- @objc dynamic public func setEmail(_ email: Swift.String?)
- @objc dynamic public func setPhoneNumber(_ phoneNumber: Swift.String?)
- @objc dynamic public func setDisplayName(_ displayName: Swift.String?)
- @objc dynamic public func setPushToken(_ pushToken: Foundation.Data?)
- @objc dynamic public func setAdjustID(_ adjustID: Swift.String?)
- @objc dynamic public func setAppsflyerID(_ appsflyerID: Swift.String?)
- @objc dynamic public func setFBAnonymousID(_ fbAnonymousID: Swift.String?)
- @objc dynamic public func setMparticleID(_ mparticleID: Swift.String?)
- @objc dynamic public func setOnesignalID(_ onesignalID: Swift.String?)
- @objc dynamic public func setAirshipChannelID(_ airshipChannelID: Swift.String?)
- @objc dynamic public func setCleverTapID(_ cleverTapID: Swift.String?)
- @objc dynamic public func setMediaSource(_ mediaSource: Swift.String?)
- @objc dynamic public func setCampaign(_ campaign: Swift.String?)
- @objc dynamic public func setAdGroup(_ adGroup: Swift.String?)
- @objc dynamic public func setAd(_ installAd: Swift.String?)
- @objc dynamic public func setKeyword(_ keyword: Swift.String?)
- @objc dynamic public func setCreative(_ creative: Swift.String?)
-}
extension RevenueCat.Purchases {
@objc dynamic public var appUserID: Swift.String {
@objc get
@@ -844,10 +1188,11 @@ extension RevenueCat.Purchases {
}
extension RevenueCat.Purchases {
@objc dynamic public func getCustomerInfo(completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
+ @objc dynamic public func getCustomerInfo(fetchPolicy: RevenueCat.CacheFetchPolicy, completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
#if compiler(>=5.3) && $AsyncAwait
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func customerInfo() async throws -> RevenueCat.CustomerInfo
+ public func customerInfo(fetchPolicy: RevenueCat.CacheFetchPolicy = .default) async throws -> RevenueCat.CustomerInfo
#endif
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
@@ -919,6 +1264,8 @@ extension RevenueCat.Purchases {
public func checkTrialOrIntroDiscountEligibility(product: RevenueCat.StoreProduct) async -> RevenueCat.IntroEligibilityStatus
#endif
+ @available(iOS 13.4, macCatalyst 13.4, *)
+ @objc dynamic public func showPriceConsentIfNeeded()
@objc dynamic public func invalidateCustomerInfoCache()
@available(iOS 14.0, *)
@available(watchOS, unavailable)
@@ -931,13 +1278,13 @@ extension RevenueCat.Purchases {
#if compiler(>=5.3) && $AsyncAwait
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func getPromotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct) async throws -> RevenueCat.PromotionalOffer
+ public func promotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct) async throws -> RevenueCat.PromotionalOffer
#endif
#if compiler(>=5.3) && $AsyncAwait
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func getEligiblePromotionalOffers(forProduct product: RevenueCat.StoreProduct) async -> [RevenueCat.PromotionalOffer]
+ public func eligiblePromotionalOffers(forProduct product: RevenueCat.StoreProduct) async -> [RevenueCat.PromotionalOffer]
#endif
@available(iOS 13.0, macOS 10.15, *)
@@ -982,20 +1329,11 @@ extension RevenueCat.Purchases {
}
extension RevenueCat.Purchases {
@discardableResult
- @objc(configureWithAPIKey:) public static func configure(withAPIKey apiKey: Swift.String) -> RevenueCat.Purchases
+ @objc(configureWithConfiguration:) public static func configure(with configuration: RevenueCat.Configuration) -> RevenueCat.Purchases
@discardableResult
- @objc(configureWithAPIKey:appUserID:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool) -> RevenueCat.Purchases
+ @objc(configureWithConfigurationBuilder:) public static func configure(with builder: RevenueCat.Configuration.Builder) -> RevenueCat.Purchases
@discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:dangerousSettings:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool, dangerousSettings: RevenueCat.DangerousSettings?) -> RevenueCat.Purchases
-}
-extension RevenueCat.Purchases {
- @objc dynamic public func shouldPurchasePromoProduct(_ product: RevenueCat.StoreProduct, defermentBlock: @escaping RevenueCat.DeferredPromotionalPurchaseBlock)
+ @objc(configureWithAPIKey:) public static func configure(withAPIKey apiKey: Swift.String) -> RevenueCat.Purchases
}
extension RevenueCat.Purchases {
@available(*, deprecated, message: "use Purchases.logLevel instead")
@@ -1077,17 +1415,23 @@ extension RevenueCat.PurchaseOwnershipType : Swift.CaseIterable {
extension RevenueCat.PurchaseOwnershipType : Swift.Decodable {
public init(from decoder: Swift.Decoder) throws
}
+extension RevenueCat.PurchaseOwnershipType : Swift.Encodable {
+ public func encode(to encoder: Swift.Encoder) throws
+}
extension RevenueCat.PeriodType : Swift.Decodable {
public init(from decoder: Swift.Decoder) throws
}
+extension RevenueCat.PeriodType : Swift.Encodable {
+ public func encode(to encoder: Swift.Encoder) throws
+}
extension RevenueCat.Store : Swift.Decodable {
public init(from decoder: Swift.Decoder) throws
}
+extension RevenueCat.Store : Swift.Encodable {
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers @objc(RCEntitlementInfos) public class EntitlementInfos : ObjectiveC.NSObject {
@objc final public let all: [Swift.String : RevenueCat.EntitlementInfo]
- @objc public var active: [Swift.String : RevenueCat.EntitlementInfo] {
- @objc get
- }
@objc public subscript(key: Swift.String) -> RevenueCat.EntitlementInfo? {
@objc get
}
@@ -1097,12 +1441,15 @@ extension RevenueCat.Store : Swift.Decodable {
@objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
@objc deinit
}
-@objc(RCPackageType) public enum PackageType : Swift.Int {
- case unknown = -2, custom, lifetime, annual, sixMonth, threeMonth, twoMonth, monthly, weekly
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
+extension RevenueCat.EntitlementInfos {
+ @objc dynamic public var active: [Swift.String : RevenueCat.EntitlementInfo] {
+ @objc get
+ }
+ @objc dynamic public var activeInCurrentEnvironment: [Swift.String : RevenueCat.EntitlementInfo] {
+ @objc get
+ }
+ @objc dynamic public var activeInAnyEnvironment: [Swift.String : RevenueCat.EntitlementInfo] {
+ @objc get
}
}
@_hasMissingDesignatedInitializers @objc(RCPackage) public class Package : ObjectiveC.NSObject {
@@ -1124,7 +1471,7 @@ extension RevenueCat.Store : Swift.Decodable {
}
@objc extension RevenueCat.Package {
@objc public static func string(from packageType: RevenueCat.PackageType) -> Swift.String?
- @objc dynamic public class func packageType(from string: Swift.String) -> RevenueCat.PackageType
+ @objc public static func packageType(from string: Swift.String) -> RevenueCat.PackageType
}
extension RevenueCat.Package : Swift.Identifiable {
public var id: Swift.String {
@@ -1132,6 +1479,24 @@ extension RevenueCat.Package : Swift.Identifiable {
}
public typealias ID = Swift.String
}
+@_hasMissingDesignatedInitializers @objc(RCConfiguration) public class Configuration : ObjectiveC.NSObject {
+ @objc public static func builder(withAPIKey apiKey: Swift.String) -> RevenueCat.Configuration.Builder
+ @objc(RCConfigurationBuilder) public class Builder : ObjectiveC.NSObject {
+ @objc public init(withAPIKey apiKey: Swift.String)
+ @objc public func with(apiKey: Swift.String) -> RevenueCat.Configuration.Builder
+ @objc public func with(appUserID: Swift.String) -> RevenueCat.Configuration.Builder
+ @objc public func with(observerMode: Swift.Bool) -> RevenueCat.Configuration.Builder
+ @objc public func with(userDefaults: Foundation.UserDefaults) -> RevenueCat.Configuration.Builder
+ @objc public func with(usesStoreKit2IfAvailable: Swift.Bool) -> RevenueCat.Configuration.Builder
+ @objc public func with(dangerousSettings: RevenueCat.DangerousSettings) -> RevenueCat.Configuration.Builder
+ @objc public func with(networkTimeout: Foundation.TimeInterval) -> RevenueCat.Configuration.Builder
+ @objc public func with(storeKit1Timeout: Foundation.TimeInterval) -> RevenueCat.Configuration.Builder
+ @objc public func with(platformInfo: RevenueCat.Purchases.PlatformInfo) -> RevenueCat.Configuration.Builder
+ @objc public func build() -> RevenueCat.Configuration
+ @objc deinit
+ }
+ @objc deinit
+}
@objc(RCIntroEligibilityStatus) public enum IntroEligibilityStatus : Swift.Int {
case unknown = 0
case ineligible
@@ -1156,6 +1521,18 @@ extension RevenueCat.IntroEligibilityStatus : Swift.CaseIterable {
}
@objc deinit
}
+@objc(RCCacheFetchPolicy) public enum CacheFetchPolicy : Swift.Int {
+ case fromCacheOnly
+ case fetchCurrent
+ case notStaleCachedOrFetched
+ case cachedOrFetched
+ public static let `default`: RevenueCat.CacheFetchPolicy
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
@available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
public typealias SK1ProductDiscount = StoreKit.SKProductDiscount
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
@@ -1198,6 +1575,9 @@ public typealias SK2ProductDiscount = StoreKit.Product.SubscriptionOffer
@objc final public var subscriptionPeriod: RevenueCat.SubscriptionPeriod {
@objc get
}
+ @objc final public var numberOfPeriods: Swift.Int {
+ @objc get
+ }
@objc final public var type: RevenueCat.StoreProductDiscount.DiscountType {
@objc get
}
@@ -1250,7 +1630,18 @@ extension RevenueCat.StoreProductDiscount : Swift.Identifiable {
@available(watchOS, obsoleted: 1)
@objc(purchases:didReceiveUpdatedPurchaserInfo:) optional func purchases(_ purchases: RevenueCat.Purchases, didReceiveUpdated purchaserInfo: RevenueCat.CustomerInfo)
@objc(purchases:receivedUpdatedCustomerInfo:) optional func purchases(_ purchases: RevenueCat.Purchases, receivedUpdated customerInfo: RevenueCat.CustomerInfo)
- @objc optional func purchases(_ purchases: RevenueCat.Purchases, shouldPurchasePromoProduct product: RevenueCat.StoreProduct, defermentBlock makeDeferredPurchase: @escaping RevenueCat.DeferredPromotionalPurchaseBlock)
+ @objc optional func purchases(_ purchases: RevenueCat.Purchases, readyForPromotedProduct product: RevenueCat.StoreProduct, purchase startPurchase: @escaping RevenueCat.StartPurchaseBlock)
+ @available(iOS, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @available(tvOS, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @available(watchOS, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @available(macOS, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @available(macCatalyst, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @objc optional func purchases(_ purchases: RevenueCat.Purchases, shouldPurchasePromoProduct product: RevenueCat.StoreProduct, defermentBlock makeDeferredPurchase: @escaping RevenueCat.StartPurchaseBlock)
+ @available(iOS 13.4, macCatalyst 13.4, *)
+ @available(macOS, unavailable)
+ @available(tvOS, unavailable)
+ @available(watchOS, unavailable)
+ @objc optional var shouldShowPriceConsent: Swift.Bool { get }
}
@objc(RCAttributionNetwork) public enum AttributionNetwork : Swift.Int {
case appleSearchAds
@@ -1342,7 +1733,7 @@ extension RevenueCat.StoreProduct {
extension RevenueCat.StoreProduct {
#if compiler(>=5.3) && $AsyncAwait
- final public func getEligiblePromotionalOffers() async -> [RevenueCat.PromotionalOffer]
+ final public func eligiblePromotionalOffers() async -> [RevenueCat.PromotionalOffer]
#endif
}
@@ -1399,18 +1790,21 @@ extension RevenueCat.PeriodType : Swift.RawRepresentable {}
extension RevenueCat.LogLevel : Swift.Equatable {}
extension RevenueCat.LogLevel : Swift.Hashable {}
extension RevenueCat.LogLevel : Swift.RawRepresentable {}
+extension RevenueCat.PackageType : Swift.Equatable {}
+extension RevenueCat.PackageType : Swift.Hashable {}
+extension RevenueCat.PackageType : Swift.RawRepresentable {}
extension RevenueCat.SubscriptionPeriod.Unit : Swift.Equatable {}
extension RevenueCat.SubscriptionPeriod.Unit : Swift.Hashable {}
extension RevenueCat.SubscriptionPeriod.Unit : Swift.RawRepresentable {}
extension RevenueCat.PurchaseOwnershipType : Swift.Equatable {}
extension RevenueCat.PurchaseOwnershipType : Swift.Hashable {}
extension RevenueCat.PurchaseOwnershipType : Swift.RawRepresentable {}
-extension RevenueCat.PackageType : Swift.Equatable {}
-extension RevenueCat.PackageType : Swift.Hashable {}
-extension RevenueCat.PackageType : Swift.RawRepresentable {}
extension RevenueCat.IntroEligibilityStatus : Swift.Equatable {}
extension RevenueCat.IntroEligibilityStatus : Swift.Hashable {}
extension RevenueCat.IntroEligibilityStatus : Swift.RawRepresentable {}
+extension RevenueCat.CacheFetchPolicy : Swift.Equatable {}
+extension RevenueCat.CacheFetchPolicy : Swift.Hashable {}
+extension RevenueCat.CacheFetchPolicy : Swift.RawRepresentable {}
extension RevenueCat.StoreProductDiscount.DiscountType : Swift.Equatable {}
extension RevenueCat.StoreProductDiscount.DiscountType : Swift.Hashable {}
extension RevenueCat.StoreProductDiscount.DiscountType : Swift.RawRepresentable {}
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftmodule b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftmodule
index 20389fa..d7265b1 100644
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftmodule and b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64-apple-ios.swiftmodule differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftdoc b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftdoc
deleted file mode 100644
index 018153a..0000000
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftdoc and /dev/null differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftinterface b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftinterface
deleted file mode 100644
index 1e3745f..0000000
--- a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftinterface
+++ /dev/null
@@ -1,1419 +0,0 @@
-// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.5.2 (swiftlang-1300.0.47.5 clang-1300.0.29.30)
-// swift-module-flags: -target arm64-apple-ios11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name RevenueCat
-import Foundation
-@_exported import RevenueCat
-import StoreKit
-import Swift
-import UIKit
-import _Concurrency
-@_hasMissingDesignatedInitializers @objc(RCOffering) public class Offering : ObjectiveC.NSObject {
- @objc final public let identifier: Swift.String
- @objc final public let serverDescription: Swift.String
- @objc final public let availablePackages: [RevenueCat.Package]
- @objc public var lifetime: RevenueCat.Package? {
- get
- }
- @objc public var annual: RevenueCat.Package? {
- get
- }
- @objc public var sixMonth: RevenueCat.Package? {
- get
- }
- @objc public var threeMonth: RevenueCat.Package? {
- get
- }
- @objc public var twoMonth: RevenueCat.Package? {
- get
- }
- @objc public var monthly: RevenueCat.Package? {
- get
- }
- @objc public var weekly: RevenueCat.Package? {
- get
- }
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc public func package(identifier: Swift.String?) -> RevenueCat.Package?
- @objc public subscript(key: Swift.String) -> RevenueCat.Package? {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.Offering : Swift.Identifiable {
- public var id: Swift.String {
- get
- }
- public typealias ID = Swift.String
-}
-@_hasMissingDesignatedInitializers @objc(RCOfferings) public class Offerings : ObjectiveC.NSObject {
- @objc final public let all: [Swift.String : RevenueCat.Offering]
- @objc public var current: RevenueCat.Offering? {
- @objc get
- }
- @objc public func offering(identifier: Swift.String?) -> RevenueCat.Offering?
- @objc public subscript(key: Swift.String) -> RevenueCat.Offering? {
- @objc get
- }
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.StoreProduct {
- @objc(RCStoreProductCategory) public enum ProductCategory : Swift.Int {
- case subscription
- case nonSubscription
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
- @objc(RCStoreProductType) public enum ProductType : Swift.Int {
- case consumable
- case nonConsumable
- case nonRenewableSubscription
- case autoRenewableSubscription
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
-}
-extension RevenueCat.Purchases {
- @available(iOS, obsoleted: 1, renamed: "restorePurchases(completion:)")
- @available(tvOS, obsoleted: 1, renamed: "restorePurchases(completion:)")
- @available(watchOS, obsoleted: 1, renamed: "restorePurchases(completion:)")
- @available(macOS, obsoleted: 1, renamed: "restorePurchases(completion:)")
- @objc(restoreTransactionsWithCompletionBlock:) dynamic public func restoreTransactions(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)? = nil)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "restorePurchases()")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "restorePurchases()")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "restorePurchases()")
- @available(macOS, unavailable, introduced: 10.15, renamed: "restorePurchases()")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "restorePurchases()")
- public func restoreTransactions() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @available(iOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(tvOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(watchOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(macOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @objc dynamic public func customerInfo(completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
- @available(iOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(tvOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(watchOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(macOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @objc(purchaserInfoWithCompletionBlock:) dynamic public func purchaserInfo(completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "customerInfo()")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "customerInfo()")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "customerInfo()")
- @available(macOS, unavailable, introduced: 10.15, renamed: "customerInfo()")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "customerInfo()")
- public func purchaserInfo() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @available(iOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
- @available(tvOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
- @available(watchOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
- @available(macOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
- @objc(productsWithIdentifiers:completionBlock:) dynamic public func products(_ productIdentifiers: [Swift.String], completion: @escaping ([StoreKit.SKProduct]) -> Swift.Void)
- @available(iOS, obsoleted: 1, renamed: "getOfferings(completion:)")
- @available(tvOS, obsoleted: 1, renamed: "getOfferings(completion:)")
- @available(watchOS, obsoleted: 1, renamed: "getOfferings(completion:)")
- @available(macOS, obsoleted: 1, renamed: "getOfferings(completion:)")
- @objc(offeringsWithCompletionBlock:) dynamic public func offerings(completion: @escaping (RevenueCat.Offerings?, Swift.Error?) -> Swift.Void)
- @available(iOS, obsoleted: 1, renamed: "purchase(package:completion:)")
- @available(tvOS, obsoleted: 1, renamed: "purchase(package:completion:)")
- @available(watchOS, obsoleted: 1, renamed: "purchase(package:completion:)")
- @available(macOS, obsoleted: 1, renamed: "purchase(package:completion:)")
- @objc(purchasePackage:withCompletionBlock:) dynamic public func purchasePackage(_ package: RevenueCat.Package, _ completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(package:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(package:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(package:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:)")
- public func purchasePackage(_ package: RevenueCat.Package) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:completion:)")
- @objc(purchasePackage:withDiscount:completionBlock:) dynamic public func purchasePackage(_ package: RevenueCat.Package, discount: StoreKit.SKPaymentDiscount, _ completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(package:promotionalOffer:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- public func purchasePackage(_ package: RevenueCat.Package, discount: StoreKit.SKPaymentDiscount) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS, obsoleted: 1, renamed: "purchase(product:_:)")
- @available(tvOS, obsoleted: 1, renamed: "purchase(product:_:)")
- @available(watchOS, obsoleted: 1, renamed: "purchase(product:_:)")
- @available(macOS, obsoleted: 1, renamed: "purchase(product:_:)")
- @objc(purchaseProduct:withCompletionBlock:) dynamic public func purchaseProduct(_ product: StoreKit.SKProduct, _ completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(product:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(product:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(product:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(product:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(product:)")
- public func purchaseProduct(_ product: StoreKit.SKProduct) async throws
- #endif
-
- @available(iOS, unavailable, introduced: 12.2, renamed: "purchase(product:promotionalOffer:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "purchase(product:promotionalOffer:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(product:promotionalOffer:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "purchase(product:promotionalOffer:completion:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(product:promotionalOffer:completion:)")
- @objc(purchaseProduct:withDiscount:completionBlock:) dynamic public func purchaseProduct(_ product: StoreKit.SKProduct, discount: StoreKit.SKPaymentDiscount, _ completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(product:promotionalOffer:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(product:promotionalOffer:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(product:promotionalOffer:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(product:promotionalOffer:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(product:promotionalOffer:)")
- public func purchaseProduct(_ product: StoreKit.SKProduct, discount: StoreKit.SKPaymentDiscount) async throws
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(package:promotionalOffer:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- public func purchase(package: RevenueCat.Package, discount: RevenueCat.StoreProductDiscount) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macCatalyst, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- public func purchase(package: RevenueCat.Package, discount: RevenueCat.StoreProductDiscount, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(package:promotionalOffer:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- public func purchase(product: RevenueCat.StoreProduct, discount: RevenueCat.StoreProductDiscount) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macCatalyst, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- public func purchase(product: RevenueCat.StoreProduct, discount: RevenueCat.StoreProductDiscount, completion: @escaping RevenueCat.PurchaseCompletedBlock)
- @available(iOS, unavailable, introduced: 13.0, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- public func checkPromotionalDiscountEligibility(forProductDiscount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct)
- @available(iOS, unavailable, introduced: 12.2, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- @available(macCatalyst, unavailable, introduced: 12.2, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- public func checkPromotionalDiscountEligibility(forProductDiscount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct, completion: @escaping (Swift.AnyObject, Swift.Error?) -> Swift.Void)
- @available(iOS, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @available(tvOS, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @available(watchOS, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @available(macOS, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @available(macCatalyst, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @objc dynamic public func invalidatePurchaserInfoCache()
- @available(iOS, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @available(tvOS, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @available(watchOS, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @available(macOS, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @available(macCatalyst, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @objc(checkTrialOrIntroductoryPriceEligibility:completion:) dynamic public func checkTrialOrIntroductoryPriceEligibility(_ productIdentifiers: [Swift.String], completion: @escaping ([Swift.String : RevenueCat.IntroEligibility]) -> Swift.Void)
- @available(iOS, unavailable, introduced: 12.2, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(tvOS, unavailable, introduced: 12.2, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(watchOS, unavailable, introduced: 6.2, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(macOS, unavailable, introduced: 10.14.4, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(macCatalyst, unavailable, introduced: 13.0, message: "Check eligibility for a discount using getPromotionalOffer:")
- @objc(paymentDiscountForProductDiscount:product:completion:) dynamic public func paymentDiscount(for discount: StoreKit.SKProductDiscount, product: StoreKit.SKProduct, completion: @escaping (StoreKit.SKPaymentDiscount?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(tvOS, unavailable, introduced: 13.0, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(watchOS, unavailable, introduced: 6.2, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(macOS, unavailable, introduced: 10.15, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(macCatalyst, unavailable, introduced: 13.0, message: "Check eligibility for a discount using getPromotionalOffer:")
- public func paymentDiscount(for discount: StoreKit.SKProductDiscount, product: StoreKit.SKProduct) async throws -> StoreKit.SKPaymentDiscount
- #endif
-
- @available(iOS, obsoleted: 1, renamed: "logIn")
- @available(tvOS, obsoleted: 1, renamed: "logIn")
- @available(watchOS, obsoleted: 1, renamed: "logIn")
- @available(macOS, obsoleted: 1, renamed: "logIn")
- @objc(createAlias:completionBlock:) dynamic public func createAlias(_ alias: Swift.String, _ completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
- @available(iOS, obsoleted: 1, renamed: "logIn")
- @available(tvOS, obsoleted: 1, renamed: "logIn")
- @available(watchOS, obsoleted: 1, renamed: "logIn")
- @available(macOS, obsoleted: 1, renamed: "logIn")
- @objc(identify:completionBlock:) dynamic public func identify(_ appUserID: Swift.String, _ completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
- @available(iOS, obsoleted: 1, renamed: "logOut")
- @available(tvOS, obsoleted: 1, renamed: "logOut")
- @available(watchOS, obsoleted: 1, renamed: "logOut")
- @available(macOS, obsoleted: 1, renamed: "logOut")
- @objc(resetWithCompletionBlock:) dynamic public func reset(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
-}
-@_inheritsConvenienceInitializers @available(iOS, obsoleted: 1, renamed: "CustomerInfo")
-@available(tvOS, obsoleted: 1, renamed: "CustomerInfo")
-@available(watchOS, obsoleted: 1, renamed: "CustomerInfo")
-@available(macOS, obsoleted: 1, renamed: "CustomerInfo")
-@objc(RCPurchaserInfo) public class PurchaserInfo : ObjectiveC.NSObject {
- @objc override dynamic public init()
- @objc deinit
-}
-@_inheritsConvenienceInitializers @available(iOS, obsoleted: 1, renamed: "StoreTransaction")
-@available(tvOS, obsoleted: 1, renamed: "StoreTransaction")
-@available(watchOS, obsoleted: 1, renamed: "StoreTransaction")
-@available(macOS, obsoleted: 1, renamed: "StoreTransaction")
-@objc(RCTransaction) public class Transaction : ObjectiveC.NSObject {
- @objc override dynamic public init()
- @objc deinit
-}
-extension RevenueCat.StoreTransaction {
- @available(iOS, obsoleted: 1, renamed: "productIdentifier")
- @available(tvOS, obsoleted: 1, renamed: "productIdentifier")
- @available(watchOS, obsoleted: 1, renamed: "productIdentifier")
- @available(macOS, obsoleted: 1, renamed: "productIdentifier")
- @objc final public var productId: Swift.String {
- @objc get
- }
- @available(iOS, obsoleted: 1, renamed: "transactionIdentifier")
- @available(tvOS, obsoleted: 1, renamed: "transactionIdentifier")
- @available(watchOS, obsoleted: 1, renamed: "transactionIdentifier")
- @available(macOS, obsoleted: 1, renamed: "transactionIdentifier")
- @objc final public var revenueCatId: Swift.String {
- @objc get
- }
-}
-extension RevenueCat.Package {
- @available(iOS, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @available(tvOS, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @available(watchOS, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @available(macOS, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @available(macCatalyst, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @objc dynamic public var product: StoreKit.SKProduct {
- @objc get
- }
-}
-extension RevenueCat.StoreProductDiscount.PaymentMode {
- @available(iOS, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- @available(tvOS, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- @available(watchOS, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- @available(macOS, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- @available(macCatalyst, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- public static var none: RevenueCat.StoreProductDiscount.PaymentMode {
- get
- }
-}
-@available(iOS, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-@available(tvOS, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-@available(watchOS, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-@available(macOS, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-@available(macCatalyst, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-public enum RCPaymentMode {
-}
-@_inheritsConvenienceInitializers @available(iOS, obsoleted: 1, message: "Use PromotionalOffer instead")
-@available(tvOS, obsoleted: 1, message: "Use PromotionalOffer instead")
-@available(watchOS, obsoleted: 1, message: "Use PromotionalOffer instead")
-@available(macOS, obsoleted: 1, message: "Use PromotionalOffer instead")
-@available(macCatalyst, obsoleted: 1, message: "Use PromotionalOffer instead")
-@objc(RCPromotionalOfferEligibility) public class PromotionalOfferEligibility : ObjectiveC.NSObject {
- @objc override dynamic public init()
- @objc deinit
-}
-@available(iOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(tvOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(watchOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(macOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(macCatalyst, obsoleted: 1, message: "Use ErrorCode instead")
-public var ErrorDomain: Foundation.NSErrorDomain {
- get
-}
-@available(iOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(tvOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(watchOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(macOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(macCatalyst, obsoleted: 1, message: "Use ErrorCode instead")
-public enum RCBackendErrorCode {
-}
-@objc @_inheritsConvenienceInitializers @available(iOS, obsoleted: 1)
-@available(tvOS, obsoleted: 1)
-@available(watchOS, obsoleted: 1)
-@available(macOS, obsoleted: 1)
-@available(macCatalyst, obsoleted: 1)
-public class RCPurchasesErrorUtils : ObjectiveC.NSObject {
- @objc override dynamic public init()
- @objc deinit
-}
-extension RevenueCat.Purchases {
- @available(iOS, obsoleted: 1, renamed: "ErrorCode")
- @available(tvOS, obsoleted: 1, renamed: "ErrorCode")
- @available(watchOS, obsoleted: 1, renamed: "ErrorCode")
- @available(macOS, obsoleted: 1, renamed: "ErrorCode")
- @available(macCatalyst, obsoleted: 1, renamed: "ErrorCode")
- public enum Errors {
- }
- @available(iOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(macCatalyst, obsoleted: 1)
- public enum FinishableKey {
- }
- @available(iOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(macCatalyst, obsoleted: 1)
- public enum ReadableErrorCodeKey {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum ErrorCode {
- }
- @available(iOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(macCatalyst, obsoleted: 1)
- public enum RevenueCatBackendErrorCode {
- }
- @available(iOS, obsoleted: 1, renamed: "StoreTransaction")
- @available(tvOS, obsoleted: 1, renamed: "StoreTransaction")
- @available(watchOS, obsoleted: 1, renamed: "StoreTransaction")
- @available(macOS, obsoleted: 1, renamed: "StoreTransaction")
- @available(macCatalyst, obsoleted: 1, renamed: "StoreTransaction")
- public enum Transaction {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum EntitlementInfo {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum EntitlementInfos {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum PackageType {
- }
- @available(iOS, obsoleted: 1, renamed: "CustomerInfo")
- @available(tvOS, obsoleted: 1, renamed: "CustomerInfo")
- @available(watchOS, obsoleted: 1, renamed: "CustomerInfo")
- @available(macOS, obsoleted: 1, renamed: "CustomerInfo")
- @available(macCatalyst, obsoleted: 1, renamed: "CustomerInfo")
- public enum PurchaserInfo {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum Offering {
- }
- @available(iOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(macCatalyst, obsoleted: 1)
- public enum ErrorUtils {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum Store {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum PeriodType {
- }
-}
-@_hasMissingDesignatedInitializers @objc(RCPromotionalOffer) final public class PromotionalOffer : ObjectiveC.NSObject {
- final public let discount: RevenueCat.StoreProductDiscount
- @objc deinit
-}
-extension RevenueCat.Purchases {
- @available(iOS, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(tvOS, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(watchOS, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(macOS, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(macCatalyst, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- public func checkTrialOrIntroDiscountEligibility(_ productIdentifiers: [Swift.String], completion: @escaping ([Swift.String : RevenueCat.IntroEligibility]) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, introduced: 13.0, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(tvOS, introduced: 13.0, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(watchOS, introduced: 6.2, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(macOS, introduced: 10.15, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(macCatalyst, introduced: 13.0, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- public func checkTrialOrIntroDiscountEligibility(_ productIdentifiers: [Swift.String]) async -> [Swift.String : RevenueCat.IntroEligibility]
- #endif
-
-}
-@objc(RCPurchasesErrorCode) public enum ErrorCode : Swift.Int, Swift.Error {
- @objc(RCUnknownError) case unknownError = 0
- @objc(RCPurchaseCancelledError) case purchaseCancelledError = 1
- @objc(RCStoreProblemError) case storeProblemError = 2
- @objc(RCPurchaseNotAllowedError) case purchaseNotAllowedError = 3
- @objc(RCPurchaseInvalidError) case purchaseInvalidError = 4
- @objc(RCProductNotAvailableForPurchaseError) case productNotAvailableForPurchaseError = 5
- @objc(RCProductAlreadyPurchasedError) case productAlreadyPurchasedError = 6
- @objc(RCReceiptAlreadyInUseError) case receiptAlreadyInUseError = 7
- @objc(RCInvalidReceiptError) case invalidReceiptError = 8
- @objc(RCMissingReceiptFileError) case missingReceiptFileError = 9
- @objc(RCNetworkError) case networkError = 10
- @objc(RCInvalidCredentialsError) case invalidCredentialsError = 11
- @objc(RCUnexpectedBackendResponseError) case unexpectedBackendResponseError = 12
- @objc(RCReceiptInUseByOtherSubscriberError) case receiptInUseByOtherSubscriberError = 13
- @objc(RCInvalidAppUserIdError) case invalidAppUserIdError = 14
- @objc(RCOperationAlreadyInProgressForProductError) case operationAlreadyInProgressForProductError = 15
- @objc(RCUnknownBackendError) case unknownBackendError = 16
- @objc(RCInvalidAppleSubscriptionKeyError) case invalidAppleSubscriptionKeyError = 17
- @objc(RCIneligibleError) case ineligibleError = 18
- @objc(RCInsufficientPermissionsError) case insufficientPermissionsError = 19
- @objc(RCPaymentPendingError) case paymentPendingError = 20
- @objc(RCInvalidSubscriberAttributesError) case invalidSubscriberAttributesError = 21
- @objc(RCLogOutAnonymousUserError) case logOutAnonymousUserError = 22
- @objc(RCConfigurationError) case configurationError = 23
- @objc(RCUnsupportedError) case unsupportedError = 24
- @objc(RCEmptySubscriberAttributesError) case emptySubscriberAttributes = 25
- @objc(RCProductDiscountMissingIdentifierError) case productDiscountMissingIdentifierError = 26
- @objc(RCMissingAppUserIDForAliasCreationError) case missingAppUserIDForAliasCreationError = 27
- @objc(RCProductDiscountMissingSubscriptionGroupIdentifierError) case productDiscountMissingSubscriptionGroupIdentifierError = 28
- @objc(RCCustomerInfoError) case customerInfoError = 29
- @objc(RCSystemInfoError) case systemInfoError = 30
- @objc(RCBeginRefundRequestError) case beginRefundRequestError = 31
- @objc(RCProductRequestTimedOut) case productRequestTimedOut = 32
- @objc(RCAPIEndpointBlocked) case apiEndpointBlockedError = 33
- @objc(RCInvalidPromotionalOfferError) case invalidPromotionalOfferError = 34
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public static var _nsErrorDomain: Swift.String {
- get
- }
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.ErrorCode : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.ErrorCode]
- public static var allCases: [RevenueCat.ErrorCode] {
- get
- }
-}
-extension RevenueCat.ErrorCode {
- public var description: Swift.String {
- get
- }
-}
-extension RevenueCat.ErrorCode : Foundation.CustomNSError {
- public var errorUserInfo: [Swift.String : Any] {
- get
- }
-}
-@objc(RCRefundRequestStatus) public enum RefundRequestStatus : Swift.Int {
- @objc(RCRefundRequestUserCancelled) case userCancelled = 0
- @objc(RCRefundRequestSuccess) case success
- @objc(RCRefundRequestError) case error
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.Purchases {
- @objc(RCPlatformInfo) final public class PlatformInfo : ObjectiveC.NSObject {
- @objc public init(flavor: Swift.String, version: Swift.String)
- @objc deinit
- }
- @objc public static var platformInfo: RevenueCat.Purchases.PlatformInfo?
-}
-@_inheritsConvenienceInitializers @objc(RCDangerousSettings) public class DangerousSettings : ObjectiveC.NSObject {
- @objc final public let autoSyncPurchases: Swift.Bool
- @objc override convenience dynamic public init()
- @objc public init(autoSyncPurchases: Swift.Bool)
- @objc deinit
-}
-@_hasMissingDesignatedInitializers @objc(RCCustomerInfo) public class CustomerInfo : ObjectiveC.NSObject {
- @objc final public let entitlements: RevenueCat.EntitlementInfos
- @objc public var activeSubscriptions: Swift.Set {
- @objc get
- }
- @objc public var allPurchasedProductIdentifiers: Swift.Set {
- @objc get
- }
- @objc public var latestExpirationDate: Foundation.Date? {
- @objc get
- }
- @available(*, deprecated, message: "use nonSubscriptionTransactions")
- @objc public var nonConsumablePurchases: Swift.Set {
- @objc get
- }
- @objc final public let nonSubscriptionTransactions: [RevenueCat.StoreTransaction]
- @objc final public let requestDate: Foundation.Date
- @objc final public let firstSeen: Foundation.Date
- @objc final public let originalAppUserId: Swift.String
- @objc final public let managementURL: Foundation.URL?
- @objc final public let originalPurchaseDate: Foundation.Date?
- @objc final public let originalApplicationVersion: Swift.String?
- @objc final public let rawData: [Swift.String : Any]
- @objc public func expirationDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
- @objc public func purchaseDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
- @objc public func expirationDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
- @objc public func purchaseDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
- @objc get
- }
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.CustomerInfo : RevenueCat.RawDataContainer {
- public typealias Content = [Swift.String : Any]
-}
-@objc(RCStore) public enum Store : Swift.Int {
- @objc(RCAppStore) case appStore = 0
- @objc(RCMacAppStore) case macAppStore = 1
- @objc(RCPlayStore) case playStore = 2
- @objc(RCStripe) case stripe = 3
- @objc(RCPromotional) case promotional = 4
- @objc(RCUnknownStore) case unknownStore = 5
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.Store : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.Store]
- public static var allCases: [RevenueCat.Store] {
- get
- }
-}
-@objc(RCPeriodType) public enum PeriodType : Swift.Int {
- @objc(RCNormal) case normal = 0
- @objc(RCIntro) case intro = 1
- @objc(RCTrial) case trial = 2
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.PeriodType : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.PeriodType]
- public static var allCases: [RevenueCat.PeriodType] {
- get
- }
-}
-@_hasMissingDesignatedInitializers @objc(RCEntitlementInfo) public class EntitlementInfo : ObjectiveC.NSObject {
- @objc final public let identifier: Swift.String
- @objc final public let isActive: Swift.Bool
- @objc final public let willRenew: Swift.Bool
- @objc final public let periodType: RevenueCat.PeriodType
- @objc final public let latestPurchaseDate: Foundation.Date?
- @objc final public let originalPurchaseDate: Foundation.Date?
- @objc final public let expirationDate: Foundation.Date?
- @objc final public let store: RevenueCat.Store
- @objc final public let productIdentifier: Swift.String
- @objc final public let isSandbox: Swift.Bool
- @objc final public let unsubscribeDetectedAt: Foundation.Date?
- @objc final public let billingIssueDetectedAt: Foundation.Date?
- @objc final public let ownershipType: RevenueCat.PurchaseOwnershipType
- @objc final public let rawData: [Swift.String : Any]
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.EntitlementInfo : RevenueCat.RawDataContainer {
- public typealias Content = [Swift.String : Any]
-}
-extension RevenueCat.EntitlementInfo : Swift.Identifiable {
- public var id: Swift.String {
- get
- }
- public typealias ID = Swift.String
-}
-@objc(RCLogLevel) public enum LogLevel : Swift.Int, Swift.CustomStringConvertible {
- case debug, info, warn, error
- public var description: Swift.String {
- get
- }
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-public typealias VerboseLogHandler = (_ level: RevenueCat.LogLevel, _ message: Swift.String, _ file: Swift.String?, _ function: Swift.String?, _ line: Swift.UInt) -> Swift.Void
-public typealias LogHandler = (_ level: RevenueCat.LogLevel, _ message: Swift.String) -> Swift.Void
-public typealias SK1Transaction = StoreKit.SKPaymentTransaction
-@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
-public typealias SK2Transaction = StoreKit.Transaction
-@_hasMissingDesignatedInitializers @objc(RCStoreTransaction) final public class StoreTransaction : ObjectiveC.NSObject {
- @objc final public var productIdentifier: Swift.String {
- @objc get
- }
- @objc final public var purchaseDate: Foundation.Date {
- @objc get
- }
- @objc final public var transactionIdentifier: Swift.String {
- @objc get
- }
- @objc final public var quantity: Swift.Int {
- @objc get
- }
- @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override final public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.StoreTransaction {
- @objc final public var sk1Transaction: RevenueCat.SK1Transaction? {
- @objc get
- }
- @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
- final public var sk2Transaction: RevenueCat.SK2Transaction? {
- get
- }
-}
-extension RevenueCat.StoreTransaction : Swift.Identifiable {
- final public var id: Swift.String {
- get
- }
- public typealias ID = Swift.String
-}
-public protocol RawDataContainer {
- associatedtype Content
- var rawData: Self.Content { get }
-}
-public typealias PurchaseResultData = (transaction: RevenueCat.StoreTransaction?, customerInfo: RevenueCat.CustomerInfo, userCancelled: Swift.Bool)
-public typealias PurchaseCompletedBlock = (RevenueCat.StoreTransaction?, RevenueCat.CustomerInfo?, Swift.Error?, Swift.Bool) -> Swift.Void
-public typealias DeferredPromotionalPurchaseBlock = (@escaping RevenueCat.PurchaseCompletedBlock) -> Swift.Void
-@_hasMissingDesignatedInitializers @objc(RCPurchases) public class Purchases : ObjectiveC.NSObject {
- @objc(sharedPurchases) public static var shared: RevenueCat.Purchases {
- @objc get
- }
- @objc public static var isConfigured: Swift.Bool {
- @objc get
- }
- @objc public var delegate: RevenueCat.PurchasesDelegate? {
- @objc get
- @objc set
- }
- @objc public static var automaticAppleSearchAdsAttributionCollection: Swift.Bool
- @objc public static var logLevel: RevenueCat.LogLevel {
- @objc get
- @objc set
- }
- @objc public static var proxyURL: Foundation.URL? {
- @objc get
- @objc set
- }
- @objc public static var forceUniversalAppStore: Swift.Bool {
- @objc get
- @objc set
- }
- @available(iOS 8.0, macOS 10.14, watchOS 6.2, macCatalyst 13.0, *)
- @objc public static var simulatesAskToBuyInSandbox: Swift.Bool {
- @objc get
- @objc set
- }
- @objc public static func canMakePayments() -> Swift.Bool
- @objc public static var logHandler: RevenueCat.LogHandler {
- @objc get
- @objc set
- }
- @objc public static var verboseLogHandler: RevenueCat.VerboseLogHandler {
- @objc get
- @objc set
- }
- @objc public static var verboseLogs: Swift.Bool {
- @objc get
- @objc set
- }
- @objc public static var frameworkVersion: Swift.String {
- @objc get
- }
- @objc public var finishTransactions: Swift.Bool {
- @objc get
- @objc set
- }
- @objc public func collectDeviceIdentifiers()
- @objc deinit
-}
-extension RevenueCat.Purchases {
- @objc dynamic public func setAttributes(_ attributes: [Swift.String : Swift.String])
- @objc dynamic public func setEmail(_ email: Swift.String?)
- @objc dynamic public func setPhoneNumber(_ phoneNumber: Swift.String?)
- @objc dynamic public func setDisplayName(_ displayName: Swift.String?)
- @objc dynamic public func setPushToken(_ pushToken: Foundation.Data?)
- @objc dynamic public func setAdjustID(_ adjustID: Swift.String?)
- @objc dynamic public func setAppsflyerID(_ appsflyerID: Swift.String?)
- @objc dynamic public func setFBAnonymousID(_ fbAnonymousID: Swift.String?)
- @objc dynamic public func setMparticleID(_ mparticleID: Swift.String?)
- @objc dynamic public func setOnesignalID(_ onesignalID: Swift.String?)
- @objc dynamic public func setAirshipChannelID(_ airshipChannelID: Swift.String?)
- @objc dynamic public func setCleverTapID(_ cleverTapID: Swift.String?)
- @objc dynamic public func setMediaSource(_ mediaSource: Swift.String?)
- @objc dynamic public func setCampaign(_ campaign: Swift.String?)
- @objc dynamic public func setAdGroup(_ adGroup: Swift.String?)
- @objc dynamic public func setAd(_ installAd: Swift.String?)
- @objc dynamic public func setKeyword(_ keyword: Swift.String?)
- @objc dynamic public func setCreative(_ creative: Swift.String?)
-}
-extension RevenueCat.Purchases {
- @objc dynamic public var appUserID: Swift.String {
- @objc get
- }
- @objc dynamic public var isAnonymous: Swift.Bool {
- @objc get
- }
- @objc(logIn:completion:) dynamic public func logIn(_ appUserID: Swift.String, completion: @escaping (RevenueCat.CustomerInfo?, Swift.Bool, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func logIn(_ appUserID: Swift.String) async throws -> (customerInfo: RevenueCat.CustomerInfo, created: Swift.Bool)
- #endif
-
- @objc dynamic public func logOut(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func logOut() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @objc dynamic public func getOfferings(completion: @escaping (RevenueCat.Offerings?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func offerings() async throws -> RevenueCat.Offerings
- #endif
-
-}
-extension RevenueCat.Purchases {
- @objc dynamic public func getCustomerInfo(completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func customerInfo() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public var customerInfoStream: _Concurrency.AsyncStream {
- get
- }
- @objc(getProductsWithIdentifiers:completion:) dynamic public func getProducts(_ productIdentifiers: [Swift.String], completion: @escaping ([RevenueCat.StoreProduct]) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func products(_ productIdentifiers: [Swift.String]) async -> [RevenueCat.StoreProduct]
- #endif
-
- @objc(purchaseProduct:withCompletion:) dynamic public func purchase(product: RevenueCat.StoreProduct, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func purchase(product: RevenueCat.StoreProduct) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @objc(purchasePackage:withCompletion:) dynamic public func purchase(package: RevenueCat.Package, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func purchase(package: RevenueCat.Package) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS 12.2, macOS 10.14.4, watchOS 6.2, macCatalyst 13.0, tvOS 12.2, *)
- @objc(purchaseProduct:withPromotionalOffer:completion:) dynamic public func purchase(product: RevenueCat.StoreProduct, promotionalOffer: RevenueCat.PromotionalOffer, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func purchase(product: RevenueCat.StoreProduct, promotionalOffer: RevenueCat.PromotionalOffer) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS 12.2, macOS 10.14.4, watchOS 6.2, macCatalyst 13.0, tvOS 12.2, *)
- @objc(purchasePackage:withPromotionalOffer:completion:) dynamic public func purchase(package: RevenueCat.Package, promotionalOffer: RevenueCat.PromotionalOffer, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func purchase(package: RevenueCat.Package, promotionalOffer: RevenueCat.PromotionalOffer) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @objc dynamic public func syncPurchases(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func syncPurchases() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @objc dynamic public func restorePurchases(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)? = nil)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func restorePurchases() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @objc(checkTrialOrIntroDiscountEligibility:completion:) dynamic public func checkTrialOrIntroDiscountEligibility(productIdentifiers: [Swift.String], completion: @escaping ([Swift.String : RevenueCat.IntroEligibility]) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, tvOS 13.0, macOS 10.15, watchOS 6.2, *)
- public func checkTrialOrIntroDiscountEligibility(productIdentifiers: [Swift.String]) async -> [Swift.String : RevenueCat.IntroEligibility]
- #endif
-
- @objc(checkTrialOrIntroDiscountEligibilityForProduct:completion:) dynamic public func checkTrialOrIntroDiscountEligibility(product: RevenueCat.StoreProduct, completion: @escaping (RevenueCat.IntroEligibilityStatus) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, tvOS 13.0, macOS 10.15, watchOS 6.2, *)
- public func checkTrialOrIntroDiscountEligibility(product: RevenueCat.StoreProduct) async -> RevenueCat.IntroEligibilityStatus
- #endif
-
- @objc dynamic public func invalidateCustomerInfoCache()
- @available(iOS 14.0, *)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @available(macOS, unavailable)
- @available(macCatalyst, unavailable)
- @objc dynamic public func presentCodeRedemptionSheet()
- @available(iOS 12.2, macOS 10.14.4, macCatalyst 13.0, tvOS 12.2, watchOS 6.2, *)
- @objc(getPromotionalOfferForProductDiscount:withProduct:withCompletion:) dynamic public func getPromotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct, completion: @escaping (RevenueCat.PromotionalOffer?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func getPromotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct) async throws -> RevenueCat.PromotionalOffer
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func getEligiblePromotionalOffers(forProduct product: RevenueCat.StoreProduct) async -> [RevenueCat.PromotionalOffer]
- #endif
-
- @available(iOS 13.0, macOS 10.15, *)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @objc dynamic public func showManageSubscriptions(completion: @escaping (Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, *)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- public func showManageSubscriptions() async throws
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 15.0, *)
- @available(macOS, unavailable)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @objc(beginRefundRequestForProduct:completion:) dynamic public func beginRefundRequest(forProduct productID: Swift.String) async throws -> RevenueCat.RefundRequestStatus
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 15.0, *)
- @available(macOS, unavailable)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @objc(beginRefundRequestForEntitlement:completion:) dynamic public func beginRefundRequest(forEntitlement entitlementID: Swift.String) async throws -> RevenueCat.RefundRequestStatus
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 15.0, *)
- @available(macOS, unavailable)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @objc(beginRefundRequestForActiveEntitlementWithCompletion:) dynamic public func beginRefundRequestForActiveEntitlement() async throws -> RevenueCat.RefundRequestStatus
- #endif
-
-}
-extension RevenueCat.Purchases {
- @discardableResult
- @objc(configureWithAPIKey:) public static func configure(withAPIKey apiKey: Swift.String) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:dangerousSettings:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool, dangerousSettings: RevenueCat.DangerousSettings?) -> RevenueCat.Purchases
-}
-extension RevenueCat.Purchases {
- @objc dynamic public func shouldPurchasePromoProduct(_ product: RevenueCat.StoreProduct, defermentBlock: @escaping RevenueCat.DeferredPromotionalPurchaseBlock)
-}
-extension RevenueCat.Purchases {
- @available(*, deprecated, message: "use Purchases.logLevel instead")
- @objc public static var debugLogsEnabled: Swift.Bool {
- @objc get
- @objc set
- }
- @available(*, deprecated, message: "Configure behavior through the RevenueCat dashboard instead")
- @objc dynamic public var allowSharingAppStoreAccount: Swift.Bool {
- @objc get
- @objc set
- }
- @available(*, deprecated, message: "Use the set functions instead")
- @objc public static func addAttributionData(_ data: [Swift.String : Any], fromNetwork network: RevenueCat.AttributionNetwork)
- @available(*, deprecated, message: "Use the set functions instead")
- @objc(addAttributionData:fromNetwork:forNetworkUserId:) public static func addAttributionData(_ data: [Swift.String : Any], from network: RevenueCat.AttributionNetwork, forNetworkUserId networkUserId: Swift.String?)
-}
-@objc(RCSubscriptionPeriod) public class SubscriptionPeriod : ObjectiveC.NSObject {
- @objc final public let value: Swift.Int
- @objc final public let unit: RevenueCat.SubscriptionPeriod.Unit
- public init(value: Swift.Int, unit: RevenueCat.SubscriptionPeriod.Unit)
- @objc(RCSubscriptionPeriodUnit) public enum Unit : Swift.Int {
- case day = 0
- case week = 1
- case month = 2
- case year = 3
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.SubscriptionPeriod {
- @available(iOS, unavailable, renamed: "value")
- @available(tvOS, unavailable, renamed: "value")
- @available(watchOS, unavailable, renamed: "value")
- @available(macOS, unavailable, renamed: "value")
- @objc dynamic public var numberOfUnits: Swift.Int {
- @objc get
- }
-}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
- get
- }
-}
-extension RevenueCat.SubscriptionPeriod {
- @objc override dynamic public var debugDescription: Swift.String {
- @objc get
- }
-}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.Encodable {
-}
-extension RevenueCat.SubscriptionPeriod : Swift.Encodable {
- public func encode(to encoder: Swift.Encoder) throws
-}
-@objc(RCPurchaseOwnershipType) public enum PurchaseOwnershipType : Swift.Int {
- case purchased = 0
- case familyShared = 1
- case unknown = 2
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.PurchaseOwnershipType : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.PurchaseOwnershipType]
- public static var allCases: [RevenueCat.PurchaseOwnershipType] {
- get
- }
-}
-extension RevenueCat.PurchaseOwnershipType : Swift.Decodable {
- public init(from decoder: Swift.Decoder) throws
-}
-extension RevenueCat.PeriodType : Swift.Decodable {
- public init(from decoder: Swift.Decoder) throws
-}
-extension RevenueCat.Store : Swift.Decodable {
- public init(from decoder: Swift.Decoder) throws
-}
-@_hasMissingDesignatedInitializers @objc(RCEntitlementInfos) public class EntitlementInfos : ObjectiveC.NSObject {
- @objc final public let all: [Swift.String : RevenueCat.EntitlementInfo]
- @objc public var active: [Swift.String : RevenueCat.EntitlementInfo] {
- @objc get
- }
- @objc public subscript(key: Swift.String) -> RevenueCat.EntitlementInfo? {
- @objc get
- }
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc deinit
-}
-@objc(RCPackageType) public enum PackageType : Swift.Int {
- case unknown = -2, custom, lifetime, annual, sixMonth, threeMonth, twoMonth, monthly, weekly
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-@_hasMissingDesignatedInitializers @objc(RCPackage) public class Package : ObjectiveC.NSObject {
- @objc final public let identifier: Swift.String
- @objc final public let packageType: RevenueCat.PackageType
- @objc final public let storeProduct: RevenueCat.StoreProduct
- @objc final public let offeringIdentifier: Swift.String
- @objc public var localizedPriceString: Swift.String {
- @objc get
- }
- @objc public var localizedIntroductoryPriceString: Swift.String? {
- @objc get
- }
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-@objc extension RevenueCat.Package {
- @objc public static func string(from packageType: RevenueCat.PackageType) -> Swift.String?
- @objc dynamic public class func packageType(from string: Swift.String) -> RevenueCat.PackageType
-}
-extension RevenueCat.Package : Swift.Identifiable {
- public var id: Swift.String {
- get
- }
- public typealias ID = Swift.String
-}
-@objc(RCIntroEligibilityStatus) public enum IntroEligibilityStatus : Swift.Int {
- case unknown = 0
- case ineligible
- case eligible
- case noIntroOfferExists
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.IntroEligibilityStatus : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.IntroEligibilityStatus]
- public static var allCases: [RevenueCat.IntroEligibilityStatus] {
- get
- }
-}
-@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc(RCIntroEligibility) public class IntroEligibility : ObjectiveC.NSObject {
- @objc final public let status: RevenueCat.IntroEligibilityStatus
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc deinit
-}
-@available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
-public typealias SK1ProductDiscount = StoreKit.SKProductDiscount
-@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
-public typealias SK2ProductDiscount = StoreKit.Product.SubscriptionOffer
-@_hasMissingDesignatedInitializers @objc(RCStoreProductDiscount) final public class StoreProductDiscount : ObjectiveC.NSObject {
- @objc(RCPaymentMode) public enum PaymentMode : Swift.Int {
- case payAsYouGo = 0
- case payUpFront = 1
- case freeTrial = 2
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
- @objc(RCDiscountType) public enum DiscountType : Swift.Int {
- case introductory = 0
- case promotional = 1
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
- @objc final public var offerIdentifier: Swift.String? {
- @objc get
- }
- @objc final public var currencyCode: Swift.String? {
- @objc get
- }
- final public var price: Foundation.Decimal {
- get
- }
- @objc final public var localizedPriceString: Swift.String {
- @objc get
- }
- @objc final public var paymentMode: RevenueCat.StoreProductDiscount.PaymentMode {
- @objc get
- }
- @objc final public var subscriptionPeriod: RevenueCat.SubscriptionPeriod {
- @objc get
- }
- @objc final public var type: RevenueCat.StoreProductDiscount.DiscountType {
- @objc get
- }
- @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override final public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.StoreProductDiscount {
- @objc(price) final public var priceDecimalNumber: Foundation.NSDecimalNumber {
- @objc get
- }
-}
-extension RevenueCat.StoreProductDiscount {
- public struct Data : Swift.Hashable {
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: RevenueCat.StoreProductDiscount.Data, b: RevenueCat.StoreProductDiscount.Data) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
- }
-}
-extension RevenueCat.StoreProductDiscount {
- @available(iOS 12.2, macOS 10.14.4, tvOS 12.2, watchOS 6.2, *)
- @objc final public var sk1Discount: RevenueCat.SK1ProductDiscount? {
- @objc get
- }
- @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
- final public var sk2Discount: RevenueCat.SK2ProductDiscount? {
- get
- }
-}
-extension RevenueCat.StoreProductDiscount : Swift.Encodable {
- final public func encode(to encoder: Swift.Encoder) throws
-}
-extension RevenueCat.StoreProductDiscount.PaymentMode : Swift.Encodable {
-}
-extension RevenueCat.StoreProductDiscount : Swift.Identifiable {
- final public var id: RevenueCat.StoreProductDiscount.Data {
- get
- }
- public typealias ID = RevenueCat.StoreProductDiscount.Data
-}
-@objc(RCPurchasesDelegate) public protocol PurchasesDelegate : ObjectiveC.NSObjectProtocol {
- @available(swift, obsoleted: 1, renamed: "purchases(_:receivedUpdated:)")
- @available(iOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @objc(purchases:didReceiveUpdatedPurchaserInfo:) optional func purchases(_ purchases: RevenueCat.Purchases, didReceiveUpdated purchaserInfo: RevenueCat.CustomerInfo)
- @objc(purchases:receivedUpdatedCustomerInfo:) optional func purchases(_ purchases: RevenueCat.Purchases, receivedUpdated customerInfo: RevenueCat.CustomerInfo)
- @objc optional func purchases(_ purchases: RevenueCat.Purchases, shouldPurchasePromoProduct product: RevenueCat.StoreProduct, defermentBlock makeDeferredPurchase: @escaping RevenueCat.DeferredPromotionalPurchaseBlock)
-}
-@objc(RCAttributionNetwork) public enum AttributionNetwork : Swift.Int {
- case appleSearchAds
- case adjust
- case appsFlyer
- case branch
- case tenjin
- case facebook
- case mParticle
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.AttributionNetwork : Swift.Encodable {
- public func encode(to encoder: Swift.Encoder) throws
-}
-public typealias SK1Product = StoreKit.SKProduct
-@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
-public typealias SK2Product = StoreKit.Product
-@_hasMissingDesignatedInitializers @objc(RCStoreProduct) final public class StoreProduct : ObjectiveC.NSObject {
- @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override final public var hash: Swift.Int {
- @objc get
- }
- @objc final public var productType: RevenueCat.StoreProduct.ProductType {
- @objc get
- }
- @objc final public var productCategory: RevenueCat.StoreProduct.ProductCategory {
- @objc get
- }
- @objc final public var localizedDescription: Swift.String {
- @objc get
- }
- @objc final public var localizedTitle: Swift.String {
- @objc get
- }
- @objc final public var currencyCode: Swift.String? {
- @objc get
- }
- final public var price: Foundation.Decimal {
- get
- }
- @objc final public var localizedPriceString: Swift.String {
- @objc get
- }
- @objc final public var productIdentifier: Swift.String {
- @objc get
- }
- @available(iOS 14.0, macOS 11.0, tvOS 14.0, watchOS 8.0, *)
- @objc final public var isFamilyShareable: Swift.Bool {
- @objc get
- }
- @available(iOS 12.0, macCatalyst 13.0, tvOS 12.0, macOS 10.14, watchOS 6.2, *)
- @objc final public var subscriptionGroupIdentifier: Swift.String? {
- @objc get
- }
- @objc final public var priceFormatter: Foundation.NumberFormatter? {
- @objc get
- }
- @available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
- @objc final public var subscriptionPeriod: RevenueCat.SubscriptionPeriod? {
- @objc get
- }
- @available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
- @objc final public var introductoryDiscount: RevenueCat.StoreProductDiscount? {
- @objc get
- }
- @available(iOS 12.2, macOS 10.14.4, tvOS 12.2, watchOS 6.2, *)
- @objc final public var discounts: [RevenueCat.StoreProductDiscount] {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.StoreProduct {
- @objc(price) final public var priceDecimalNumber: Foundation.NSDecimalNumber {
- @objc get
- }
- @available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
- @objc final public var pricePerMonth: Foundation.NSDecimalNumber? {
- @objc get
- }
- @objc final public var localizedIntroductoryPriceString: Swift.String? {
- @objc get
- }
-}
-@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
-extension RevenueCat.StoreProduct {
-
- #if compiler(>=5.3) && $AsyncAwait
- final public func getEligiblePromotionalOffers() async -> [RevenueCat.PromotionalOffer]
- #endif
-
-}
-extension RevenueCat.StoreProduct {
- @objc convenience dynamic public init(sk1Product: RevenueCat.SK1Product)
- @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
- convenience public init(sk2Product: RevenueCat.SK2Product)
- @objc final public var sk1Product: RevenueCat.SK1Product? {
- @objc get
- }
- @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
- final public var sk2Product: RevenueCat.SK2Product? {
- get
- }
-}
-extension RevenueCat.StoreProduct {
- @available(iOS, unavailable, introduced: 11.2, renamed: "introductoryDiscount", message: "Use StoreProductDiscount instead")
- @available(tvOS, unavailable, introduced: 11.2, renamed: "introductoryDiscount", message: "Use StoreProductDiscount instead")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "introductoryDiscount", message: "Use StoreProductDiscount instead")
- @available(macOS, unavailable, introduced: 10.13.2, renamed: "introductoryDiscount", message: "Use StoreProductDiscount instead")
- @objc final public var introductoryPrice: StoreKit.SKProductDiscount? {
- @objc get
- }
- @available(iOS, unavailable, message: "Use localizedPriceString instead")
- @available(tvOS, unavailable, message: "Use localizedPriceString instead")
- @available(watchOS, unavailable, message: "Use localizedPriceString instead")
- @available(macOS, unavailable, message: "Use localizedPriceString instead")
- @objc final public var priceLocale: Foundation.Locale {
- @objc get
- }
-}
-extension RevenueCat.StoreProduct.ProductCategory : Swift.Equatable {}
-extension RevenueCat.StoreProduct.ProductCategory : Swift.Hashable {}
-extension RevenueCat.StoreProduct.ProductCategory : Swift.RawRepresentable {}
-extension RevenueCat.StoreProduct.ProductType : Swift.Equatable {}
-extension RevenueCat.StoreProduct.ProductType : Swift.Hashable {}
-extension RevenueCat.StoreProduct.ProductType : Swift.RawRepresentable {}
-extension RevenueCat.StoreProductDiscount.PaymentMode : Swift.Equatable {}
-extension RevenueCat.StoreProductDiscount.PaymentMode : Swift.Hashable {}
-extension RevenueCat.StoreProductDiscount.PaymentMode : Swift.RawRepresentable {}
-extension RevenueCat.ErrorCode : Swift.Equatable {}
-extension RevenueCat.ErrorCode : Swift.Hashable {}
-extension RevenueCat.ErrorCode : Swift.RawRepresentable {}
-extension RevenueCat.ErrorCode : Swift.CustomStringConvertible {}
-extension RevenueCat.RefundRequestStatus : Swift.Equatable {}
-extension RevenueCat.RefundRequestStatus : Swift.Hashable {}
-extension RevenueCat.RefundRequestStatus : Swift.RawRepresentable {}
-extension RevenueCat.Store : Swift.Equatable {}
-extension RevenueCat.Store : Swift.Hashable {}
-extension RevenueCat.Store : Swift.RawRepresentable {}
-extension RevenueCat.PeriodType : Swift.Equatable {}
-extension RevenueCat.PeriodType : Swift.Hashable {}
-extension RevenueCat.PeriodType : Swift.RawRepresentable {}
-extension RevenueCat.LogLevel : Swift.Equatable {}
-extension RevenueCat.LogLevel : Swift.Hashable {}
-extension RevenueCat.LogLevel : Swift.RawRepresentable {}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.Equatable {}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.Hashable {}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.RawRepresentable {}
-extension RevenueCat.PurchaseOwnershipType : Swift.Equatable {}
-extension RevenueCat.PurchaseOwnershipType : Swift.Hashable {}
-extension RevenueCat.PurchaseOwnershipType : Swift.RawRepresentable {}
-extension RevenueCat.PackageType : Swift.Equatable {}
-extension RevenueCat.PackageType : Swift.Hashable {}
-extension RevenueCat.PackageType : Swift.RawRepresentable {}
-extension RevenueCat.IntroEligibilityStatus : Swift.Equatable {}
-extension RevenueCat.IntroEligibilityStatus : Swift.Hashable {}
-extension RevenueCat.IntroEligibilityStatus : Swift.RawRepresentable {}
-extension RevenueCat.StoreProductDiscount.DiscountType : Swift.Equatable {}
-extension RevenueCat.StoreProductDiscount.DiscountType : Swift.Hashable {}
-extension RevenueCat.StoreProductDiscount.DiscountType : Swift.RawRepresentable {}
-extension RevenueCat.AttributionNetwork : Swift.Equatable {}
-extension RevenueCat.AttributionNetwork : Swift.Hashable {}
-extension RevenueCat.AttributionNetwork : Swift.RawRepresentable {}
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftmodule b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftmodule
deleted file mode 100644
index 20389fa..0000000
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/arm64.swiftmodule and /dev/null differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftdoc
index afa84cb..d324314 100644
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftdoc and b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
index 504a7d2..2a1590e 100644
--- a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
+++ b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftinterface
@@ -1,5 +1,5 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.5.2 (swiftlang-1300.0.47.5 clang-1300.0.29.30)
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
// swift-module-flags: -target x86_64-apple-ios11.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name RevenueCat
import Foundation
@_exported import RevenueCat
@@ -47,6 +47,7 @@ extension RevenueCat.Offering : Swift.Identifiable {
}
public typealias ID = Swift.String
}
+infix operator ??? : DefaultPrecedence
@_hasMissingDesignatedInitializers @objc(RCOfferings) public class Offerings : ObjectiveC.NSObject {
@objc final public let all: [Swift.String : RevenueCat.Offering]
@objc public var current: RevenueCat.Offering? {
@@ -61,6 +62,74 @@ extension RevenueCat.Offering : Swift.Identifiable {
}
@objc deinit
}
+@_hasMissingDesignatedInitializers @objc(RCStorefront) public class Storefront : ObjectiveC.NSObject {
+ @objc public var countryCode: Swift.String {
+ @objc get
+ }
+ @objc public var identifier: Swift.String {
+ @objc get
+ }
+ @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
+ @objc override dynamic public var hash: Swift.Int {
+ @objc get
+ }
+ @objc override dynamic public var description: Swift.String {
+ @objc get
+ }
+ @objc deinit
+}
+extension RevenueCat.Storefront {
+
+ #if compiler(>=5.3) && $EffectfulProp
+ @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, macCatalyst 13.1, *)
+ public static var currentStorefront: RevenueCat.Storefront? {
+ get async
+ }
+ #endif
+
+ @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, macCatalyst 13.1, *)
+ @available(swift, obsoleted: 0.0.1, renamed: "currentStorefront")
+ @objc public static var sk1CurrentStorefront: RevenueCat.Storefront? {
+ @objc get
+ }
+}
+extension RevenueCat.Storefront {
+ @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, macCatalyst 13.1, *)
+ @objc dynamic public var sk1Storefront: StoreKit.SKStorefront? {
+ @objc get
+ }
+ @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
+ public var sk2Storefront: StoreKit.Storefront? {
+ get
+ }
+}
+@_hasMissingDesignatedInitializers @objc(RCAttribution) public class Attribution : ObjectiveC.NSObject {
+ @objc deinit
+}
+extension RevenueCat.Attribution {
+ @objc dynamic public func collectDeviceIdentifiers()
+ @objc dynamic public func setAttributes(_ attributes: [Swift.String : Swift.String])
+ @objc dynamic public func setEmail(_ email: Swift.String?)
+ @objc dynamic public func setPhoneNumber(_ phoneNumber: Swift.String?)
+ @objc dynamic public func setDisplayName(_ displayName: Swift.String?)
+ @objc dynamic public func setPushToken(_ pushToken: Foundation.Data?)
+ @objc dynamic public func setPushTokenString(_ pushToken: Swift.String?)
+ @objc dynamic public func setAdjustID(_ adjustID: Swift.String?)
+ @objc dynamic public func setAppsflyerID(_ appsflyerID: Swift.String?)
+ @objc dynamic public func setFBAnonymousID(_ fbAnonymousID: Swift.String?)
+ @objc dynamic public func setMparticleID(_ mparticleID: Swift.String?)
+ @objc dynamic public func setOnesignalID(_ onesignalID: Swift.String?)
+ @objc dynamic public func setAirshipChannelID(_ airshipChannelID: Swift.String?)
+ @objc dynamic public func setCleverTapID(_ cleverTapID: Swift.String?)
+ @objc dynamic public func setMixpanelDistinctID(_ mixpanelDistinctID: Swift.String?)
+ @objc dynamic public func setFirebaseAppInstanceID(_ firebaseAppInstanceID: Swift.String?)
+ @objc dynamic public func setMediaSource(_ mediaSource: Swift.String?)
+ @objc dynamic public func setCampaign(_ campaign: Swift.String?)
+ @objc dynamic public func setAdGroup(_ adGroup: Swift.String?)
+ @objc dynamic public func setAd(_ installAd: Swift.String?)
+ @objc dynamic public func setKeyword(_ keyword: Swift.String?)
+ @objc dynamic public func setCreative(_ creative: Swift.String?)
+}
extension RevenueCat.StoreProduct {
@objc(RCStoreProductCategory) public enum ProductCategory : Swift.Int {
case subscription
@@ -263,6 +332,12 @@ extension RevenueCat.Purchases {
public func paymentDiscount(for discount: StoreKit.SKProductDiscount, product: StoreKit.SKProduct) async throws -> StoreKit.SKPaymentDiscount
#endif
+ @available(iOS, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @available(tvOS, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @available(watchOS, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @available(macOS, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @available(macCatalyst, obsoleted: 1, message: "This was never meant to be public. Use `PurchasesDelegate.purchases(_:readyForPromotedProduct:purchase:)`")
+ @objc dynamic public func shouldPurchasePromoProduct(_ product: RevenueCat.StoreProduct, defermentBlock: @escaping RevenueCat.StartPurchaseBlock)
@available(iOS, obsoleted: 1, renamed: "logIn")
@available(tvOS, obsoleted: 1, renamed: "logIn")
@available(watchOS, obsoleted: 1, renamed: "logIn")
@@ -279,6 +354,11 @@ extension RevenueCat.Purchases {
@available(macOS, obsoleted: 1, renamed: "logOut")
@objc(resetWithCompletionBlock:) dynamic public func reset(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
}
+@available(iOS, obsoleted: 1, renamed: "StartPurchaseBlock")
+@available(tvOS, obsoleted: 1, renamed: "StartPurchaseBlock")
+@available(watchOS, obsoleted: 1, renamed: "StartPurchaseBlock")
+@available(macOS, obsoleted: 1, renamed: "StartPurchaseBlock")
+public typealias DeferredPromotionalPurchaseBlock = RevenueCat.StartPurchaseBlock
@_inheritsConvenienceInitializers @available(iOS, obsoleted: 1, renamed: "CustomerInfo")
@available(tvOS, obsoleted: 1, renamed: "CustomerInfo")
@available(watchOS, obsoleted: 1, renamed: "CustomerInfo")
@@ -472,7 +552,24 @@ extension RevenueCat.Purchases {
}
}
@_hasMissingDesignatedInitializers @objc(RCPromotionalOffer) final public class PromotionalOffer : ObjectiveC.NSObject {
- final public let discount: RevenueCat.StoreProductDiscount
+ @objc final public let discount: RevenueCat.StoreProductDiscount
+ @objc final public let signedData: RevenueCat.PromotionalOffer.SignedData
+ @objc deinit
+}
+@objc extension RevenueCat.PromotionalOffer {
+ @_hasMissingDesignatedInitializers @objc(RCPromotionalOfferSignedData) public class SignedData : ObjectiveC.NSObject {
+ @objc final public let identifier: Swift.String
+ @objc final public let keyIdentifier: Swift.String
+ @objc final public let nonce: Foundation.UUID
+ @objc final public let signature: Swift.String
+ @objc final public let timestamp: Swift.Int
+ @objc deinit
+ }
+}
+@_hasMissingDesignatedInitializers @objc(RCNonSubscriptionTransaction) final public class NonSubscriptionTransaction : ObjectiveC.NSObject {
+ @objc final public let productIdentifier: Swift.String
+ @objc final public let purchaseDate: Foundation.Date
+ @objc final public let transactionIdentifier: Swift.String
@objc deinit
}
extension RevenueCat.Purchases {
@@ -492,6 +589,217 @@ extension RevenueCat.Purchases {
public func checkTrialOrIntroDiscountEligibility(_ productIdentifiers: [Swift.String]) async -> [Swift.String : RevenueCat.IntroEligibility]
#endif
+
+ #if compiler(>=5.3) && $AsyncAwait
+ @available(iOS, deprecated, introduced: 13.0, renamed: "promotionalOffer(forProductDiscount:product:)")
+ @available(tvOS, deprecated, introduced: 13.0, renamed: "promotionalOffer(forProductDiscount:product:)")
+ @available(watchOS, deprecated, introduced: 6.2, renamed: "promotionalOffer(forProductDiscount:product:)")
+ @available(macOS, deprecated, introduced: 10.15, renamed: "promotionalOffer(forProductDiscount:product:)")
+ @available(macCatalyst, deprecated, introduced: 13.0, renamed: "promotionalOffer(forProductDiscount:product:)")
+ public func getPromotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct) async throws -> RevenueCat.PromotionalOffer
+ #endif
+
+
+ #if compiler(>=5.3) && $AsyncAwait
+ @available(iOS, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers(forProduct:)")
+ @available(tvOS, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers(forProduct:)")
+ @available(watchOS, deprecated, introduced: 6.2, renamed: "eligiblePromotionalOffers(forProduct:)")
+ @available(macOS, deprecated, introduced: 10.15, renamed: "eligiblePromotionalOffers(forProduct:)")
+ @available(macCatalyst, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers(forProduct:)")
+ public func getEligiblePromotionalOffers(forProduct product: RevenueCat.StoreProduct) async -> [RevenueCat.PromotionalOffer]
+ #endif
+
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?) -> RevenueCat.Purchases
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:observerMode:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool) -> RevenueCat.Purchases
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?) -> RevenueCat.Purchases
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool) -> RevenueCat.Purchases
+ @available(iOS, deprecated: 1, renamed: "configure(with:)")
+ @available(tvOS, deprecated: 1, renamed: "configure(with:)")
+ @available(watchOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macOS, deprecated: 1, renamed: "configure(with:)")
+ @available(macCatalyst, deprecated: 1, renamed: "configure(with:)")
+ @discardableResult
+ @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:dangerousSettings:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool, dangerousSettings: RevenueCat.DangerousSettings?) -> RevenueCat.Purchases
+}
+extension RevenueCat.Purchases {
+ @available(iOS, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @available(tvOS, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @available(watchOS, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @available(macOS, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @available(macCatalyst, deprecated, renamed: "attribution.collectDeviceIdentifiers()")
+ @objc dynamic public func collectDeviceIdentifiers()
+ @available(iOS, deprecated, renamed: "attribution.setAttributes(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAttributes(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAttributes(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAttributes(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAttributes(_:)")
+ @objc dynamic public func setAttributes(_ attributes: [Swift.String : Swift.String])
+ @available(iOS, deprecated, renamed: "attribution.setEmail(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setEmail(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setEmail(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setEmail(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setEmail(_:)")
+ @objc dynamic public func setEmail(_ email: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setPhoneNumber(_:)")
+ @objc dynamic public func setPhoneNumber(_ phoneNumber: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setDisplayName(_:)")
+ @objc dynamic public func setDisplayName(_ displayName: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setPushToken(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setPushToken(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setPushToken(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setPushToken(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setPushToken(_:)")
+ @objc dynamic public func setPushToken(_ pushToken: Foundation.Data?)
+ @available(iOS, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setPushTokenString(_:)")
+ @objc dynamic public func setPushTokenString(_ pushToken: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAdjustID(_:)")
+ @objc dynamic public func setAdjustID(_ adjustID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAppsflyerID(_:)")
+ @objc dynamic public func setAppsflyerID(_ appsflyerID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setFBAnonymousID(_:)")
+ @objc dynamic public func setFBAnonymousID(_ fbAnonymousID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setMparticleID(_:)")
+ @objc dynamic public func setMparticleID(_ mparticleID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setOnesignalID(_:)")
+ @objc dynamic public func setOnesignalID(_ onesignalID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAirshipChannelID(_:)")
+ @objc dynamic public func setAirshipChannelID(_ airshipChannelID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setCleverTapID(_:)")
+ @objc dynamic public func setCleverTapID(_ cleverTapID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setMixpanelDistinctID(_:)")
+ @objc dynamic public func setMixpanelDistinctID(_ mixpanelDistinctID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setFirebaseAppInstanceID(_:)")
+ @objc dynamic public func setFirebaseAppInstanceID(_ firebaseAppInstanceID: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setMediaSource(_:)")
+ @objc dynamic public func setMediaSource(_ mediaSource: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setCampaign(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setCampaign(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setCampaign(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setCampaign(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setCampaign(_:)")
+ @objc dynamic public func setCampaign(_ campaign: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAdGroup(_:)")
+ @objc dynamic public func setAdGroup(_ adGroup: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setAd(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setAd(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setAd(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setAd(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setAd(_:)")
+ @objc dynamic public func setAd(_ installAd: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setKeyword(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setKeyword(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setKeyword(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setKeyword(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setKeyword(_:)")
+ @objc dynamic public func setKeyword(_ keyword: Swift.String?)
+ @available(iOS, deprecated, renamed: "attribution.setCreative(_:)")
+ @available(tvOS, deprecated, renamed: "attribution.setCreative(_:)")
+ @available(watchOS, deprecated, renamed: "attribution.setCreative(_:)")
+ @available(macOS, deprecated, renamed: "attribution.setCreative(_:)")
+ @available(macCatalyst, deprecated, renamed: "attribution.setCreative(_:)")
+ @objc dynamic public func setCreative(_ creative: Swift.String?)
+}
+extension RevenueCat.StoreProduct {
+
+ #if compiler(>=5.3) && $AsyncAwait
+ @available(iOS, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers()")
+ @available(tvOS, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers()")
+ @available(watchOS, deprecated, introduced: 6.2, renamed: "eligiblePromotionalOffers()")
+ @available(macOS, deprecated, introduced: 10.15, renamed: "eligiblePromotionalOffers()")
+ @available(macCatalyst, deprecated, introduced: 13.0, renamed: "eligiblePromotionalOffers()")
+ final public func getEligiblePromotionalOffers() async -> [RevenueCat.PromotionalOffer]
+ #endif
+
+}
+extension RevenueCat.CustomerInfo {
+ @available(*, deprecated, message: "use nonSubscriptionTransactions")
+ @objc final public var nonConsumablePurchases: Swift.Set {
+ @objc get
+ }
+ @available(*, deprecated, renamed: "nonSubscriptions")
+ @objc final public var nonSubscriptionTransactions: [RevenueCat.StoreTransaction] {
+ @objc get
+ }
}
@objc(RCPurchasesErrorCode) public enum ErrorCode : Swift.Int, Swift.Error {
@objc(RCUnknownError) case unknownError = 0
@@ -521,7 +829,6 @@ extension RevenueCat.Purchases {
@objc(RCUnsupportedError) case unsupportedError = 24
@objc(RCEmptySubscriberAttributesError) case emptySubscriberAttributes = 25
@objc(RCProductDiscountMissingIdentifierError) case productDiscountMissingIdentifierError = 26
- @objc(RCMissingAppUserIDForAliasCreationError) case missingAppUserIDForAliasCreationError = 27
@objc(RCProductDiscountMissingSubscriptionGroupIdentifierError) case productDiscountMissingSubscriptionGroupIdentifierError = 28
@objc(RCCustomerInfoError) case customerInfoError = 29
@objc(RCSystemInfoError) case systemInfoError = 30
@@ -529,6 +836,7 @@ extension RevenueCat.Purchases {
@objc(RCProductRequestTimedOut) case productRequestTimedOut = 32
@objc(RCAPIEndpointBlocked) case apiEndpointBlockedError = 33
@objc(RCInvalidPromotionalOfferError) case invalidPromotionalOfferError = 34
+ @objc(RCOfflineConnectionError) case offlineConnectionError = 35
public init?(rawValue: Swift.Int)
public typealias RawValue = Swift.Int
public static var _nsErrorDomain: Swift.String {
@@ -577,45 +885,47 @@ extension RevenueCat.Purchases {
@objc public init(autoSyncPurchases: Swift.Bool)
@objc deinit
}
-@_hasMissingDesignatedInitializers @objc(RCCustomerInfo) public class CustomerInfo : ObjectiveC.NSObject {
+@_hasMissingDesignatedInitializers @objc(RCCustomerInfo) final public class CustomerInfo : ObjectiveC.NSObject {
@objc final public let entitlements: RevenueCat.EntitlementInfos
- @objc public var activeSubscriptions: Swift.Set {
- @objc get
- }
- @objc public var allPurchasedProductIdentifiers: Swift.Set {
+ @objc final public var activeSubscriptions: Swift.Set {
@objc get
}
- @objc public var latestExpirationDate: Foundation.Date? {
+ @objc final public var allPurchasedProductIdentifiers: Swift.Set {
@objc get
}
- @available(*, deprecated, message: "use nonSubscriptionTransactions")
- @objc public var nonConsumablePurchases: Swift.Set {
+ @objc final public var latestExpirationDate: Foundation.Date? {
@objc get
}
- @objc final public let nonSubscriptionTransactions: [RevenueCat.StoreTransaction]
+ @objc final public let nonSubscriptions: [RevenueCat.NonSubscriptionTransaction]
@objc final public let requestDate: Foundation.Date
@objc final public let firstSeen: Foundation.Date
@objc final public let originalAppUserId: Swift.String
@objc final public let managementURL: Foundation.URL?
@objc final public let originalPurchaseDate: Foundation.Date?
@objc final public let originalApplicationVersion: Swift.String?
- @objc final public let rawData: [Swift.String : Any]
- @objc public func expirationDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
- @objc public func purchaseDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
- @objc public func expirationDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
- @objc public func purchaseDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
+ @objc final public func expirationDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
+ @objc final public func purchaseDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
+ @objc final public func expirationDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
+ @objc final public func purchaseDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
+ @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
+ @objc override final public var hash: Swift.Int {
@objc get
}
- @objc override dynamic public var description: Swift.String {
+ @objc override final public var description: Swift.String {
@objc get
}
@objc deinit
}
extension RevenueCat.CustomerInfo : RevenueCat.RawDataContainer {
+ @objc final public var rawData: [Swift.String : Any] {
+ @objc get
+ }
public typealias Content = [Swift.String : Any]
}
+extension RevenueCat.CustomerInfo : Swift.Codable {
+ convenience public init(from decoder: Swift.Decoder) throws
+ final public func encode(to encoder: Swift.Encoder) throws
+}
@objc(RCStore) public enum Store : Swift.Int {
@objc(RCAppStore) case appStore = 0
@objc(RCMacAppStore) case macAppStore = 1
@@ -623,6 +933,7 @@ extension RevenueCat.CustomerInfo : RevenueCat.RawDataContainer {
@objc(RCStripe) case stripe = 3
@objc(RCPromotional) case promotional = 4
@objc(RCUnknownStore) case unknownStore = 5
+ @objc(RCAmazon) case amazon = 6
public init?(rawValue: Swift.Int)
public typealias RawValue = Swift.Int
public var rawValue: Swift.Int {
@@ -652,19 +963,45 @@ extension RevenueCat.PeriodType : Swift.CaseIterable {
}
}
@_hasMissingDesignatedInitializers @objc(RCEntitlementInfo) public class EntitlementInfo : ObjectiveC.NSObject {
- @objc final public let identifier: Swift.String
- @objc final public let isActive: Swift.Bool
- @objc final public let willRenew: Swift.Bool
- @objc final public let periodType: RevenueCat.PeriodType
- @objc final public let latestPurchaseDate: Foundation.Date?
- @objc final public let originalPurchaseDate: Foundation.Date?
- @objc final public let expirationDate: Foundation.Date?
- @objc final public let store: RevenueCat.Store
- @objc final public let productIdentifier: Swift.String
- @objc final public let isSandbox: Swift.Bool
- @objc final public let unsubscribeDetectedAt: Foundation.Date?
- @objc final public let billingIssueDetectedAt: Foundation.Date?
- @objc final public let ownershipType: RevenueCat.PurchaseOwnershipType
+ @objc public var identifier: Swift.String {
+ @objc get
+ }
+ @objc public var isActive: Swift.Bool {
+ @objc get
+ }
+ @objc public var willRenew: Swift.Bool {
+ @objc get
+ }
+ @objc public var periodType: RevenueCat.PeriodType {
+ @objc get
+ }
+ @objc public var latestPurchaseDate: Foundation.Date? {
+ @objc get
+ }
+ @objc public var originalPurchaseDate: Foundation.Date? {
+ @objc get
+ }
+ @objc public var expirationDate: Foundation.Date? {
+ @objc get
+ }
+ @objc public var store: RevenueCat.Store {
+ @objc get
+ }
+ @objc public var productIdentifier: Swift.String {
+ @objc get
+ }
+ @objc public var isSandbox: Swift.Bool {
+ @objc get
+ }
+ @objc public var unsubscribeDetectedAt: Foundation.Date? {
+ @objc get
+ }
+ @objc public var billingIssueDetectedAt: Foundation.Date? {
+ @objc get
+ }
+ @objc public var ownershipType: RevenueCat.PurchaseOwnershipType {
+ @objc get
+ }
@objc final public let rawData: [Swift.String : Any]
@objc override dynamic public var description: Swift.String {
@objc get
@@ -678,6 +1015,14 @@ extension RevenueCat.PeriodType : Swift.CaseIterable {
extension RevenueCat.EntitlementInfo : RevenueCat.RawDataContainer {
public typealias Content = [Swift.String : Any]
}
+extension RevenueCat.EntitlementInfo {
+ @objc dynamic public var isActiveInCurrentEnvironment: Swift.Bool {
+ @objc get
+ }
+ @objc dynamic public var isActiveInAnyEnvironment: Swift.Bool {
+ @objc get
+ }
+}
extension RevenueCat.EntitlementInfo : Swift.Identifiable {
public var id: Swift.String {
get
@@ -697,6 +1042,25 @@ extension RevenueCat.EntitlementInfo : Swift.Identifiable {
}
public typealias VerboseLogHandler = (_ level: RevenueCat.LogLevel, _ message: Swift.String, _ file: Swift.String?, _ function: Swift.String?, _ line: Swift.UInt) -> Swift.Void
public typealias LogHandler = (_ level: RevenueCat.LogLevel, _ message: Swift.String) -> Swift.Void
+@objc(RCPackageType) public enum PackageType : Swift.Int {
+ case unknown = -2, custom, lifetime, annual, sixMonth, threeMonth, twoMonth, monthly, weekly
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
+extension RevenueCat.PackageType : Swift.CaseIterable {
+ public typealias AllCases = [RevenueCat.PackageType]
+ public static var allCases: [RevenueCat.PackageType] {
+ get
+ }
+}
+extension RevenueCat.PackageType : Swift.CustomDebugStringConvertible {
+ public var debugDescription: Swift.String {
+ get
+ }
+}
public typealias SK1Transaction = StoreKit.SKPaymentTransaction
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
public typealias SK2Transaction = StoreKit.Transaction
@@ -740,7 +1104,7 @@ public protocol RawDataContainer {
}
public typealias PurchaseResultData = (transaction: RevenueCat.StoreTransaction?, customerInfo: RevenueCat.CustomerInfo, userCancelled: Swift.Bool)
public typealias PurchaseCompletedBlock = (RevenueCat.StoreTransaction?, RevenueCat.CustomerInfo?, Swift.Error?, Swift.Bool) -> Swift.Void
-public typealias DeferredPromotionalPurchaseBlock = (@escaping RevenueCat.PurchaseCompletedBlock) -> Swift.Void
+public typealias StartPurchaseBlock = (@escaping RevenueCat.PurchaseCompletedBlock) -> Swift.Void
@_hasMissingDesignatedInitializers @objc(RCPurchases) public class Purchases : ObjectiveC.NSObject {
@objc(sharedPurchases) public static var shared: RevenueCat.Purchases {
@objc get
@@ -786,33 +1150,13 @@ public typealias DeferredPromotionalPurchaseBlock = (@escaping RevenueCat.Purcha
@objc public static var frameworkVersion: Swift.String {
@objc get
}
+ @objc final public let attribution: RevenueCat.Attribution
@objc public var finishTransactions: Swift.Bool {
@objc get
@objc set
}
- @objc public func collectDeviceIdentifiers()
@objc deinit
}
-extension RevenueCat.Purchases {
- @objc dynamic public func setAttributes(_ attributes: [Swift.String : Swift.String])
- @objc dynamic public func setEmail(_ email: Swift.String?)
- @objc dynamic public func setPhoneNumber(_ phoneNumber: Swift.String?)
- @objc dynamic public func setDisplayName(_ displayName: Swift.String?)
- @objc dynamic public func setPushToken(_ pushToken: Foundation.Data?)
- @objc dynamic public func setAdjustID(_ adjustID: Swift.String?)
- @objc dynamic public func setAppsflyerID(_ appsflyerID: Swift.String?)
- @objc dynamic public func setFBAnonymousID(_ fbAnonymousID: Swift.String?)
- @objc dynamic public func setMparticleID(_ mparticleID: Swift.String?)
- @objc dynamic public func setOnesignalID(_ onesignalID: Swift.String?)
- @objc dynamic public func setAirshipChannelID(_ airshipChannelID: Swift.String?)
- @objc dynamic public func setCleverTapID(_ cleverTapID: Swift.String?)
- @objc dynamic public func setMediaSource(_ mediaSource: Swift.String?)
- @objc dynamic public func setCampaign(_ campaign: Swift.String?)
- @objc dynamic public func setAdGroup(_ adGroup: Swift.String?)
- @objc dynamic public func setAd(_ installAd: Swift.String?)
- @objc dynamic public func setKeyword(_ keyword: Swift.String?)
- @objc dynamic public func setCreative(_ creative: Swift.String?)
-}
extension RevenueCat.Purchases {
@objc dynamic public var appUserID: Swift.String {
@objc get
@@ -844,10 +1188,11 @@ extension RevenueCat.Purchases {
}
extension RevenueCat.Purchases {
@objc dynamic public func getCustomerInfo(completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
+ @objc dynamic public func getCustomerInfo(fetchPolicy: RevenueCat.CacheFetchPolicy, completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
#if compiler(>=5.3) && $AsyncAwait
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func customerInfo() async throws -> RevenueCat.CustomerInfo
+ public func customerInfo(fetchPolicy: RevenueCat.CacheFetchPolicy = .default) async throws -> RevenueCat.CustomerInfo
#endif
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
@@ -919,6 +1264,8 @@ extension RevenueCat.Purchases {
public func checkTrialOrIntroDiscountEligibility(product: RevenueCat.StoreProduct) async -> RevenueCat.IntroEligibilityStatus
#endif
+ @available(iOS 13.4, macCatalyst 13.4, *)
+ @objc dynamic public func showPriceConsentIfNeeded()
@objc dynamic public func invalidateCustomerInfoCache()
@available(iOS 14.0, *)
@available(watchOS, unavailable)
@@ -931,13 +1278,13 @@ extension RevenueCat.Purchases {
#if compiler(>=5.3) && $AsyncAwait
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func getPromotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct) async throws -> RevenueCat.PromotionalOffer
+ public func promotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct) async throws -> RevenueCat.PromotionalOffer
#endif
#if compiler(>=5.3) && $AsyncAwait
@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func getEligiblePromotionalOffers(forProduct product: RevenueCat.StoreProduct) async -> [RevenueCat.PromotionalOffer]
+ public func eligiblePromotionalOffers(forProduct product: RevenueCat.StoreProduct) async -> [RevenueCat.PromotionalOffer]
#endif
@available(iOS 13.0, macOS 10.15, *)
@@ -982,20 +1329,11 @@ extension RevenueCat.Purchases {
}
extension RevenueCat.Purchases {
@discardableResult
- @objc(configureWithAPIKey:) public static func configure(withAPIKey apiKey: Swift.String) -> RevenueCat.Purchases
+ @objc(configureWithConfiguration:) public static func configure(with configuration: RevenueCat.Configuration) -> RevenueCat.Purchases
@discardableResult
- @objc(configureWithAPIKey:appUserID:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool) -> RevenueCat.Purchases
+ @objc(configureWithConfigurationBuilder:) public static func configure(with builder: RevenueCat.Configuration.Builder) -> RevenueCat.Purchases
@discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:dangerousSettings:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool, dangerousSettings: RevenueCat.DangerousSettings?) -> RevenueCat.Purchases
-}
-extension RevenueCat.Purchases {
- @objc dynamic public func shouldPurchasePromoProduct(_ product: RevenueCat.StoreProduct, defermentBlock: @escaping RevenueCat.DeferredPromotionalPurchaseBlock)
+ @objc(configureWithAPIKey:) public static func configure(withAPIKey apiKey: Swift.String) -> RevenueCat.Purchases
}
extension RevenueCat.Purchases {
@available(*, deprecated, message: "use Purchases.logLevel instead")
@@ -1077,17 +1415,23 @@ extension RevenueCat.PurchaseOwnershipType : Swift.CaseIterable {
extension RevenueCat.PurchaseOwnershipType : Swift.Decodable {
public init(from decoder: Swift.Decoder) throws
}
+extension RevenueCat.PurchaseOwnershipType : Swift.Encodable {
+ public func encode(to encoder: Swift.Encoder) throws
+}
extension RevenueCat.PeriodType : Swift.Decodable {
public init(from decoder: Swift.Decoder) throws
}
+extension RevenueCat.PeriodType : Swift.Encodable {
+ public func encode(to encoder: Swift.Encoder) throws
+}
extension RevenueCat.Store : Swift.Decodable {
public init(from decoder: Swift.Decoder) throws
}
+extension RevenueCat.Store : Swift.Encodable {
+ public func encode(to encoder: Swift.Encoder) throws
+}
@_hasMissingDesignatedInitializers @objc(RCEntitlementInfos) public class EntitlementInfos : ObjectiveC.NSObject {
@objc final public let all: [Swift.String : RevenueCat.EntitlementInfo]
- @objc public var active: [Swift.String : RevenueCat.EntitlementInfo] {
- @objc get
- }
@objc public subscript(key: Swift.String) -> RevenueCat.EntitlementInfo? {
@objc get
}
@@ -1097,12 +1441,15 @@ extension RevenueCat.Store : Swift.Decodable {
@objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
@objc deinit
}
-@objc(RCPackageType) public enum PackageType : Swift.Int {
- case unknown = -2, custom, lifetime, annual, sixMonth, threeMonth, twoMonth, monthly, weekly
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
+extension RevenueCat.EntitlementInfos {
+ @objc dynamic public var active: [Swift.String : RevenueCat.EntitlementInfo] {
+ @objc get
+ }
+ @objc dynamic public var activeInCurrentEnvironment: [Swift.String : RevenueCat.EntitlementInfo] {
+ @objc get
+ }
+ @objc dynamic public var activeInAnyEnvironment: [Swift.String : RevenueCat.EntitlementInfo] {
+ @objc get
}
}
@_hasMissingDesignatedInitializers @objc(RCPackage) public class Package : ObjectiveC.NSObject {
@@ -1124,7 +1471,7 @@ extension RevenueCat.Store : Swift.Decodable {
}
@objc extension RevenueCat.Package {
@objc public static func string(from packageType: RevenueCat.PackageType) -> Swift.String?
- @objc dynamic public class func packageType(from string: Swift.String) -> RevenueCat.PackageType
+ @objc public static func packageType(from string: Swift.String) -> RevenueCat.PackageType
}
extension RevenueCat.Package : Swift.Identifiable {
public var id: Swift.String {
@@ -1132,6 +1479,24 @@ extension RevenueCat.Package : Swift.Identifiable {
}
public typealias ID = Swift.String
}
+@_hasMissingDesignatedInitializers @objc(RCConfiguration) public class Configuration : ObjectiveC.NSObject {
+ @objc public static func builder(withAPIKey apiKey: Swift.String) -> RevenueCat.Configuration.Builder
+ @objc(RCConfigurationBuilder) public class Builder : ObjectiveC.NSObject {
+ @objc public init(withAPIKey apiKey: Swift.String)
+ @objc public func with(apiKey: Swift.String) -> RevenueCat.Configuration.Builder
+ @objc public func with(appUserID: Swift.String) -> RevenueCat.Configuration.Builder
+ @objc public func with(observerMode: Swift.Bool) -> RevenueCat.Configuration.Builder
+ @objc public func with(userDefaults: Foundation.UserDefaults) -> RevenueCat.Configuration.Builder
+ @objc public func with(usesStoreKit2IfAvailable: Swift.Bool) -> RevenueCat.Configuration.Builder
+ @objc public func with(dangerousSettings: RevenueCat.DangerousSettings) -> RevenueCat.Configuration.Builder
+ @objc public func with(networkTimeout: Foundation.TimeInterval) -> RevenueCat.Configuration.Builder
+ @objc public func with(storeKit1Timeout: Foundation.TimeInterval) -> RevenueCat.Configuration.Builder
+ @objc public func with(platformInfo: RevenueCat.Purchases.PlatformInfo) -> RevenueCat.Configuration.Builder
+ @objc public func build() -> RevenueCat.Configuration
+ @objc deinit
+ }
+ @objc deinit
+}
@objc(RCIntroEligibilityStatus) public enum IntroEligibilityStatus : Swift.Int {
case unknown = 0
case ineligible
@@ -1156,6 +1521,18 @@ extension RevenueCat.IntroEligibilityStatus : Swift.CaseIterable {
}
@objc deinit
}
+@objc(RCCacheFetchPolicy) public enum CacheFetchPolicy : Swift.Int {
+ case fromCacheOnly
+ case fetchCurrent
+ case notStaleCachedOrFetched
+ case cachedOrFetched
+ public static let `default`: RevenueCat.CacheFetchPolicy
+ public init?(rawValue: Swift.Int)
+ public typealias RawValue = Swift.Int
+ public var rawValue: Swift.Int {
+ get
+ }
+}
@available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
public typealias SK1ProductDiscount = StoreKit.SKProductDiscount
@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
@@ -1198,6 +1575,9 @@ public typealias SK2ProductDiscount = StoreKit.Product.SubscriptionOffer
@objc final public var subscriptionPeriod: RevenueCat.SubscriptionPeriod {
@objc get
}
+ @objc final public var numberOfPeriods: Swift.Int {
+ @objc get
+ }
@objc final public var type: RevenueCat.StoreProductDiscount.DiscountType {
@objc get
}
@@ -1250,7 +1630,18 @@ extension RevenueCat.StoreProductDiscount : Swift.Identifiable {
@available(watchOS, obsoleted: 1)
@objc(purchases:didReceiveUpdatedPurchaserInfo:) optional func purchases(_ purchases: RevenueCat.Purchases, didReceiveUpdated purchaserInfo: RevenueCat.CustomerInfo)
@objc(purchases:receivedUpdatedCustomerInfo:) optional func purchases(_ purchases: RevenueCat.Purchases, receivedUpdated customerInfo: RevenueCat.CustomerInfo)
- @objc optional func purchases(_ purchases: RevenueCat.Purchases, shouldPurchasePromoProduct product: RevenueCat.StoreProduct, defermentBlock makeDeferredPurchase: @escaping RevenueCat.DeferredPromotionalPurchaseBlock)
+ @objc optional func purchases(_ purchases: RevenueCat.Purchases, readyForPromotedProduct product: RevenueCat.StoreProduct, purchase startPurchase: @escaping RevenueCat.StartPurchaseBlock)
+ @available(iOS, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @available(tvOS, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @available(watchOS, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @available(macOS, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @available(macCatalyst, obsoleted: 1, renamed: "purchases(_:readyForPromotedProduct:purchase:)")
+ @objc optional func purchases(_ purchases: RevenueCat.Purchases, shouldPurchasePromoProduct product: RevenueCat.StoreProduct, defermentBlock makeDeferredPurchase: @escaping RevenueCat.StartPurchaseBlock)
+ @available(iOS 13.4, macCatalyst 13.4, *)
+ @available(macOS, unavailable)
+ @available(tvOS, unavailable)
+ @available(watchOS, unavailable)
+ @objc optional var shouldShowPriceConsent: Swift.Bool { get }
}
@objc(RCAttributionNetwork) public enum AttributionNetwork : Swift.Int {
case appleSearchAds
@@ -1342,7 +1733,7 @@ extension RevenueCat.StoreProduct {
extension RevenueCat.StoreProduct {
#if compiler(>=5.3) && $AsyncAwait
- final public func getEligiblePromotionalOffers() async -> [RevenueCat.PromotionalOffer]
+ final public func eligiblePromotionalOffers() async -> [RevenueCat.PromotionalOffer]
#endif
}
@@ -1399,18 +1790,21 @@ extension RevenueCat.PeriodType : Swift.RawRepresentable {}
extension RevenueCat.LogLevel : Swift.Equatable {}
extension RevenueCat.LogLevel : Swift.Hashable {}
extension RevenueCat.LogLevel : Swift.RawRepresentable {}
+extension RevenueCat.PackageType : Swift.Equatable {}
+extension RevenueCat.PackageType : Swift.Hashable {}
+extension RevenueCat.PackageType : Swift.RawRepresentable {}
extension RevenueCat.SubscriptionPeriod.Unit : Swift.Equatable {}
extension RevenueCat.SubscriptionPeriod.Unit : Swift.Hashable {}
extension RevenueCat.SubscriptionPeriod.Unit : Swift.RawRepresentable {}
extension RevenueCat.PurchaseOwnershipType : Swift.Equatable {}
extension RevenueCat.PurchaseOwnershipType : Swift.Hashable {}
extension RevenueCat.PurchaseOwnershipType : Swift.RawRepresentable {}
-extension RevenueCat.PackageType : Swift.Equatable {}
-extension RevenueCat.PackageType : Swift.Hashable {}
-extension RevenueCat.PackageType : Swift.RawRepresentable {}
extension RevenueCat.IntroEligibilityStatus : Swift.Equatable {}
extension RevenueCat.IntroEligibilityStatus : Swift.Hashable {}
extension RevenueCat.IntroEligibilityStatus : Swift.RawRepresentable {}
+extension RevenueCat.CacheFetchPolicy : Swift.Equatable {}
+extension RevenueCat.CacheFetchPolicy : Swift.Hashable {}
+extension RevenueCat.CacheFetchPolicy : Swift.RawRepresentable {}
extension RevenueCat.StoreProductDiscount.DiscountType : Swift.Equatable {}
extension RevenueCat.StoreProductDiscount.DiscountType : Swift.Hashable {}
extension RevenueCat.StoreProductDiscount.DiscountType : Swift.RawRepresentable {}
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftmodule b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftmodule
index 874125e..d3e108d 100644
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftmodule and b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64-apple-ios-simulator.swiftmodule differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftdoc b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftdoc
deleted file mode 100644
index afa84cb..0000000
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftdoc and /dev/null differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftinterface b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftinterface
deleted file mode 100644
index 504a7d2..0000000
--- a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftinterface
+++ /dev/null
@@ -1,1419 +0,0 @@
-// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.5.2 (swiftlang-1300.0.47.5 clang-1300.0.29.30)
-// swift-module-flags: -target x86_64-apple-ios11.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -module-name RevenueCat
-import Foundation
-@_exported import RevenueCat
-import StoreKit
-import Swift
-import UIKit
-import _Concurrency
-@_hasMissingDesignatedInitializers @objc(RCOffering) public class Offering : ObjectiveC.NSObject {
- @objc final public let identifier: Swift.String
- @objc final public let serverDescription: Swift.String
- @objc final public let availablePackages: [RevenueCat.Package]
- @objc public var lifetime: RevenueCat.Package? {
- get
- }
- @objc public var annual: RevenueCat.Package? {
- get
- }
- @objc public var sixMonth: RevenueCat.Package? {
- get
- }
- @objc public var threeMonth: RevenueCat.Package? {
- get
- }
- @objc public var twoMonth: RevenueCat.Package? {
- get
- }
- @objc public var monthly: RevenueCat.Package? {
- get
- }
- @objc public var weekly: RevenueCat.Package? {
- get
- }
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc public func package(identifier: Swift.String?) -> RevenueCat.Package?
- @objc public subscript(key: Swift.String) -> RevenueCat.Package? {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.Offering : Swift.Identifiable {
- public var id: Swift.String {
- get
- }
- public typealias ID = Swift.String
-}
-@_hasMissingDesignatedInitializers @objc(RCOfferings) public class Offerings : ObjectiveC.NSObject {
- @objc final public let all: [Swift.String : RevenueCat.Offering]
- @objc public var current: RevenueCat.Offering? {
- @objc get
- }
- @objc public func offering(identifier: Swift.String?) -> RevenueCat.Offering?
- @objc public subscript(key: Swift.String) -> RevenueCat.Offering? {
- @objc get
- }
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.StoreProduct {
- @objc(RCStoreProductCategory) public enum ProductCategory : Swift.Int {
- case subscription
- case nonSubscription
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
- @objc(RCStoreProductType) public enum ProductType : Swift.Int {
- case consumable
- case nonConsumable
- case nonRenewableSubscription
- case autoRenewableSubscription
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
-}
-extension RevenueCat.Purchases {
- @available(iOS, obsoleted: 1, renamed: "restorePurchases(completion:)")
- @available(tvOS, obsoleted: 1, renamed: "restorePurchases(completion:)")
- @available(watchOS, obsoleted: 1, renamed: "restorePurchases(completion:)")
- @available(macOS, obsoleted: 1, renamed: "restorePurchases(completion:)")
- @objc(restoreTransactionsWithCompletionBlock:) dynamic public func restoreTransactions(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)? = nil)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "restorePurchases()")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "restorePurchases()")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "restorePurchases()")
- @available(macOS, unavailable, introduced: 10.15, renamed: "restorePurchases()")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "restorePurchases()")
- public func restoreTransactions() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @available(iOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(tvOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(watchOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(macOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @objc dynamic public func customerInfo(completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
- @available(iOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(tvOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(watchOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @available(macOS, obsoleted: 1, renamed: "getCustomerInfo(completion:)")
- @objc(purchaserInfoWithCompletionBlock:) dynamic public func purchaserInfo(completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "customerInfo()")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "customerInfo()")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "customerInfo()")
- @available(macOS, unavailable, introduced: 10.15, renamed: "customerInfo()")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "customerInfo()")
- public func purchaserInfo() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @available(iOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
- @available(tvOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
- @available(watchOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
- @available(macOS, obsoleted: 1, renamed: "getProducts(_:completion:)")
- @objc(productsWithIdentifiers:completionBlock:) dynamic public func products(_ productIdentifiers: [Swift.String], completion: @escaping ([StoreKit.SKProduct]) -> Swift.Void)
- @available(iOS, obsoleted: 1, renamed: "getOfferings(completion:)")
- @available(tvOS, obsoleted: 1, renamed: "getOfferings(completion:)")
- @available(watchOS, obsoleted: 1, renamed: "getOfferings(completion:)")
- @available(macOS, obsoleted: 1, renamed: "getOfferings(completion:)")
- @objc(offeringsWithCompletionBlock:) dynamic public func offerings(completion: @escaping (RevenueCat.Offerings?, Swift.Error?) -> Swift.Void)
- @available(iOS, obsoleted: 1, renamed: "purchase(package:completion:)")
- @available(tvOS, obsoleted: 1, renamed: "purchase(package:completion:)")
- @available(watchOS, obsoleted: 1, renamed: "purchase(package:completion:)")
- @available(macOS, obsoleted: 1, renamed: "purchase(package:completion:)")
- @objc(purchasePackage:withCompletionBlock:) dynamic public func purchasePackage(_ package: RevenueCat.Package, _ completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(package:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(package:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(package:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:)")
- public func purchasePackage(_ package: RevenueCat.Package) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:completion:)")
- @objc(purchasePackage:withDiscount:completionBlock:) dynamic public func purchasePackage(_ package: RevenueCat.Package, discount: StoreKit.SKPaymentDiscount, _ completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(package:promotionalOffer:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- public func purchasePackage(_ package: RevenueCat.Package, discount: StoreKit.SKPaymentDiscount) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS, obsoleted: 1, renamed: "purchase(product:_:)")
- @available(tvOS, obsoleted: 1, renamed: "purchase(product:_:)")
- @available(watchOS, obsoleted: 1, renamed: "purchase(product:_:)")
- @available(macOS, obsoleted: 1, renamed: "purchase(product:_:)")
- @objc(purchaseProduct:withCompletionBlock:) dynamic public func purchaseProduct(_ product: StoreKit.SKProduct, _ completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(product:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(product:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(product:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(product:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(product:)")
- public func purchaseProduct(_ product: StoreKit.SKProduct) async throws
- #endif
-
- @available(iOS, unavailable, introduced: 12.2, renamed: "purchase(product:promotionalOffer:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "purchase(product:promotionalOffer:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(product:promotionalOffer:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "purchase(product:promotionalOffer:completion:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(product:promotionalOffer:completion:)")
- @objc(purchaseProduct:withDiscount:completionBlock:) dynamic public func purchaseProduct(_ product: StoreKit.SKProduct, discount: StoreKit.SKPaymentDiscount, _ completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(product:promotionalOffer:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(product:promotionalOffer:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(product:promotionalOffer:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(product:promotionalOffer:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(product:promotionalOffer:)")
- public func purchaseProduct(_ product: StoreKit.SKProduct, discount: StoreKit.SKPaymentDiscount) async throws
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(package:promotionalOffer:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- public func purchase(package: RevenueCat.Package, discount: RevenueCat.StoreProductDiscount) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macCatalyst, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- public func purchase(package: RevenueCat.Package, discount: RevenueCat.StoreProductDiscount, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "purchase(package:promotionalOffer:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "purchase(package:promotionalOffer:)")
- public func purchase(product: RevenueCat.StoreProduct, discount: RevenueCat.StoreProductDiscount) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "purchase(package:promotionalOffer:completion:)")
- @available(macCatalyst, unavailable, introduced: 12.2, renamed: "purchase(package:promotionalOffer:completion:)")
- public func purchase(product: RevenueCat.StoreProduct, discount: RevenueCat.StoreProductDiscount, completion: @escaping RevenueCat.PurchaseCompletedBlock)
- @available(iOS, unavailable, introduced: 13.0, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- @available(tvOS, unavailable, introduced: 13.0, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- @available(macOS, unavailable, introduced: 10.15, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- @available(macCatalyst, unavailable, introduced: 13.0, renamed: "getPromotionalOffer(forProductDiscount:product:)")
- public func checkPromotionalDiscountEligibility(forProductDiscount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct)
- @available(iOS, unavailable, introduced: 12.2, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- @available(tvOS, unavailable, introduced: 12.2, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- @available(macOS, unavailable, introduced: 10.14.4, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- @available(macCatalyst, unavailable, introduced: 12.2, renamed: "getPromotionalOffer(forProductDiscount:product:completion:)")
- public func checkPromotionalDiscountEligibility(forProductDiscount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct, completion: @escaping (Swift.AnyObject, Swift.Error?) -> Swift.Void)
- @available(iOS, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @available(tvOS, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @available(watchOS, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @available(macOS, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @available(macCatalyst, obsoleted: 1, renamed: "invalidateCustomerInfoCache")
- @objc dynamic public func invalidatePurchaserInfoCache()
- @available(iOS, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @available(tvOS, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @available(watchOS, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @available(macOS, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @available(macCatalyst, obsoleted: 1, renamed: "checkTrialOrIntroDiscountEligibility(_:completion:)")
- @objc(checkTrialOrIntroductoryPriceEligibility:completion:) dynamic public func checkTrialOrIntroductoryPriceEligibility(_ productIdentifiers: [Swift.String], completion: @escaping ([Swift.String : RevenueCat.IntroEligibility]) -> Swift.Void)
- @available(iOS, unavailable, introduced: 12.2, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(tvOS, unavailable, introduced: 12.2, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(watchOS, unavailable, introduced: 6.2, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(macOS, unavailable, introduced: 10.14.4, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(macCatalyst, unavailable, introduced: 13.0, message: "Check eligibility for a discount using getPromotionalOffer:")
- @objc(paymentDiscountForProductDiscount:product:completion:) dynamic public func paymentDiscount(for discount: StoreKit.SKProductDiscount, product: StoreKit.SKProduct, completion: @escaping (StoreKit.SKPaymentDiscount?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, unavailable, introduced: 13.0, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(tvOS, unavailable, introduced: 13.0, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(watchOS, unavailable, introduced: 6.2, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(macOS, unavailable, introduced: 10.15, message: "Check eligibility for a discount using getPromotionalOffer:")
- @available(macCatalyst, unavailable, introduced: 13.0, message: "Check eligibility for a discount using getPromotionalOffer:")
- public func paymentDiscount(for discount: StoreKit.SKProductDiscount, product: StoreKit.SKProduct) async throws -> StoreKit.SKPaymentDiscount
- #endif
-
- @available(iOS, obsoleted: 1, renamed: "logIn")
- @available(tvOS, obsoleted: 1, renamed: "logIn")
- @available(watchOS, obsoleted: 1, renamed: "logIn")
- @available(macOS, obsoleted: 1, renamed: "logIn")
- @objc(createAlias:completionBlock:) dynamic public func createAlias(_ alias: Swift.String, _ completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
- @available(iOS, obsoleted: 1, renamed: "logIn")
- @available(tvOS, obsoleted: 1, renamed: "logIn")
- @available(watchOS, obsoleted: 1, renamed: "logIn")
- @available(macOS, obsoleted: 1, renamed: "logIn")
- @objc(identify:completionBlock:) dynamic public func identify(_ appUserID: Swift.String, _ completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
- @available(iOS, obsoleted: 1, renamed: "logOut")
- @available(tvOS, obsoleted: 1, renamed: "logOut")
- @available(watchOS, obsoleted: 1, renamed: "logOut")
- @available(macOS, obsoleted: 1, renamed: "logOut")
- @objc(resetWithCompletionBlock:) dynamic public func reset(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
-}
-@_inheritsConvenienceInitializers @available(iOS, obsoleted: 1, renamed: "CustomerInfo")
-@available(tvOS, obsoleted: 1, renamed: "CustomerInfo")
-@available(watchOS, obsoleted: 1, renamed: "CustomerInfo")
-@available(macOS, obsoleted: 1, renamed: "CustomerInfo")
-@objc(RCPurchaserInfo) public class PurchaserInfo : ObjectiveC.NSObject {
- @objc override dynamic public init()
- @objc deinit
-}
-@_inheritsConvenienceInitializers @available(iOS, obsoleted: 1, renamed: "StoreTransaction")
-@available(tvOS, obsoleted: 1, renamed: "StoreTransaction")
-@available(watchOS, obsoleted: 1, renamed: "StoreTransaction")
-@available(macOS, obsoleted: 1, renamed: "StoreTransaction")
-@objc(RCTransaction) public class Transaction : ObjectiveC.NSObject {
- @objc override dynamic public init()
- @objc deinit
-}
-extension RevenueCat.StoreTransaction {
- @available(iOS, obsoleted: 1, renamed: "productIdentifier")
- @available(tvOS, obsoleted: 1, renamed: "productIdentifier")
- @available(watchOS, obsoleted: 1, renamed: "productIdentifier")
- @available(macOS, obsoleted: 1, renamed: "productIdentifier")
- @objc final public var productId: Swift.String {
- @objc get
- }
- @available(iOS, obsoleted: 1, renamed: "transactionIdentifier")
- @available(tvOS, obsoleted: 1, renamed: "transactionIdentifier")
- @available(watchOS, obsoleted: 1, renamed: "transactionIdentifier")
- @available(macOS, obsoleted: 1, renamed: "transactionIdentifier")
- @objc final public var revenueCatId: Swift.String {
- @objc get
- }
-}
-extension RevenueCat.Package {
- @available(iOS, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @available(tvOS, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @available(watchOS, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @available(macOS, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @available(macCatalyst, obsoleted: 1, renamed: "storeProduct", message: "Use StoreProduct instead")
- @objc dynamic public var product: StoreKit.SKProduct {
- @objc get
- }
-}
-extension RevenueCat.StoreProductDiscount.PaymentMode {
- @available(iOS, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- @available(tvOS, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- @available(watchOS, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- @available(macOS, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- @available(macCatalyst, obsoleted: 1, message: "This option no longer exists. PaymentMode would be nil instead.")
- public static var none: RevenueCat.StoreProductDiscount.PaymentMode {
- get
- }
-}
-@available(iOS, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-@available(tvOS, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-@available(watchOS, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-@available(macOS, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-@available(macCatalyst, obsoleted: 1, renamed: "StoreProductDiscount.PaymentMode")
-public enum RCPaymentMode {
-}
-@_inheritsConvenienceInitializers @available(iOS, obsoleted: 1, message: "Use PromotionalOffer instead")
-@available(tvOS, obsoleted: 1, message: "Use PromotionalOffer instead")
-@available(watchOS, obsoleted: 1, message: "Use PromotionalOffer instead")
-@available(macOS, obsoleted: 1, message: "Use PromotionalOffer instead")
-@available(macCatalyst, obsoleted: 1, message: "Use PromotionalOffer instead")
-@objc(RCPromotionalOfferEligibility) public class PromotionalOfferEligibility : ObjectiveC.NSObject {
- @objc override dynamic public init()
- @objc deinit
-}
-@available(iOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(tvOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(watchOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(macOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(macCatalyst, obsoleted: 1, message: "Use ErrorCode instead")
-public var ErrorDomain: Foundation.NSErrorDomain {
- get
-}
-@available(iOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(tvOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(watchOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(macOS, obsoleted: 1, message: "Use ErrorCode instead")
-@available(macCatalyst, obsoleted: 1, message: "Use ErrorCode instead")
-public enum RCBackendErrorCode {
-}
-@objc @_inheritsConvenienceInitializers @available(iOS, obsoleted: 1)
-@available(tvOS, obsoleted: 1)
-@available(watchOS, obsoleted: 1)
-@available(macOS, obsoleted: 1)
-@available(macCatalyst, obsoleted: 1)
-public class RCPurchasesErrorUtils : ObjectiveC.NSObject {
- @objc override dynamic public init()
- @objc deinit
-}
-extension RevenueCat.Purchases {
- @available(iOS, obsoleted: 1, renamed: "ErrorCode")
- @available(tvOS, obsoleted: 1, renamed: "ErrorCode")
- @available(watchOS, obsoleted: 1, renamed: "ErrorCode")
- @available(macOS, obsoleted: 1, renamed: "ErrorCode")
- @available(macCatalyst, obsoleted: 1, renamed: "ErrorCode")
- public enum Errors {
- }
- @available(iOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(macCatalyst, obsoleted: 1)
- public enum FinishableKey {
- }
- @available(iOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(macCatalyst, obsoleted: 1)
- public enum ReadableErrorCodeKey {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum ErrorCode {
- }
- @available(iOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(macCatalyst, obsoleted: 1)
- public enum RevenueCatBackendErrorCode {
- }
- @available(iOS, obsoleted: 1, renamed: "StoreTransaction")
- @available(tvOS, obsoleted: 1, renamed: "StoreTransaction")
- @available(watchOS, obsoleted: 1, renamed: "StoreTransaction")
- @available(macOS, obsoleted: 1, renamed: "StoreTransaction")
- @available(macCatalyst, obsoleted: 1, renamed: "StoreTransaction")
- public enum Transaction {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum EntitlementInfo {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum EntitlementInfos {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum PackageType {
- }
- @available(iOS, obsoleted: 1, renamed: "CustomerInfo")
- @available(tvOS, obsoleted: 1, renamed: "CustomerInfo")
- @available(watchOS, obsoleted: 1, renamed: "CustomerInfo")
- @available(macOS, obsoleted: 1, renamed: "CustomerInfo")
- @available(macCatalyst, obsoleted: 1, renamed: "CustomerInfo")
- public enum PurchaserInfo {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum Offering {
- }
- @available(iOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(macCatalyst, obsoleted: 1)
- public enum ErrorUtils {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum Store {
- }
- @available(iOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(tvOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(watchOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macOS, obsoleted: 1, message: "Remove `Purchases.`")
- @available(macCatalyst, obsoleted: 1, message: "Remove `Purchases.`")
- public enum PeriodType {
- }
-}
-@_hasMissingDesignatedInitializers @objc(RCPromotionalOffer) final public class PromotionalOffer : ObjectiveC.NSObject {
- final public let discount: RevenueCat.StoreProductDiscount
- @objc deinit
-}
-extension RevenueCat.Purchases {
- @available(iOS, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(tvOS, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(watchOS, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(macOS, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(macCatalyst, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- public func checkTrialOrIntroDiscountEligibility(_ productIdentifiers: [Swift.String], completion: @escaping ([Swift.String : RevenueCat.IntroEligibility]) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS, introduced: 13.0, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(tvOS, introduced: 13.0, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(watchOS, introduced: 6.2, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(macOS, introduced: 10.15, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- @available(macCatalyst, introduced: 13.0, deprecated: 1, renamed: "checkTrialOrIntroDiscountEligibility(productIdentifiers:)")
- public func checkTrialOrIntroDiscountEligibility(_ productIdentifiers: [Swift.String]) async -> [Swift.String : RevenueCat.IntroEligibility]
- #endif
-
-}
-@objc(RCPurchasesErrorCode) public enum ErrorCode : Swift.Int, Swift.Error {
- @objc(RCUnknownError) case unknownError = 0
- @objc(RCPurchaseCancelledError) case purchaseCancelledError = 1
- @objc(RCStoreProblemError) case storeProblemError = 2
- @objc(RCPurchaseNotAllowedError) case purchaseNotAllowedError = 3
- @objc(RCPurchaseInvalidError) case purchaseInvalidError = 4
- @objc(RCProductNotAvailableForPurchaseError) case productNotAvailableForPurchaseError = 5
- @objc(RCProductAlreadyPurchasedError) case productAlreadyPurchasedError = 6
- @objc(RCReceiptAlreadyInUseError) case receiptAlreadyInUseError = 7
- @objc(RCInvalidReceiptError) case invalidReceiptError = 8
- @objc(RCMissingReceiptFileError) case missingReceiptFileError = 9
- @objc(RCNetworkError) case networkError = 10
- @objc(RCInvalidCredentialsError) case invalidCredentialsError = 11
- @objc(RCUnexpectedBackendResponseError) case unexpectedBackendResponseError = 12
- @objc(RCReceiptInUseByOtherSubscriberError) case receiptInUseByOtherSubscriberError = 13
- @objc(RCInvalidAppUserIdError) case invalidAppUserIdError = 14
- @objc(RCOperationAlreadyInProgressForProductError) case operationAlreadyInProgressForProductError = 15
- @objc(RCUnknownBackendError) case unknownBackendError = 16
- @objc(RCInvalidAppleSubscriptionKeyError) case invalidAppleSubscriptionKeyError = 17
- @objc(RCIneligibleError) case ineligibleError = 18
- @objc(RCInsufficientPermissionsError) case insufficientPermissionsError = 19
- @objc(RCPaymentPendingError) case paymentPendingError = 20
- @objc(RCInvalidSubscriberAttributesError) case invalidSubscriberAttributesError = 21
- @objc(RCLogOutAnonymousUserError) case logOutAnonymousUserError = 22
- @objc(RCConfigurationError) case configurationError = 23
- @objc(RCUnsupportedError) case unsupportedError = 24
- @objc(RCEmptySubscriberAttributesError) case emptySubscriberAttributes = 25
- @objc(RCProductDiscountMissingIdentifierError) case productDiscountMissingIdentifierError = 26
- @objc(RCMissingAppUserIDForAliasCreationError) case missingAppUserIDForAliasCreationError = 27
- @objc(RCProductDiscountMissingSubscriptionGroupIdentifierError) case productDiscountMissingSubscriptionGroupIdentifierError = 28
- @objc(RCCustomerInfoError) case customerInfoError = 29
- @objc(RCSystemInfoError) case systemInfoError = 30
- @objc(RCBeginRefundRequestError) case beginRefundRequestError = 31
- @objc(RCProductRequestTimedOut) case productRequestTimedOut = 32
- @objc(RCAPIEndpointBlocked) case apiEndpointBlockedError = 33
- @objc(RCInvalidPromotionalOfferError) case invalidPromotionalOfferError = 34
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public static var _nsErrorDomain: Swift.String {
- get
- }
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.ErrorCode : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.ErrorCode]
- public static var allCases: [RevenueCat.ErrorCode] {
- get
- }
-}
-extension RevenueCat.ErrorCode {
- public var description: Swift.String {
- get
- }
-}
-extension RevenueCat.ErrorCode : Foundation.CustomNSError {
- public var errorUserInfo: [Swift.String : Any] {
- get
- }
-}
-@objc(RCRefundRequestStatus) public enum RefundRequestStatus : Swift.Int {
- @objc(RCRefundRequestUserCancelled) case userCancelled = 0
- @objc(RCRefundRequestSuccess) case success
- @objc(RCRefundRequestError) case error
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.Purchases {
- @objc(RCPlatformInfo) final public class PlatformInfo : ObjectiveC.NSObject {
- @objc public init(flavor: Swift.String, version: Swift.String)
- @objc deinit
- }
- @objc public static var platformInfo: RevenueCat.Purchases.PlatformInfo?
-}
-@_inheritsConvenienceInitializers @objc(RCDangerousSettings) public class DangerousSettings : ObjectiveC.NSObject {
- @objc final public let autoSyncPurchases: Swift.Bool
- @objc override convenience dynamic public init()
- @objc public init(autoSyncPurchases: Swift.Bool)
- @objc deinit
-}
-@_hasMissingDesignatedInitializers @objc(RCCustomerInfo) public class CustomerInfo : ObjectiveC.NSObject {
- @objc final public let entitlements: RevenueCat.EntitlementInfos
- @objc public var activeSubscriptions: Swift.Set {
- @objc get
- }
- @objc public var allPurchasedProductIdentifiers: Swift.Set {
- @objc get
- }
- @objc public var latestExpirationDate: Foundation.Date? {
- @objc get
- }
- @available(*, deprecated, message: "use nonSubscriptionTransactions")
- @objc public var nonConsumablePurchases: Swift.Set {
- @objc get
- }
- @objc final public let nonSubscriptionTransactions: [RevenueCat.StoreTransaction]
- @objc final public let requestDate: Foundation.Date
- @objc final public let firstSeen: Foundation.Date
- @objc final public let originalAppUserId: Swift.String
- @objc final public let managementURL: Foundation.URL?
- @objc final public let originalPurchaseDate: Foundation.Date?
- @objc final public let originalApplicationVersion: Swift.String?
- @objc final public let rawData: [Swift.String : Any]
- @objc public func expirationDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
- @objc public func purchaseDate(forProductIdentifier productIdentifier: Swift.String) -> Foundation.Date?
- @objc public func expirationDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
- @objc public func purchaseDate(forEntitlement entitlementIdentifier: Swift.String) -> Foundation.Date?
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
- @objc get
- }
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.CustomerInfo : RevenueCat.RawDataContainer {
- public typealias Content = [Swift.String : Any]
-}
-@objc(RCStore) public enum Store : Swift.Int {
- @objc(RCAppStore) case appStore = 0
- @objc(RCMacAppStore) case macAppStore = 1
- @objc(RCPlayStore) case playStore = 2
- @objc(RCStripe) case stripe = 3
- @objc(RCPromotional) case promotional = 4
- @objc(RCUnknownStore) case unknownStore = 5
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.Store : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.Store]
- public static var allCases: [RevenueCat.Store] {
- get
- }
-}
-@objc(RCPeriodType) public enum PeriodType : Swift.Int {
- @objc(RCNormal) case normal = 0
- @objc(RCIntro) case intro = 1
- @objc(RCTrial) case trial = 2
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.PeriodType : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.PeriodType]
- public static var allCases: [RevenueCat.PeriodType] {
- get
- }
-}
-@_hasMissingDesignatedInitializers @objc(RCEntitlementInfo) public class EntitlementInfo : ObjectiveC.NSObject {
- @objc final public let identifier: Swift.String
- @objc final public let isActive: Swift.Bool
- @objc final public let willRenew: Swift.Bool
- @objc final public let periodType: RevenueCat.PeriodType
- @objc final public let latestPurchaseDate: Foundation.Date?
- @objc final public let originalPurchaseDate: Foundation.Date?
- @objc final public let expirationDate: Foundation.Date?
- @objc final public let store: RevenueCat.Store
- @objc final public let productIdentifier: Swift.String
- @objc final public let isSandbox: Swift.Bool
- @objc final public let unsubscribeDetectedAt: Foundation.Date?
- @objc final public let billingIssueDetectedAt: Foundation.Date?
- @objc final public let ownershipType: RevenueCat.PurchaseOwnershipType
- @objc final public let rawData: [Swift.String : Any]
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.EntitlementInfo : RevenueCat.RawDataContainer {
- public typealias Content = [Swift.String : Any]
-}
-extension RevenueCat.EntitlementInfo : Swift.Identifiable {
- public var id: Swift.String {
- get
- }
- public typealias ID = Swift.String
-}
-@objc(RCLogLevel) public enum LogLevel : Swift.Int, Swift.CustomStringConvertible {
- case debug, info, warn, error
- public var description: Swift.String {
- get
- }
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-public typealias VerboseLogHandler = (_ level: RevenueCat.LogLevel, _ message: Swift.String, _ file: Swift.String?, _ function: Swift.String?, _ line: Swift.UInt) -> Swift.Void
-public typealias LogHandler = (_ level: RevenueCat.LogLevel, _ message: Swift.String) -> Swift.Void
-public typealias SK1Transaction = StoreKit.SKPaymentTransaction
-@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
-public typealias SK2Transaction = StoreKit.Transaction
-@_hasMissingDesignatedInitializers @objc(RCStoreTransaction) final public class StoreTransaction : ObjectiveC.NSObject {
- @objc final public var productIdentifier: Swift.String {
- @objc get
- }
- @objc final public var purchaseDate: Foundation.Date {
- @objc get
- }
- @objc final public var transactionIdentifier: Swift.String {
- @objc get
- }
- @objc final public var quantity: Swift.Int {
- @objc get
- }
- @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override final public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.StoreTransaction {
- @objc final public var sk1Transaction: RevenueCat.SK1Transaction? {
- @objc get
- }
- @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
- final public var sk2Transaction: RevenueCat.SK2Transaction? {
- get
- }
-}
-extension RevenueCat.StoreTransaction : Swift.Identifiable {
- final public var id: Swift.String {
- get
- }
- public typealias ID = Swift.String
-}
-public protocol RawDataContainer {
- associatedtype Content
- var rawData: Self.Content { get }
-}
-public typealias PurchaseResultData = (transaction: RevenueCat.StoreTransaction?, customerInfo: RevenueCat.CustomerInfo, userCancelled: Swift.Bool)
-public typealias PurchaseCompletedBlock = (RevenueCat.StoreTransaction?, RevenueCat.CustomerInfo?, Swift.Error?, Swift.Bool) -> Swift.Void
-public typealias DeferredPromotionalPurchaseBlock = (@escaping RevenueCat.PurchaseCompletedBlock) -> Swift.Void
-@_hasMissingDesignatedInitializers @objc(RCPurchases) public class Purchases : ObjectiveC.NSObject {
- @objc(sharedPurchases) public static var shared: RevenueCat.Purchases {
- @objc get
- }
- @objc public static var isConfigured: Swift.Bool {
- @objc get
- }
- @objc public var delegate: RevenueCat.PurchasesDelegate? {
- @objc get
- @objc set
- }
- @objc public static var automaticAppleSearchAdsAttributionCollection: Swift.Bool
- @objc public static var logLevel: RevenueCat.LogLevel {
- @objc get
- @objc set
- }
- @objc public static var proxyURL: Foundation.URL? {
- @objc get
- @objc set
- }
- @objc public static var forceUniversalAppStore: Swift.Bool {
- @objc get
- @objc set
- }
- @available(iOS 8.0, macOS 10.14, watchOS 6.2, macCatalyst 13.0, *)
- @objc public static var simulatesAskToBuyInSandbox: Swift.Bool {
- @objc get
- @objc set
- }
- @objc public static func canMakePayments() -> Swift.Bool
- @objc public static var logHandler: RevenueCat.LogHandler {
- @objc get
- @objc set
- }
- @objc public static var verboseLogHandler: RevenueCat.VerboseLogHandler {
- @objc get
- @objc set
- }
- @objc public static var verboseLogs: Swift.Bool {
- @objc get
- @objc set
- }
- @objc public static var frameworkVersion: Swift.String {
- @objc get
- }
- @objc public var finishTransactions: Swift.Bool {
- @objc get
- @objc set
- }
- @objc public func collectDeviceIdentifiers()
- @objc deinit
-}
-extension RevenueCat.Purchases {
- @objc dynamic public func setAttributes(_ attributes: [Swift.String : Swift.String])
- @objc dynamic public func setEmail(_ email: Swift.String?)
- @objc dynamic public func setPhoneNumber(_ phoneNumber: Swift.String?)
- @objc dynamic public func setDisplayName(_ displayName: Swift.String?)
- @objc dynamic public func setPushToken(_ pushToken: Foundation.Data?)
- @objc dynamic public func setAdjustID(_ adjustID: Swift.String?)
- @objc dynamic public func setAppsflyerID(_ appsflyerID: Swift.String?)
- @objc dynamic public func setFBAnonymousID(_ fbAnonymousID: Swift.String?)
- @objc dynamic public func setMparticleID(_ mparticleID: Swift.String?)
- @objc dynamic public func setOnesignalID(_ onesignalID: Swift.String?)
- @objc dynamic public func setAirshipChannelID(_ airshipChannelID: Swift.String?)
- @objc dynamic public func setCleverTapID(_ cleverTapID: Swift.String?)
- @objc dynamic public func setMediaSource(_ mediaSource: Swift.String?)
- @objc dynamic public func setCampaign(_ campaign: Swift.String?)
- @objc dynamic public func setAdGroup(_ adGroup: Swift.String?)
- @objc dynamic public func setAd(_ installAd: Swift.String?)
- @objc dynamic public func setKeyword(_ keyword: Swift.String?)
- @objc dynamic public func setCreative(_ creative: Swift.String?)
-}
-extension RevenueCat.Purchases {
- @objc dynamic public var appUserID: Swift.String {
- @objc get
- }
- @objc dynamic public var isAnonymous: Swift.Bool {
- @objc get
- }
- @objc(logIn:completion:) dynamic public func logIn(_ appUserID: Swift.String, completion: @escaping (RevenueCat.CustomerInfo?, Swift.Bool, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func logIn(_ appUserID: Swift.String) async throws -> (customerInfo: RevenueCat.CustomerInfo, created: Swift.Bool)
- #endif
-
- @objc dynamic public func logOut(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func logOut() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @objc dynamic public func getOfferings(completion: @escaping (RevenueCat.Offerings?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func offerings() async throws -> RevenueCat.Offerings
- #endif
-
-}
-extension RevenueCat.Purchases {
- @objc dynamic public func getCustomerInfo(completion: @escaping (RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func customerInfo() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public var customerInfoStream: _Concurrency.AsyncStream {
- get
- }
- @objc(getProductsWithIdentifiers:completion:) dynamic public func getProducts(_ productIdentifiers: [Swift.String], completion: @escaping ([RevenueCat.StoreProduct]) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func products(_ productIdentifiers: [Swift.String]) async -> [RevenueCat.StoreProduct]
- #endif
-
- @objc(purchaseProduct:withCompletion:) dynamic public func purchase(product: RevenueCat.StoreProduct, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func purchase(product: RevenueCat.StoreProduct) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @objc(purchasePackage:withCompletion:) dynamic public func purchase(package: RevenueCat.Package, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func purchase(package: RevenueCat.Package) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS 12.2, macOS 10.14.4, watchOS 6.2, macCatalyst 13.0, tvOS 12.2, *)
- @objc(purchaseProduct:withPromotionalOffer:completion:) dynamic public func purchase(product: RevenueCat.StoreProduct, promotionalOffer: RevenueCat.PromotionalOffer, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func purchase(product: RevenueCat.StoreProduct, promotionalOffer: RevenueCat.PromotionalOffer) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @available(iOS 12.2, macOS 10.14.4, watchOS 6.2, macCatalyst 13.0, tvOS 12.2, *)
- @objc(purchasePackage:withPromotionalOffer:completion:) dynamic public func purchase(package: RevenueCat.Package, promotionalOffer: RevenueCat.PromotionalOffer, completion: @escaping RevenueCat.PurchaseCompletedBlock)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func purchase(package: RevenueCat.Package, promotionalOffer: RevenueCat.PromotionalOffer) async throws -> RevenueCat.PurchaseResultData
- #endif
-
- @objc dynamic public func syncPurchases(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)?)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func syncPurchases() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @objc dynamic public func restorePurchases(completion: ((RevenueCat.CustomerInfo?, Swift.Error?) -> Swift.Void)? = nil)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func restorePurchases() async throws -> RevenueCat.CustomerInfo
- #endif
-
- @objc(checkTrialOrIntroDiscountEligibility:completion:) dynamic public func checkTrialOrIntroDiscountEligibility(productIdentifiers: [Swift.String], completion: @escaping ([Swift.String : RevenueCat.IntroEligibility]) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, tvOS 13.0, macOS 10.15, watchOS 6.2, *)
- public func checkTrialOrIntroDiscountEligibility(productIdentifiers: [Swift.String]) async -> [Swift.String : RevenueCat.IntroEligibility]
- #endif
-
- @objc(checkTrialOrIntroDiscountEligibilityForProduct:completion:) dynamic public func checkTrialOrIntroDiscountEligibility(product: RevenueCat.StoreProduct, completion: @escaping (RevenueCat.IntroEligibilityStatus) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, tvOS 13.0, macOS 10.15, watchOS 6.2, *)
- public func checkTrialOrIntroDiscountEligibility(product: RevenueCat.StoreProduct) async -> RevenueCat.IntroEligibilityStatus
- #endif
-
- @objc dynamic public func invalidateCustomerInfoCache()
- @available(iOS 14.0, *)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @available(macOS, unavailable)
- @available(macCatalyst, unavailable)
- @objc dynamic public func presentCodeRedemptionSheet()
- @available(iOS 12.2, macOS 10.14.4, macCatalyst 13.0, tvOS 12.2, watchOS 6.2, *)
- @objc(getPromotionalOfferForProductDiscount:withProduct:withCompletion:) dynamic public func getPromotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct, completion: @escaping (RevenueCat.PromotionalOffer?, Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func getPromotionalOffer(forProductDiscount discount: RevenueCat.StoreProductDiscount, product: RevenueCat.StoreProduct) async throws -> RevenueCat.PromotionalOffer
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
- public func getEligiblePromotionalOffers(forProduct product: RevenueCat.StoreProduct) async -> [RevenueCat.PromotionalOffer]
- #endif
-
- @available(iOS 13.0, macOS 10.15, *)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @objc dynamic public func showManageSubscriptions(completion: @escaping (Swift.Error?) -> Swift.Void)
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 13.0, macOS 10.15, *)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- public func showManageSubscriptions() async throws
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 15.0, *)
- @available(macOS, unavailable)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @objc(beginRefundRequestForProduct:completion:) dynamic public func beginRefundRequest(forProduct productID: Swift.String) async throws -> RevenueCat.RefundRequestStatus
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 15.0, *)
- @available(macOS, unavailable)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @objc(beginRefundRequestForEntitlement:completion:) dynamic public func beginRefundRequest(forEntitlement entitlementID: Swift.String) async throws -> RevenueCat.RefundRequestStatus
- #endif
-
-
- #if compiler(>=5.3) && $AsyncAwait
- @available(iOS 15.0, *)
- @available(macOS, unavailable)
- @available(watchOS, unavailable)
- @available(tvOS, unavailable)
- @objc(beginRefundRequestForActiveEntitlementWithCompletion:) dynamic public func beginRefundRequestForActiveEntitlement() async throws -> RevenueCat.RefundRequestStatus
- #endif
-
-}
-extension RevenueCat.Purchases {
- @discardableResult
- @objc(configureWithAPIKey:) public static func configure(withAPIKey apiKey: Swift.String) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool) -> RevenueCat.Purchases
- @discardableResult
- @objc(configureWithAPIKey:appUserID:observerMode:userDefaults:useStoreKit2IfAvailable:dangerousSettings:) public static func configure(withAPIKey apiKey: Swift.String, appUserID: Swift.String?, observerMode: Swift.Bool, userDefaults: Foundation.UserDefaults?, useStoreKit2IfAvailable: Swift.Bool, dangerousSettings: RevenueCat.DangerousSettings?) -> RevenueCat.Purchases
-}
-extension RevenueCat.Purchases {
- @objc dynamic public func shouldPurchasePromoProduct(_ product: RevenueCat.StoreProduct, defermentBlock: @escaping RevenueCat.DeferredPromotionalPurchaseBlock)
-}
-extension RevenueCat.Purchases {
- @available(*, deprecated, message: "use Purchases.logLevel instead")
- @objc public static var debugLogsEnabled: Swift.Bool {
- @objc get
- @objc set
- }
- @available(*, deprecated, message: "Configure behavior through the RevenueCat dashboard instead")
- @objc dynamic public var allowSharingAppStoreAccount: Swift.Bool {
- @objc get
- @objc set
- }
- @available(*, deprecated, message: "Use the set functions instead")
- @objc public static func addAttributionData(_ data: [Swift.String : Any], fromNetwork network: RevenueCat.AttributionNetwork)
- @available(*, deprecated, message: "Use the set functions instead")
- @objc(addAttributionData:fromNetwork:forNetworkUserId:) public static func addAttributionData(_ data: [Swift.String : Any], from network: RevenueCat.AttributionNetwork, forNetworkUserId networkUserId: Swift.String?)
-}
-@objc(RCSubscriptionPeriod) public class SubscriptionPeriod : ObjectiveC.NSObject {
- @objc final public let value: Swift.Int
- @objc final public let unit: RevenueCat.SubscriptionPeriod.Unit
- public init(value: Swift.Int, unit: RevenueCat.SubscriptionPeriod.Unit)
- @objc(RCSubscriptionPeriodUnit) public enum Unit : Swift.Int {
- case day = 0
- case week = 1
- case month = 2
- case year = 3
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.SubscriptionPeriod {
- @available(iOS, unavailable, renamed: "value")
- @available(tvOS, unavailable, renamed: "value")
- @available(watchOS, unavailable, renamed: "value")
- @available(macOS, unavailable, renamed: "value")
- @objc dynamic public var numberOfUnits: Swift.Int {
- @objc get
- }
-}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.CustomDebugStringConvertible {
- public var debugDescription: Swift.String {
- get
- }
-}
-extension RevenueCat.SubscriptionPeriod {
- @objc override dynamic public var debugDescription: Swift.String {
- @objc get
- }
-}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.Encodable {
-}
-extension RevenueCat.SubscriptionPeriod : Swift.Encodable {
- public func encode(to encoder: Swift.Encoder) throws
-}
-@objc(RCPurchaseOwnershipType) public enum PurchaseOwnershipType : Swift.Int {
- case purchased = 0
- case familyShared = 1
- case unknown = 2
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.PurchaseOwnershipType : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.PurchaseOwnershipType]
- public static var allCases: [RevenueCat.PurchaseOwnershipType] {
- get
- }
-}
-extension RevenueCat.PurchaseOwnershipType : Swift.Decodable {
- public init(from decoder: Swift.Decoder) throws
-}
-extension RevenueCat.PeriodType : Swift.Decodable {
- public init(from decoder: Swift.Decoder) throws
-}
-extension RevenueCat.Store : Swift.Decodable {
- public init(from decoder: Swift.Decoder) throws
-}
-@_hasMissingDesignatedInitializers @objc(RCEntitlementInfos) public class EntitlementInfos : ObjectiveC.NSObject {
- @objc final public let all: [Swift.String : RevenueCat.EntitlementInfo]
- @objc public var active: [Swift.String : RevenueCat.EntitlementInfo] {
- @objc get
- }
- @objc public subscript(key: Swift.String) -> RevenueCat.EntitlementInfo? {
- @objc get
- }
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc deinit
-}
-@objc(RCPackageType) public enum PackageType : Swift.Int {
- case unknown = -2, custom, lifetime, annual, sixMonth, threeMonth, twoMonth, monthly, weekly
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-@_hasMissingDesignatedInitializers @objc(RCPackage) public class Package : ObjectiveC.NSObject {
- @objc final public let identifier: Swift.String
- @objc final public let packageType: RevenueCat.PackageType
- @objc final public let storeProduct: RevenueCat.StoreProduct
- @objc final public let offeringIdentifier: Swift.String
- @objc public var localizedPriceString: Swift.String {
- @objc get
- }
- @objc public var localizedIntroductoryPriceString: Swift.String? {
- @objc get
- }
- @objc override dynamic public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override dynamic public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-@objc extension RevenueCat.Package {
- @objc public static func string(from packageType: RevenueCat.PackageType) -> Swift.String?
- @objc dynamic public class func packageType(from string: Swift.String) -> RevenueCat.PackageType
-}
-extension RevenueCat.Package : Swift.Identifiable {
- public var id: Swift.String {
- get
- }
- public typealias ID = Swift.String
-}
-@objc(RCIntroEligibilityStatus) public enum IntroEligibilityStatus : Swift.Int {
- case unknown = 0
- case ineligible
- case eligible
- case noIntroOfferExists
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.IntroEligibilityStatus : Swift.CaseIterable {
- public typealias AllCases = [RevenueCat.IntroEligibilityStatus]
- public static var allCases: [RevenueCat.IntroEligibilityStatus] {
- get
- }
-}
-@_inheritsConvenienceInitializers @_hasMissingDesignatedInitializers @objc(RCIntroEligibility) public class IntroEligibility : ObjectiveC.NSObject {
- @objc final public let status: RevenueCat.IntroEligibilityStatus
- @objc override dynamic public var description: Swift.String {
- @objc get
- }
- @objc deinit
-}
-@available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
-public typealias SK1ProductDiscount = StoreKit.SKProductDiscount
-@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
-public typealias SK2ProductDiscount = StoreKit.Product.SubscriptionOffer
-@_hasMissingDesignatedInitializers @objc(RCStoreProductDiscount) final public class StoreProductDiscount : ObjectiveC.NSObject {
- @objc(RCPaymentMode) public enum PaymentMode : Swift.Int {
- case payAsYouGo = 0
- case payUpFront = 1
- case freeTrial = 2
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
- @objc(RCDiscountType) public enum DiscountType : Swift.Int {
- case introductory = 0
- case promotional = 1
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
- }
- @objc final public var offerIdentifier: Swift.String? {
- @objc get
- }
- @objc final public var currencyCode: Swift.String? {
- @objc get
- }
- final public var price: Foundation.Decimal {
- get
- }
- @objc final public var localizedPriceString: Swift.String {
- @objc get
- }
- @objc final public var paymentMode: RevenueCat.StoreProductDiscount.PaymentMode {
- @objc get
- }
- @objc final public var subscriptionPeriod: RevenueCat.SubscriptionPeriod {
- @objc get
- }
- @objc final public var type: RevenueCat.StoreProductDiscount.DiscountType {
- @objc get
- }
- @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override final public var hash: Swift.Int {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.StoreProductDiscount {
- @objc(price) final public var priceDecimalNumber: Foundation.NSDecimalNumber {
- @objc get
- }
-}
-extension RevenueCat.StoreProductDiscount {
- public struct Data : Swift.Hashable {
- public func hash(into hasher: inout Swift.Hasher)
- public static func == (a: RevenueCat.StoreProductDiscount.Data, b: RevenueCat.StoreProductDiscount.Data) -> Swift.Bool
- public var hashValue: Swift.Int {
- get
- }
- }
-}
-extension RevenueCat.StoreProductDiscount {
- @available(iOS 12.2, macOS 10.14.4, tvOS 12.2, watchOS 6.2, *)
- @objc final public var sk1Discount: RevenueCat.SK1ProductDiscount? {
- @objc get
- }
- @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
- final public var sk2Discount: RevenueCat.SK2ProductDiscount? {
- get
- }
-}
-extension RevenueCat.StoreProductDiscount : Swift.Encodable {
- final public func encode(to encoder: Swift.Encoder) throws
-}
-extension RevenueCat.StoreProductDiscount.PaymentMode : Swift.Encodable {
-}
-extension RevenueCat.StoreProductDiscount : Swift.Identifiable {
- final public var id: RevenueCat.StoreProductDiscount.Data {
- get
- }
- public typealias ID = RevenueCat.StoreProductDiscount.Data
-}
-@objc(RCPurchasesDelegate) public protocol PurchasesDelegate : ObjectiveC.NSObjectProtocol {
- @available(swift, obsoleted: 1, renamed: "purchases(_:receivedUpdated:)")
- @available(iOS, obsoleted: 1)
- @available(macOS, obsoleted: 1)
- @available(tvOS, obsoleted: 1)
- @available(watchOS, obsoleted: 1)
- @objc(purchases:didReceiveUpdatedPurchaserInfo:) optional func purchases(_ purchases: RevenueCat.Purchases, didReceiveUpdated purchaserInfo: RevenueCat.CustomerInfo)
- @objc(purchases:receivedUpdatedCustomerInfo:) optional func purchases(_ purchases: RevenueCat.Purchases, receivedUpdated customerInfo: RevenueCat.CustomerInfo)
- @objc optional func purchases(_ purchases: RevenueCat.Purchases, shouldPurchasePromoProduct product: RevenueCat.StoreProduct, defermentBlock makeDeferredPurchase: @escaping RevenueCat.DeferredPromotionalPurchaseBlock)
-}
-@objc(RCAttributionNetwork) public enum AttributionNetwork : Swift.Int {
- case appleSearchAds
- case adjust
- case appsFlyer
- case branch
- case tenjin
- case facebook
- case mParticle
- public init?(rawValue: Swift.Int)
- public typealias RawValue = Swift.Int
- public var rawValue: Swift.Int {
- get
- }
-}
-extension RevenueCat.AttributionNetwork : Swift.Encodable {
- public func encode(to encoder: Swift.Encoder) throws
-}
-public typealias SK1Product = StoreKit.SKProduct
-@available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
-public typealias SK2Product = StoreKit.Product
-@_hasMissingDesignatedInitializers @objc(RCStoreProduct) final public class StoreProduct : ObjectiveC.NSObject {
- @objc override final public func isEqual(_ object: Any?) -> Swift.Bool
- @objc override final public var hash: Swift.Int {
- @objc get
- }
- @objc final public var productType: RevenueCat.StoreProduct.ProductType {
- @objc get
- }
- @objc final public var productCategory: RevenueCat.StoreProduct.ProductCategory {
- @objc get
- }
- @objc final public var localizedDescription: Swift.String {
- @objc get
- }
- @objc final public var localizedTitle: Swift.String {
- @objc get
- }
- @objc final public var currencyCode: Swift.String? {
- @objc get
- }
- final public var price: Foundation.Decimal {
- get
- }
- @objc final public var localizedPriceString: Swift.String {
- @objc get
- }
- @objc final public var productIdentifier: Swift.String {
- @objc get
- }
- @available(iOS 14.0, macOS 11.0, tvOS 14.0, watchOS 8.0, *)
- @objc final public var isFamilyShareable: Swift.Bool {
- @objc get
- }
- @available(iOS 12.0, macCatalyst 13.0, tvOS 12.0, macOS 10.14, watchOS 6.2, *)
- @objc final public var subscriptionGroupIdentifier: Swift.String? {
- @objc get
- }
- @objc final public var priceFormatter: Foundation.NumberFormatter? {
- @objc get
- }
- @available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
- @objc final public var subscriptionPeriod: RevenueCat.SubscriptionPeriod? {
- @objc get
- }
- @available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
- @objc final public var introductoryDiscount: RevenueCat.StoreProductDiscount? {
- @objc get
- }
- @available(iOS 12.2, macOS 10.14.4, tvOS 12.2, watchOS 6.2, *)
- @objc final public var discounts: [RevenueCat.StoreProductDiscount] {
- @objc get
- }
- @objc deinit
-}
-extension RevenueCat.StoreProduct {
- @objc(price) final public var priceDecimalNumber: Foundation.NSDecimalNumber {
- @objc get
- }
- @available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *)
- @objc final public var pricePerMonth: Foundation.NSDecimalNumber? {
- @objc get
- }
- @objc final public var localizedIntroductoryPriceString: Swift.String? {
- @objc get
- }
-}
-@available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *)
-extension RevenueCat.StoreProduct {
-
- #if compiler(>=5.3) && $AsyncAwait
- final public func getEligiblePromotionalOffers() async -> [RevenueCat.PromotionalOffer]
- #endif
-
-}
-extension RevenueCat.StoreProduct {
- @objc convenience dynamic public init(sk1Product: RevenueCat.SK1Product)
- @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
- convenience public init(sk2Product: RevenueCat.SK2Product)
- @objc final public var sk1Product: RevenueCat.SK1Product? {
- @objc get
- }
- @available(iOS 15.0, tvOS 15.0, watchOS 8.0, macOS 12.0, *)
- final public var sk2Product: RevenueCat.SK2Product? {
- get
- }
-}
-extension RevenueCat.StoreProduct {
- @available(iOS, unavailable, introduced: 11.2, renamed: "introductoryDiscount", message: "Use StoreProductDiscount instead")
- @available(tvOS, unavailable, introduced: 11.2, renamed: "introductoryDiscount", message: "Use StoreProductDiscount instead")
- @available(watchOS, unavailable, introduced: 6.2, renamed: "introductoryDiscount", message: "Use StoreProductDiscount instead")
- @available(macOS, unavailable, introduced: 10.13.2, renamed: "introductoryDiscount", message: "Use StoreProductDiscount instead")
- @objc final public var introductoryPrice: StoreKit.SKProductDiscount? {
- @objc get
- }
- @available(iOS, unavailable, message: "Use localizedPriceString instead")
- @available(tvOS, unavailable, message: "Use localizedPriceString instead")
- @available(watchOS, unavailable, message: "Use localizedPriceString instead")
- @available(macOS, unavailable, message: "Use localizedPriceString instead")
- @objc final public var priceLocale: Foundation.Locale {
- @objc get
- }
-}
-extension RevenueCat.StoreProduct.ProductCategory : Swift.Equatable {}
-extension RevenueCat.StoreProduct.ProductCategory : Swift.Hashable {}
-extension RevenueCat.StoreProduct.ProductCategory : Swift.RawRepresentable {}
-extension RevenueCat.StoreProduct.ProductType : Swift.Equatable {}
-extension RevenueCat.StoreProduct.ProductType : Swift.Hashable {}
-extension RevenueCat.StoreProduct.ProductType : Swift.RawRepresentable {}
-extension RevenueCat.StoreProductDiscount.PaymentMode : Swift.Equatable {}
-extension RevenueCat.StoreProductDiscount.PaymentMode : Swift.Hashable {}
-extension RevenueCat.StoreProductDiscount.PaymentMode : Swift.RawRepresentable {}
-extension RevenueCat.ErrorCode : Swift.Equatable {}
-extension RevenueCat.ErrorCode : Swift.Hashable {}
-extension RevenueCat.ErrorCode : Swift.RawRepresentable {}
-extension RevenueCat.ErrorCode : Swift.CustomStringConvertible {}
-extension RevenueCat.RefundRequestStatus : Swift.Equatable {}
-extension RevenueCat.RefundRequestStatus : Swift.Hashable {}
-extension RevenueCat.RefundRequestStatus : Swift.RawRepresentable {}
-extension RevenueCat.Store : Swift.Equatable {}
-extension RevenueCat.Store : Swift.Hashable {}
-extension RevenueCat.Store : Swift.RawRepresentable {}
-extension RevenueCat.PeriodType : Swift.Equatable {}
-extension RevenueCat.PeriodType : Swift.Hashable {}
-extension RevenueCat.PeriodType : Swift.RawRepresentable {}
-extension RevenueCat.LogLevel : Swift.Equatable {}
-extension RevenueCat.LogLevel : Swift.Hashable {}
-extension RevenueCat.LogLevel : Swift.RawRepresentable {}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.Equatable {}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.Hashable {}
-extension RevenueCat.SubscriptionPeriod.Unit : Swift.RawRepresentable {}
-extension RevenueCat.PurchaseOwnershipType : Swift.Equatable {}
-extension RevenueCat.PurchaseOwnershipType : Swift.Hashable {}
-extension RevenueCat.PurchaseOwnershipType : Swift.RawRepresentable {}
-extension RevenueCat.PackageType : Swift.Equatable {}
-extension RevenueCat.PackageType : Swift.Hashable {}
-extension RevenueCat.PackageType : Swift.RawRepresentable {}
-extension RevenueCat.IntroEligibilityStatus : Swift.Equatable {}
-extension RevenueCat.IntroEligibilityStatus : Swift.Hashable {}
-extension RevenueCat.IntroEligibilityStatus : Swift.RawRepresentable {}
-extension RevenueCat.StoreProductDiscount.DiscountType : Swift.Equatable {}
-extension RevenueCat.StoreProductDiscount.DiscountType : Swift.Hashable {}
-extension RevenueCat.StoreProductDiscount.DiscountType : Swift.RawRepresentable {}
-extension RevenueCat.AttributionNetwork : Swift.Equatable {}
-extension RevenueCat.AttributionNetwork : Swift.Hashable {}
-extension RevenueCat.AttributionNetwork : Swift.RawRepresentable {}
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftmodule b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftmodule
deleted file mode 100644
index 874125e..0000000
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/Modules/RevenueCat.swiftmodule/x86_64.swiftmodule and /dev/null differ
diff --git a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/RevenueCat b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/RevenueCat
index 2fcbb09..7af1474 100755
Binary files a/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/RevenueCat and b/Xamarin.RevenueCat.iOS/nativelib/RevenueCat.framework/RevenueCat differ