diff --git a/.circleci/config.yml b/.circleci/config.yml
index bd42235725..061f9350e3 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -658,7 +658,8 @@ workflows:
xcode_version: '14.0.0'
<<: *release-tags-and-branches
- installation-tests-swift-package-manager:
- xcode_version: '14.0.0'
+ # Not using Xcode 14 yet because it does not contain the new macOS SDK until Ventura is released.
+ xcode_version: '13.4.1'
<<: *release-tags-and-branches
- installation-tests-carthage:
# Not using Xcode 14 yet because it does not contain the new macOS SDK until Ventura is released.
diff --git a/.jazzy.yaml b/.jazzy.yaml
index 7656f320bc..e6c365bef8 100644
--- a/.jazzy.yaml
+++ b/.jazzy.yaml
@@ -2,9 +2,9 @@ clean: true
author: RevenueCat
author_url: https://revenuecat.com
sdk: iphonesimulator
-module_version: 4.14.0-SNAPSHOT
+module_version: 4.13.2
github_url: https://github.com/revenuecat/purchases-ios
-github_file_prefix: https://github.com/revenuecat/purchases-ios/tree/4.14.0-SNAPSHOT
+github_file_prefix: https://github.com/revenuecat/purchases-ios/tree/4.13.2
output: generated_docs
include:
- "Sources/**/*"
diff --git a/.version b/.version
index 9fb72d0c67..650edfe9ae 100644
--- a/.version
+++ b/.version
@@ -1 +1 @@
-4.14.0-SNAPSHOT
+4.13.2
diff --git a/CHANGELOG.latest.md b/CHANGELOG.latest.md
index fef0ba8471..067ad9ffb6 100644
--- a/CHANGELOG.latest.md
+++ b/CHANGELOG.latest.md
@@ -1,9 +1,23 @@
+### Bugfixes
+* Purchasing: fixed consumable purchases by fixing transaction-finishing (#1965) via NachoSoto (@NachoSoto)
+* `ErrorUtils`: improved logging and `localizedDescription` to include underlying errors (#1974) via NachoSoto (@NachoSoto)
+* `PaymentQueueWrapper`: also implement `shouldShowPriceConsent` (#1963) via NachoSoto (@NachoSoto)
+* `ReceiptFetcher`: added retry mechanism (#1945) via NachoSoto (@NachoSoto)
+* `PaymentQueueWrapper`: also conform to `SKPaymentTransactionObserver` to fix promoted purchases (#1962) via NachoSoto (@NachoSoto)
### Other Changes
-* `ProductsFetcherSK2`: removed now redundant caching logic (#1908) via NachoSoto (@NachoSoto)
-* Created `CachingProductsManager` to provide consistent caching logic when fetching products (#1907) via NachoSoto (@NachoSoto)
-* Refactored `ReceiptFetcher.receiptData` (#1941) via NachoSoto (@NachoSoto)
-* Abstracted conversion from `async` to completion-block APIs (#1943) via NachoSoto (@NachoSoto)
-* Moved `InAppPurchase` into `AppleReceipt` (#1942) via NachoSoto (@NachoSoto)
-* `Purchases+async`: combined `@available` statements into a single one (#1944) via NachoSoto (@NachoSoto)
-* `Integration Tests`: don't initialize `Purchases` until the `SKTestSession` has been re-created (#1946) via NachoSoto (@NachoSoto)
-* `PostReceiptDataOperation`: print receipt data if `debug` logs are enabled (#1940) via NachoSoto (@NachoSoto)
+* Updating great support link via Miguel José Carranza Guisado (@MiguelCarranza)
+* `OfferingsManager`: added ability to fail if any product is not found (#1976) via NachoSoto (@NachoSoto)
+* `OfferingsManager`: added missing test for ignoring missing products (#1975) via NachoSoto (@NachoSoto)
+* `PaymentQueueWrapper`: improved abstraction for active `SKPaymentQueue` wrapper (#1968) via NachoSoto (@NachoSoto)
+* `ErrorUtils.purchasesError(withUntypedError:)` handle `PurchasesErrorConvertible` (#1973) via NachoSoto (@NachoSoto)
+* Renamed `CallbackCache.add(callback:)` (#1970) via NachoSoto (@NachoSoto)
+* Fixed iOS 12/13 test snapshots (#1972) via NachoSoto (@NachoSoto)
+* Moved `SKPaymentQueue.presentCodeRedemptionSheet` to `StoreKitWorkarounds` (#1967) via NachoSoto (@NachoSoto)
+* `Async.call` method to convert completion-block call to `async` (#1969) via NachoSoto (@NachoSoto)
+* Remind about updating docs and parity spreadsheet on minor releases (#1955) via Cesar de la Vega (@vegaro)
+* `PostReceiptDataOperation`: added `initiationSource` parameter (#1957) via NachoSoto (@NachoSoto)
+* `StoreKit1Wrapper`: separated `SKPaymentTransactionObserver` and `SKPaymentQueueDelegate` implementations (#1961) via NachoSoto (@NachoSoto)
+* Refactored `Error.isCancelledError` into `Error+Extensions` (#1960) via NachoSoto (@NachoSoto)
+* Update fastlane plugin (#1959) via Cesar de la Vega (@vegaro)
+* `Integration Tests`: simplified `testIneligibleForIntroAfterPurchaseExpires` to fix flakiness (#1952) via NachoSoto (@NachoSoto)
+* fix typo in comment (#1956) via Andy Boedo (@aboedo)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 39fb9bc127..d656f61d0d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,28 @@
+## 4.13.2
+### Bugfixes
+* Purchasing: fixed consumable purchases by fixing transaction-finishing (#1965) via NachoSoto (@NachoSoto)
+* `ErrorUtils`: improved logging and `localizedDescription` to include underlying errors (#1974) via NachoSoto (@NachoSoto)
+* `PaymentQueueWrapper`: also implement `shouldShowPriceConsent` (#1963) via NachoSoto (@NachoSoto)
+* `ReceiptFetcher`: added retry mechanism (#1945) via NachoSoto (@NachoSoto)
+* `PaymentQueueWrapper`: also conform to `SKPaymentTransactionObserver` to fix promoted purchases (#1962) via NachoSoto (@NachoSoto)
+### Other Changes
+* Updating great support link via Miguel José Carranza Guisado (@MiguelCarranza)
+* `OfferingsManager`: added ability to fail if any product is not found (#1976) via NachoSoto (@NachoSoto)
+* `OfferingsManager`: added missing test for ignoring missing products (#1975) via NachoSoto (@NachoSoto)
+* `PaymentQueueWrapper`: improved abstraction for active `SKPaymentQueue` wrapper (#1968) via NachoSoto (@NachoSoto)
+* `ErrorUtils.purchasesError(withUntypedError:)` handle `PurchasesErrorConvertible` (#1973) via NachoSoto (@NachoSoto)
+* Renamed `CallbackCache.add(callback:)` (#1970) via NachoSoto (@NachoSoto)
+* Fixed iOS 12/13 test snapshots (#1972) via NachoSoto (@NachoSoto)
+* Moved `SKPaymentQueue.presentCodeRedemptionSheet` to `StoreKitWorkarounds` (#1967) via NachoSoto (@NachoSoto)
+* `Async.call` method to convert completion-block call to `async` (#1969) via NachoSoto (@NachoSoto)
+* Remind about updating docs and parity spreadsheet on minor releases (#1955) via Cesar de la Vega (@vegaro)
+* `PostReceiptDataOperation`: added `initiationSource` parameter (#1957) via NachoSoto (@NachoSoto)
+* `StoreKit1Wrapper`: separated `SKPaymentTransactionObserver` and `SKPaymentQueueDelegate` implementations (#1961) via NachoSoto (@NachoSoto)
+* Refactored `Error.isCancelledError` into `Error+Extensions` (#1960) via NachoSoto (@NachoSoto)
+* Update fastlane plugin (#1959) via Cesar de la Vega (@vegaro)
+* `Integration Tests`: simplified `testIneligibleForIntroAfterPurchaseExpires` to fix flakiness (#1952) via NachoSoto (@NachoSoto)
+* fix typo in comment (#1956) via Andy Boedo (@aboedo)
+
## 4.13.1
### Other Changes
* `ProductsFetcherSK2`: removed now redundant caching logic (#1908) via NachoSoto (@NachoSoto)
diff --git a/RevenueCat.podspec b/RevenueCat.podspec
index 126dbb95e1..0c0fcdf35e 100644
--- a/RevenueCat.podspec
+++ b/RevenueCat.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "RevenueCat"
- s.version = "4.14.0-SNAPSHOT"
+ s.version = "4.13.2"
s.summary = "Subscription and in-app-purchase backend service."
s.description = <<-DESC
diff --git a/Sources/Error Handling/ErrorUtils.swift b/Sources/Error Handling/ErrorUtils.swift
index 1d756f397c..dea775db6e 100644
--- a/Sources/Error Handling/ErrorUtils.swift
+++ b/Sources/Error Handling/ErrorUtils.swift
@@ -290,16 +290,36 @@ enum ErrorUtils {
withUntypedError error: Error,
fileName: String = #fileID, functionName: String = #function, line: UInt = #line
) -> PurchasesError {
- switch error {
- case let purchasesError as PurchasesError:
- return purchasesError
- case let convertible as PurchasesErrorConvertible:
- return convertible.asPurchasesError
- default:
- return ErrorUtils.unknownError(
- error: error,
- fileName: fileName, functionName: functionName, line: line
- )
+ if #available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.2, *) {
+ switch error {
+ case let purchasesError as PurchasesError:
+ return purchasesError
+ // This line crashes on iOS 12.x only (see https://github.com/RevenueCat/purchases-ios/pull/1982).
+ case let convertible as PurchasesErrorConvertible:
+ return convertible.asPurchasesError
+ default:
+ return ErrorUtils.unknownError(
+ error: error,
+ fileName: fileName, functionName: functionName, line: line
+ )
+ }
+ } else {
+ switch error {
+ case let purchasesError as PurchasesError:
+ return purchasesError
+ // `as PurchasesErrorConvertible` crashes on iOS 12.x, so these explicit casts are a workaround.
+ // We can't guarantee that these are exhaustive, but at least this covers the most common cases,
+ // and the `default` below ensures that we don't crash for the rest.
+ case let backendError as BackendError:
+ return backendError.asPurchasesError
+ case let networkError as NetworkError:
+ return networkError.asPurchasesError
+ default:
+ return ErrorUtils.unknownError(
+ error: error,
+ fileName: fileName, functionName: functionName, line: line
+ )
+ }
}
}
diff --git a/Sources/Info.plist b/Sources/Info.plist
index 2ed72f83c9..cfb76ec9bb 100644
--- a/Sources/Info.plist
+++ b/Sources/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 4.14.0
+ 4.13.2
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
LSApplicationCategoryType
diff --git a/Sources/Misc/SystemInfo.swift b/Sources/Misc/SystemInfo.swift
index 57df015dc0..25c27f9493 100644
--- a/Sources/Misc/SystemInfo.swift
+++ b/Sources/Misc/SystemInfo.swift
@@ -48,7 +48,7 @@ class SystemInfo {
}
static var frameworkVersion: String {
- return "4.14.0-SNAPSHOT"
+ return "4.13.2"
}
static var systemVersion: String {
diff --git a/Sources/Purchasing/StoreKit1/PaymentQueueWrapper.swift b/Sources/Purchasing/StoreKit1/PaymentQueueWrapper.swift
index 080aef5fe6..7d124f2e99 100644
--- a/Sources/Purchasing/StoreKit1/PaymentQueueWrapper.swift
+++ b/Sources/Purchasing/StoreKit1/PaymentQueueWrapper.swift
@@ -88,7 +88,7 @@ class PaymentQueueWrapper: NSObject, PaymentQueueWrapperType {
}
#endif
- #if os(iOS)
+ #if os(iOS) && !targetEnvironment(macCatalyst)
@available(iOS 14.0, *)
func presentCodeRedemptionSheet() {
self.paymentQueue.presentCodeRedemptionSheetIfAvailable()
diff --git a/Sources/Purchasing/StoreKit1/StoreKit1Wrapper.swift b/Sources/Purchasing/StoreKit1/StoreKit1Wrapper.swift
index 8b9fd1ccd0..da1da08603 100644
--- a/Sources/Purchasing/StoreKit1/StoreKit1Wrapper.swift
+++ b/Sources/Purchasing/StoreKit1/StoreKit1Wrapper.swift
@@ -114,7 +114,7 @@ extension StoreKit1Wrapper: PaymentQueueWrapperType {
}
#endif
- #if os(iOS)
+ #if os(iOS) && !targetEnvironment(macCatalyst)
@available(iOS 14.0, *)
func presentCodeRedemptionSheet() {
self.paymentQueue.presentCodeRedemptionSheetIfAvailable()
diff --git a/Tests/BackendIntegrationTestApp/Info.plist b/Tests/BackendIntegrationTestApp/Info.plist
index 21cade2b0d..2ff432e915 100644
--- a/Tests/BackendIntegrationTestApp/Info.plist
+++ b/Tests/BackendIntegrationTestApp/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 4.14.0
+ 4.13.2
CFBundleVersion
1
LSRequiresIPhoneOS
diff --git a/Tests/BackendIntegrationTests/Info.plist b/Tests/BackendIntegrationTests/Info.plist
index 8132e9d046..97345e441d 100644
--- a/Tests/BackendIntegrationTests/Info.plist
+++ b/Tests/BackendIntegrationTests/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 4.14.0
+ 4.13.2
CFBundleVersion
1
diff --git a/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h b/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h
index 74415a7dc5..3580011afd 100644
--- a/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h
+++ b/Tests/InstallationTests/CommonFiles/RevenueCat-Swift.h
@@ -749,7 +749,7 @@ SWIFT_CLASS_NAMED("DangerousSettings")
/// If this is disabled, RevenueCat won’t observe the StoreKit queue, and it will not sync any purchase
/// automatically.
///
-- (nonnull instancetype)initWithAutoSyncPurchases:(BOOL)autoSyncPurchases OBJC_DESIGNATED_INITIALIZER;
+- (nonnull instancetype)initWithAutoSyncPurchases:(BOOL)autoSyncPurchases;
@end
@@ -1255,9 +1255,20 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCPackageType, "PackageType", open) {
RCPackageTypeWeekly = 6,
};
+@class SKPaymentTransaction;
+
+/// A wrapper for SKPaymentQueue
+SWIFT_PROTOCOL("_TtP10RevenueCat23PaymentQueueWrapperType_")
+@protocol PaymentQueueWrapperType
+- (void)finishTransaction:(SKPaymentTransaction * _Nonnull)transaction;
+- (void)presentCodeRedemptionSheet SWIFT_AVAILABILITY(maccatalyst,unavailable) SWIFT_AVAILABILITY(watchos,unavailable) SWIFT_AVAILABILITY(tvos,unavailable) SWIFT_AVAILABILITY(macos,unavailable) SWIFT_AVAILABILITY(ios,introduced=14.0);
+@end
+
+/// Implementation of PaymentQueueWrapperType
used when SK1 is not enabled.
SWIFT_CLASS("_TtC10RevenueCat19PaymentQueueWrapper")
-@interface PaymentQueueWrapper : NSObject
+@interface PaymentQueueWrapper : NSObject
+- (void)finishTransaction:(SKPaymentTransaction * _Nonnull)transaction;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
@@ -1267,6 +1278,15 @@ SWIFT_CLASS("_TtC10RevenueCat19PaymentQueueWrapper")
@interface PaymentQueueWrapper (SWIFT_EXTENSION(RevenueCat))
@end
+@class SKPaymentQueue;
+@class SKPayment;
+
+@interface PaymentQueueWrapper (SWIFT_EXTENSION(RevenueCat))
+- (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue updatedTransactions:(NSArray * _Nonnull)transactions;
+- (BOOL)paymentQueue:(SKPaymentQueue * _Nonnull)queue shouldAddStorePayment:(SKPayment * _Nonnull)payment forProduct:(SKProduct * _Nonnull)product SWIFT_WARN_UNUSED_RESULT;
+@end
+
+
/// Enum of supported period types for an entitlement.
typedef SWIFT_ENUM_NAMED(NSInteger, RCPeriodType, "PeriodType", open) {
/// If the entitlement is not under an introductory or trial period.
@@ -2209,7 +2229,6 @@ 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.
@@ -2268,6 +2287,7 @@ 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");)
@@ -2296,18 +2316,6 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL debugLogsEnabled SWIFT_DE
-@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
-@property (nonatomic, readonly, copy) NSString * _Nonnull appUserID;
-@property (nonatomic, readonly) BOOL isAnonymous;
-- (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);
-- (void)logOutWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
-- (void)logOutWithCompletionHandler:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, 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);
-- (void)getOfferingsWithCompletion:(void (^ _Nonnull)(RCOfferings * _Nullable, NSError * _Nullable))completion;
-- (void)offeringsWithCompletionHandler:(void (^ _Nonnull)(RCOfferings * _Nullable, 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);
-@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:)'");
@@ -2321,6 +2329,18 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL automaticAppleSearchAdsAt
@end
+@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
+@property (nonatomic, readonly, copy) NSString * _Nonnull appUserID;
+@property (nonatomic, readonly) BOOL isAnonymous;
+- (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);
+- (void)logOutWithCompletion:(void (^ _Nullable)(RCCustomerInfo * _Nullable, NSError * _Nullable))completion;
+- (void)logOutWithCompletionHandler:(void (^ _Nonnull)(RCCustomerInfo * _Nullable, 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);
+- (void)getOfferingsWithCompletion:(void (^ _Nonnull)(RCOfferings * _Nullable, NSError * _Nullable))completion;
+- (void)offeringsWithCompletionHandler:(void (^ _Nonnull)(RCOfferings * _Nullable, 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);
+@end
+
+
@interface RCPurchases (SWIFT_EXTENSION(RevenueCat))
@@ -2624,6 +2644,7 @@ 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.
@@ -2644,20 +2665,25 @@ typedef SWIFT_ENUM_NAMED(NSInteger, RCStore, "Store", open) {
SWIFT_CLASS("_TtC10RevenueCat16StoreKit1Wrapper")
-@interface StoreKit1Wrapper : NSObject
+@interface StoreKit1Wrapper : NSObject
- (nonnull instancetype)init;
@end
-@class SKPaymentQueue;
-@class SKPaymentTransaction;
-@class SKPayment;
-
@interface StoreKit1Wrapper (SWIFT_EXTENSION(RevenueCat))
+@end
+
+
+@interface StoreKit1Wrapper (SWIFT_EXTENSION(RevenueCat))
+- (void)finishTransaction:(SKPaymentTransaction * _Nonnull)transaction;
+@end
+
+
+@interface StoreKit1Wrapper (SWIFT_EXTENSION(RevenueCat))
- (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue updatedTransactions:(NSArray * _Nonnull)transactions;
- (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);
+- (BOOL)paymentQueue:(SKPaymentQueue * _Nonnull)queue shouldAddStorePayment:(SKPayment * _Nonnull)payment forProduct:(SKProduct * _Nonnull)product SWIFT_WARN_UNUSED_RESULT;
- (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);
- (void)paymentQueueDidChangeStorefront:(SKPaymentQueue * _Nonnull)queue;
@end
diff --git a/Tests/UnitTests/Info.plist b/Tests/UnitTests/Info.plist
index 8132e9d046..97345e441d 100644
--- a/Tests/UnitTests/Info.plist
+++ b/Tests/UnitTests/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 4.14.0
+ 4.13.2
CFBundleVersion
1
diff --git a/Tests/UnitTestsHostApp/Info.plist b/Tests/UnitTestsHostApp/Info.plist
index df74fbd1e5..3f1166087f 100644
--- a/Tests/UnitTestsHostApp/Info.plist
+++ b/Tests/UnitTestsHostApp/Info.plist
@@ -17,7 +17,7 @@
CFBundlePackageType
$(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString
- 4.14.0
+ 4.13.2
CFBundleVersion
1
LSRequiresIPhoneOS
diff --git a/scripts/docs/index.html b/scripts/docs/index.html
index b409479798..ed6b0cd605 100644
--- a/scripts/docs/index.html
+++ b/scripts/docs/index.html
@@ -2,7 +2,7 @@
-
+