Делегаты SKProductRequest, не входящие в приложение, не звонили

Я знаю, что вопрос задавался так много раз. Я посмотрел все это, но я не смог решить эту проблему.

я добавил Storekit framework и создал и класс InAppPurchaseManager типа NSObject,

Я делаю случай, когда мне нужно сделать запрос продукта.

InAppPurchaseManager *inApp = [[InAppPurchaseManager alloc] init];
[inApp loadStore:@"TestProduct"];

Я сделал свойство класса SKProductsRequest,

@property (retain, nonatomic) SKProductsRequest *productsRequest;

// метод loadStore

- (void)loadStore:(NSString *)_productID
{
    productID = _productID;
    // restarts any purchases if they were interrupted last time the app was open
    [[SKPaymentQueue defaultQueue] removeTransactionObserver:self];   
    // get the product description (defined in early sections)
    [self requestProUpgradeProductData];
}

- (void)requestProUpgradeProductData 
{

    NSSet *productIdentifiers = [NSSet setWithObject:productID];
    self.productsRequest = [[SKProductsRequest alloc]     
        initWithProductIdentifiers:productIdentifiers];
    self.productsRequest.delegate = self;
    [self.productsRequest start];
}

// Делегаты

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:                               
      (SKProductsResponse *)response
{
    //never being called    
}

- (void)requestDidFinish:(SKRequest *)request 
{
    //never being called
}

- (void)request:(SKRequest *)request didFailWithError:(NSError *)error 
{
    //never being called
}

Мой интерфейс выглядит так

@interface InAppPurchaseManager : NSObject <SKProductsRequestDelegate, SKPaymentTransactionObserver, SKRequestDelegate>

Пожалуйста, предложите, как я могу решить эту проблему.

Изменить: как это

[self.productsRequest start];

выполняет это входит в

-(void) dealloc {

}

1 ответ

Решение

Эта проблема исправлена ​​путем создания свойства InAppPurchaseManager.

Другие вопросы по тегам