我正在使用我的服务器实现应用内购买,以zip文件的形式提供购买(不是Apple服务器) .

由于可下载文件非常大,50Mb-500Mb我想让用户购买这些商品,并且只有在他们想要下载并安装购买时 .

所以我的实现将是 - 关闭Apple交易和标记项目购买 - 触发下载时你想要

Apple文档建议您仅在下载完成后关闭事务:我一直在阅读所有Apple文档,我看不到任何关于此的具体评论说您必须在下载后关闭事务 .

我是否会被Apple拒绝?

这里的代码:在“SKPaymentTransactionStatePurchased”的情况下,我调用方法“completeTransaction”,它正在关闭事务本身 . 我的问题是关于方法:[self provideContent:transaction.payment.productIdentifier];

我可以在以后的“finishTransaction”操作中从此处移动此下载吗?

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
    for (SKPaymentTransaction *transaction in transactions)
    {
       switch (transaction.transactionState)
       {
           case SKPaymentTransactionStatePurchased:
               // [self completeTransaction:transaction];
               break;

           case SKPaymentTransactionStateFailed:
               // [self failedTransaction:transaction];
               break;

           case SKPaymentTransactionStateRestored:
               // [self restoreTransaction:transaction];
           default:
               break;
       }

    }
}



- (void) completeTransaction: (SKPaymentTransaction *)transaction
{
    [self recordTransaction:transaction];
    [self provideContent:transaction.payment.productIdentifier];
    // Remove the transaction from the payment queue.
    [[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}