NSData *recData = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
卸载应用后,我得到recData nil并重新安装。 首次启动我的应用程序时,我使用来请求产品:
SKProductsRequest *productsRequest = [[SKProductsRequest alloc]
initWithProductIdentifiers:[NSSet setWithArray:productIdentifiers]];
productsRequest.delegate = self;
[productsRequest start];
此后,调用-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions
,然后按以下方式检索收据数据:
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions
{
SKPaymentTransaction *transaction = transactions.lastObject;
switch (transaction.transactionState) {
case SKPaymentTransactionStatePurchased:
{
[[SKPaymentQueue defaultQueue]finishTransaction:transaction];
NSLog(@"Order id ======>> %@",transaction.transactionIdentifier);
NSData *recData = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];
[[PaymentPopupViewController sharedInstance] hidePreloader];
[self getReceiptFromAppStore:recData Transaction:transaction isBackground:NO];
break;
}
case SKPaymentTransactionStateFailed:
{
NSLog(@"Purchase failed ");
}
break;
case SKPaymentTransactionStateRestored:
[[SKPaymentQueue defaultQueue]finishTransaction:transaction];
break;
default:
break;
}
}