Add PromiseKit dependency

- Added PromiseKit dependency
This commit is contained in:
2018-11-15 22:08:00 -04:00
parent 2689d86c18
commit be7b6b5881
541 changed files with 46282 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
//
// PromiseKit+StoreKit.m
// Aluxoft SCP
//
// Created by Josejulio Martínez on 16/05/14.
//
#import "SKRequest+AnyPromise.h"
#import <StoreKit/SKProductsRequest.h>
//TODO do categories work on inherited classes? As would solve our swift SKProductsRequest problem
@interface PMKSKRequestDelegate : NSObject <SKProductsRequestDelegate> {
@public
PMKResolver resolve;
id retainCycle;
}
@end
@implementation PMKSKRequestDelegate
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
resolve(response);
retainCycle = request.delegate = nil;
}
- (void)requestDidFinish:(SKRequest *)request {
resolve(nil);
retainCycle = request.delegate = nil;
}
- (void)request:(SKRequest *)request didFailWithError:(NSError *)error {
resolve(error);
retainCycle = request.delegate = nil;
}
@end
@implementation SKProductsRequest (PromiseKit)
- (AnyPromise *)promise {
PMKSKRequestDelegate *d = [PMKSKRequestDelegate new];
d->retainCycle = self.delegate = d;
[self start];
return [[AnyPromise alloc] initWithResolver:&d->resolve];
}
@end