Skip to content

Commit

Permalink
Release/4.32.0-beta.1 (#3536)
Browse files Browse the repository at this point in the history
This beta introduces a new configuration option to enable full StoreKit
2 flow on the SDK and the RevenueCat backend.

We have been testing StoreKit 2 support in parallel to StoreKit 1 in our
backend for a while and we believe it is ready for widespread use.

If your app is currently using StoreKit 1, it is safe to update to
StoreKit 2 and it's even possible to switch back to StoreKit 1 if
needed. Switching to StoreKit 2 will not prevent purchases made with
StoreKit 1 from being processed.

In order to enable StoreKit 2, add `.with(storeKitVersion: .storeKit2)`
to your RevenueCat configuration code:

```
Purchases.configure(with: .builder(withAPIKey: apiKey)
    .with(storeKitVersion: .storeKit2)
    .build()
```

If you were previously using the deprecated configuration option
`.with(usesStoreKit2IfAvailable: true)`, we recommend you remove it and
switch to the new supported method.

⚠️ ⚠️ Important ⚠️ ⚠️

In order to validate StoreKit 2 purchases, make sure you have an In-App
Purchase Key configured in your app.

Please see https://rev.cat/in-app-purchase-key-configuration for more
info.

🚧🚧 Limitations 🚧🚧

- Observer Mode is not currently supported when using StoreKit 2.
- The `originalApplicationVersion` and `originalPurchaseDate` properties
in `CustomerInfo` are not supported in this first beta. Please do not
update if your implementation relies on them being present.
  • Loading branch information
MarkVillacampa committed Jan 11, 2024
1 parent 68265ba commit 7d07642
Show file tree
Hide file tree
Showing 12 changed files with 225 additions and 141 deletions.
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.32.0-SNAPSHOT
4.32.0-beta.1
37 changes: 28 additions & 9 deletions CHANGELOG.latest.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,28 @@
### RevenueCatUI
* `Paywalls`: remove unscrollable spacing in Template 5 (#3562) via NachoSoto (@NachoSoto)
* `Paywalls`: improve template 5 checkmark icon (#3559) via NachoSoto (@NachoSoto)
### Bugfixes
* Improve sandbox detector for macOS apps (#3549) via Mark Villacampa (@MarkVillacampa)
### Other Changes
* `Paywalls`: new `PaywallViewControllerDelegate.paywallViewController(_:didChangeSizeTo:)` (#3563) via Cesar de la Vega (@vegaro)
* `Tests`: running tests on `macOS` (#3533) via NachoSoto (@NachoSoto)
* `Integration Tests`: split into separate jobs (#3560) via NachoSoto (@NachoSoto)
### StoreKit 2 Beta

This beta introduces a new configuration option to enable full StoreKit 2 flow on the SDK and the RevenueCat backend.

We have been testing StoreKit 2 support in parallel to StoreKit 1 in our backend for a while and we believe it is ready for widespread use.

If your app is currently using StoreKit 1, it is safe to update to StoreKit 2 and it's even possible to switch back to StoreKit 1 if needed. Switching to StoreKit 2 will not prevent purchases made with StoreKit 1 from being processed.

In order to enable StoreKit 2, add `.with(storeKitVersion: .storeKit2)` to your RevenueCat configuration code:

```
Purchases.configure(with: .builder(withAPIKey: apiKey)
.with(storeKitVersion: .storeKit2)
.build()
```

If you were previously using the deprecated configuration option `.with(usesStoreKit2IfAvailable: true)`, we recommend you remove it and switch to the new supported method.

⚠️ ⚠️ Important ⚠️ ⚠️

In order to validate StoreKit 2 purchases, make sure you have an In-App Purchase Key configured in your app.

Please see https://rev.cat/in-app-purchase-key-configuration for more info.

🚧🚧 Limitations 🚧🚧

- Observer Mode is not currently supported when using StoreKit 2.
- The `originalApplicationVersion` and `originalPurchaseDate` properties in `CustomerInfo` are not supported in this first beta. Please do not update if your implementation relies on them being present.
170 changes: 100 additions & 70 deletions CHANGELOG.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion RevenueCat.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "RevenueCat"
s.version = "4.32.0-SNAPSHOT"
s.version = "4.32.0-beta.1"
s.summary = "Subscription and in-app-purchase backend service."

s.description = <<-DESC
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-snapshot-testing",
"state" : {
"revision" : "dc46eeb3928a75390651fac6c1ef7f93ad59a73b",
"version" : "1.11.1"
"revision" : "26ed3a2b4a2df47917ca9b790a57f91285b923fb",
"version" : "1.12.0"
}
}
],
Expand Down
2 changes: 1 addition & 1 deletion RevenueCatUI.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "RevenueCatUI"
s.version = "4.32.0-SNAPSHOT"
s.version = "4.32.0-beta.1"
s.summary = "UI library for RevenueCat paywalls."

s.description = <<-DESC
Expand Down
2 changes: 1 addition & 1 deletion Sources/Misc/SystemInfo.swift
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class SystemInfo {
}

static var frameworkVersion: String {
return "4.32.0-SNAPSHOT"
return "4.32.0-beta.1"
}

static var systemVersion: String {
Expand Down
140 changes: 88 additions & 52 deletions Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Generated by Apple Swift version 5.8.1 (swiftlang-5.8.0.124.5 clang-1403.0.22.11.100)
// Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5)
#ifndef REVENUECAT_SWIFT_H
#define REVENUECAT_SWIFT_H
#pragma clang diagnostic push
Expand Down Expand Up @@ -40,12 +40,18 @@
#include <string.h>
#endif
#if defined(__cplusplus)
#if __has_include(<ptrauth.h>)
#if defined(__arm64e__) && __has_include(<ptrauth.h>)
# include <ptrauth.h>
#else
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-macro-identifier"
# ifndef __ptrauth_swift_value_witness_function_pointer
# define __ptrauth_swift_value_witness_function_pointer(x)
# endif
# ifndef __ptrauth_swift_class_method_pointer
# define __ptrauth_swift_class_method_pointer(x)
# endif
#pragma clang diagnostic pop
#endif
#endif

Expand Down Expand Up @@ -244,6 +250,17 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
#else
# define SWIFT_NOEXCEPT
#endif
#if !defined(SWIFT_C_INLINE_THUNK)
# if __has_attribute(always_inline)
# if __has_attribute(nodebug)
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug))
# else
# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline))
# endif
# else
# define SWIFT_C_INLINE_THUNK inline
# endif
#endif
#if defined(_WIN32)
#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL)
# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport)
Expand Down Expand Up @@ -576,6 +593,7 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCAttributionNetwork, "AttributionNetwork",
@class RCDangerousSettings;
@class RCPlatformInfo;
enum RCEntitlementVerificationMode : NSInteger;
enum RCStoreKitVersion : NSInteger;
@class RCConfiguration;

/// The Builder for <code>Configuration</code>.
Expand Down Expand Up @@ -658,6 +676,19 @@ SWIFT_CLASS_NAMED("Builder")
/// </li>
/// </ul>
- (RCConfigurationBuilder * _Nonnull)withEntitlementVerificationMode:(enum RCEntitlementVerificationMode)mode SWIFT_WARN_UNUSED_RESULT SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0);
/// Set <code>StoreKitVersion</code>.
/// Defaults to <code>StoreKitVersion/default</code> which lets the SDK select
/// the most appropriate version of StoreKit. Currently defaults to StoreKit 1.
/// note:
/// StoreKit 2 is only available on iOS 15+. StoreKit 1 will be used for previous iOS versions
/// regardless of this setting.
/// <h3>Related Symbols</h3>
/// <ul>
/// <li>
/// <code>StoreKitVersion</code>
/// </li>
/// </ul>
- (RCConfigurationBuilder * _Nonnull)withStoreKitVersion:(enum RCStoreKitVersion)version SWIFT_WARN_UNUSED_RESULT;
/// Generate a <code>Configuration</code> object given the values configured by this builder.
- (RCConfiguration * _Nonnull)build SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
Expand All @@ -666,14 +697,7 @@ SWIFT_CLASS_NAMED("Builder")


@interface RCConfigurationBuilder (SWIFT_EXTENSION(RevenueCat))
/// Set <code>storeKit2Setting</code>. If <code>true</code>, the SDK will use StoreKit 2 APIs internally. If disabled, it will use StoreKit 1 APIs instead.
/// important:
/// This configuration flag has been deprecated, and will be replaced by automatic remote configuration in the future.
/// However, apps using it should work correctly.
/// \param usesStoreKit2IfAvailable enable StoreKit 2 on devices that support it.
/// Defaults to <code>false</code>.
///
- (RCConfigurationBuilder * _Nonnull)withUsesStoreKit2IfAvailable:(BOOL)usesStoreKit2IfAvailable SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("\n RevenueCat currently uses StoreKit 1 for purchases, as its stability in production scenarios has\n proven to be more performant than StoreKit 2.\n\n We're collecting more data on the best approach, but StoreKit 1 vs StoreKit 2 is an implementation detail\n that you shouldn't need to care about.\n\n Simply remove this method call to let RevenueCat decide for you which StoreKit implementation to use.\n ");
- (RCConfigurationBuilder * _Nonnull)withUsesStoreKit2IfAvailable:(BOOL)usesStoreKit2IfAvailable SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("Use .with(storeKitVersion:) to enable StoreKit 2");
@end

/// Specifies the behavior for a caching API.
Expand Down Expand Up @@ -1402,6 +1426,7 @@ SWIFT_CLASS_NAMED("Offering")




/// This class contains all the offerings configured in RevenueCat dashboard.
/// Offerings let you control which products are shown to users without requiring an app update.
/// Building paywalls that are dynamic and can react to different product
Expand Down Expand Up @@ -1487,6 +1512,13 @@ SWIFT_CLASS_NAMED("Package")



@class SKProduct;

@interface RCPackage (SWIFT_EXTENSION(RevenueCat))
/// <code>SKProduct</code> 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 <code>PackageType</code>.
Expand All @@ -1503,13 +1535,6 @@ SWIFT_CLASS_NAMED("Package")
+ (enum RCPackageType)packageTypeFrom:(NSString * _Nonnull)string SWIFT_WARN_UNUSED_RESULT;
@end

@class SKProduct;

@interface RCPackage (SWIFT_EXTENSION(RevenueCat))
/// <code>SKProduct</code> 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


/// Enumeration of all possible <code>Package</code> types, as configured on the package.
/// <h4>Related Articles</h4>
Expand Down Expand Up @@ -2555,6 +2580,8 @@ SWIFT_PROTOCOL("_TtP10RevenueCat29PurchasesOrchestratorDelegate_")
@end




@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) RCPlatformInfo * _Nullable platformInfo;)
+ (RCPlatformInfo * _Nullable)platformInfo SWIFT_WARN_UNUSED_RESULT;
Expand All @@ -2571,8 +2598,6 @@ SWIFT_CLASS_NAMED("PlatformInfo")





@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
- (void)logIn:(NSString * _Nonnull)appUserID completion:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, BOOL, NSError * _Nullable))completion;
- (void)logIn:(NSString * _Nonnull)appUserID completionHandler:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, BOOL, NSError * _Nullable))completionHandler SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0);
Expand All @@ -2581,32 +2606,6 @@ 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");
/// Deprecated
+ (void)addAttributionData:(NSDictionary<NSString *, id> * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network SWIFT_DEPRECATED_MSG("Use the set<NetworkId> functions instead");
/// Send your attribution data to RevenueCat so you can track the revenue generated by your different campaigns.
/// <h4>Related articles</h4>
/// <ul>
/// <li>
/// <a href="https://docs.revenuecat.com/docs/attribution">Attribution</a>
/// </li>
/// </ul>
/// \param data Dictionary provided by the network.
///
/// \param network Enum for the network the data is coming from, see <code>AttributionNetwork</code> for supported
/// networks.
///
/// \param networkUserId User Id that should be sent to the network. Default is the current App User Id.
///
+ (void)addAttributionData:(NSDictionary<NSString *, id> * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network forNetworkUserId:(NSString * _Nullable)networkUserId SWIFT_DEPRECATED_MSG("Use the set<NetworkId> functions instead");
@end


@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
/// Configures an instance of the Purchases SDK with a specified <code>Configuration</code>.
Expand Down Expand Up @@ -2702,6 +2701,32 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
@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");
/// Deprecated
+ (void)addAttributionData:(NSDictionary<NSString *, id> * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network SWIFT_DEPRECATED_MSG("Use the set<NetworkId> functions instead");
/// Send your attribution data to RevenueCat so you can track the revenue generated by your different campaigns.
/// <h4>Related articles</h4>
/// <ul>
/// <li>
/// <a href="https://docs.revenuecat.com/docs/attribution">Attribution</a>
/// </li>
/// </ul>
/// \param data Dictionary provided by the network.
///
/// \param network Enum for the network the data is coming from, see <code>AttributionNetwork</code> for supported
/// networks.
///
/// \param networkUserId User Id that should be sent to the network. Default is the current App User Id.
///
+ (void)addAttributionData:(NSDictionary<NSString *, id> * _Nonnull)data fromNetwork:(enum RCAttributionNetwork)network forNetworkUserId:(NSString * _Nullable)networkUserId SWIFT_DEPRECATED_MSG("Use the set<NetworkId> functions instead");
@end


@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
+ (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:)'");
Expand Down Expand Up @@ -3028,6 +3053,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong, getter=defau
@end



SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) SWIFT_AVAILABILITY(ios,introduced=13.0)
@interface RCPurchasesDiagnostics (SWIFT_EXTENSION(RevenueCat))
/// Perform tests to ensure SDK is configured correctly.
Expand All @@ -3042,7 +3068,6 @@ SWIFT_AVAILABILITY(watchos,introduced=6.2) SWIFT_AVAILABILITY(tvos,introduced=13




/// A type that can parse Apple receipts from a device.
/// This implements parsing based on <a href="https://rev.cat/apple-receipt-fields">Apple’s documentation</a>.
/// To use this class you must access <code>PurchasesReceiptParser/default</code>:
Expand All @@ -3066,6 +3091,7 @@ SWIFT_CLASS("_TtC10RevenueCat22PurchasesReceiptParser")




@interface PurchasesReceiptParser (SWIFT_EXTENSION(RevenueCat))
/// A default instance of <code>PurchasesReceiptParser</code>
SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong, getter=default) PurchasesReceiptParser * _Nonnull default_;)
Expand All @@ -3074,7 +3100,6 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong, getter=defau




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;
Expand Down Expand Up @@ -3169,6 +3194,17 @@ SWIFT_CLASS("_TtC10RevenueCat22StoreKitRequestFetcher")
- (void)request:(SKRequest * _Nonnull)request didFailWithError:(NSError * _Nonnull)error;
@end

/// Defines which version of StoreKit may be used
typedef SWIFT_ENUM_NAMED(NSInteger, RCStoreKitVersion, "StoreKitVersion", open) {
/// Always use StoreKit 1.
RCStoreKitVersionStoreKit1 = 1,
/// Always use StoreKit 2 (StoreKit 1 will be used if StoreKit 2 is not available in the current device.)
/// warning:
/// Make sure you have an In-App Purchase Key configured in your app.
/// Please see https://rev.cat/in-app-purchase-key-configuration for more info.
RCStoreKitVersionStoreKit2 = 2,
};

/// Type of messages available in StoreKit
/// <h4>Related Symbols</h4>
/// <ul>
Expand Down Expand Up @@ -3470,13 +3506,13 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCSubscriptionPeriodUnit, "Unit", open) {


@interface RCSubscriptionPeriod (SWIFT_EXTENSION(RevenueCat))
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
/// The number of units per subscription period
@property (nonatomic, readonly) NSInteger numberOfUnits SWIFT_AVAILABILITY(macos,unavailable,message="'numberOfUnits' has been renamed to 'value'") SWIFT_AVAILABILITY(watchos,unavailable,message="'numberOfUnits' has been renamed to 'value'") SWIFT_AVAILABILITY(tvos,unavailable,message="'numberOfUnits' has been renamed to 'value'") SWIFT_AVAILABILITY(ios,unavailable,message="'numberOfUnits' has been renamed to 'value'");
@end


@interface RCSubscriptionPeriod (SWIFT_EXTENSION(RevenueCat))
/// The number of units per subscription period
@property (nonatomic, readonly) NSInteger numberOfUnits SWIFT_AVAILABILITY(macos,unavailable,message="'numberOfUnits' has been renamed to 'value'") SWIFT_AVAILABILITY(watchos,unavailable,message="'numberOfUnits' has been renamed to 'value'") SWIFT_AVAILABILITY(tvos,unavailable,message="'numberOfUnits' has been renamed to 'value'") SWIFT_AVAILABILITY(ios,unavailable,message="'numberOfUnits' has been renamed to 'value'");
@property (nonatomic, readonly, copy) NSString * _Nonnull debugDescription;
@end


Expand Down Expand Up @@ -3561,11 +3597,11 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCVerificationResult, "VerificationResult",
RCVerificationResultFailed = 2,
};

#endif
#if defined(__cplusplus)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#if defined(__cplusplus)
#endif
#pragma clang diagnostic pop
#endif
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,4 @@
"method" : "POST",
"url" : "https:\/\/api.revenuecat.com\/v1\/receipts"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@
"$attConsentStatus" : {
"updated_at_ms" : 1678307200000,
"value" : "notDetermined"
"value" : "authorized"
}
},
"currency" : "USD",
Expand Down
2 changes: 1 addition & 1 deletion scripts/docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; url=https://revenuecat.github.io/purchases-ios-docs/4.32.0-SNAPSHOT/documentation/revenuecat"/>
<meta http-equiv="refresh" content="0; url=https://revenuecat.github.io/purchases-ios-docs/4.32.0-beta.1/documentation/revenuecat"/>
</head>
<body>
</body>
Expand Down
2 changes: 1 addition & 1 deletion scripts/docs/v4_api_migration_guide.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; url=https://revenuecat.github.io/purchases-ios-docs/4.32.0-SNAPSHOT/documentation/revenuecat/v4_api_migration_guide"/>
<meta http-equiv="refresh" content="0; url=https://revenuecat.github.io/purchases-ios-docs/4.32.0-beta.1/documentation/revenuecat/v4_api_migration_guide"/>
</head>
<body>
</body>
Expand Down

0 comments on commit 7d07642

Please sign in to comment.