From 48281e2d00fd773910f4cbbc9771fb2f72eb0c27 Mon Sep 17 00:00:00 2001 From: Artem Date: Sun, 24 Mar 2024 15:41:05 +0100 Subject: [PATCH] Retain products request #229 If not retained, on tvOS will be always released and the delegate won't be called. --- RMStore/RMStore.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/RMStore/RMStore.m b/RMStore/RMStore.m index c27d9ed..1ea8d7c 100755 --- a/RMStore/RMStore.m +++ b/RMStore/RMStore.m @@ -111,6 +111,7 @@ @interface RMProductsRequestDelegate : NSObject @property (nonatomic, copy) RMSKProductsRequestSuccessBlock successBlock; @property (nonatomic, copy) RMSKProductsRequestFailureBlock failureBlock; @property (nonatomic, weak) RMStore *store; +@property (nonatomic, strong) SKProductsRequest *productsRequest; @end @@ -253,7 +254,7 @@ - (void)requestProducts:(NSSet*)identifiers SKProductsRequest *productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:identifiers]; productsRequest.delegate = delegate; - + delegate.productsRequest = productsRequest; [productsRequest start]; } @@ -787,6 +788,7 @@ - (void)postNotificationWithName:(NSString*)notificationName transaction:(SKPaym - (void)removeProductsRequestDelegate:(RMProductsRequestDelegate*)delegate { + delegate.productsRequest = nil; [_productsRequestDelegates removeObject:delegate]; }