2

我有一个应用程序,我在应用程序购买中实施自动可更新订阅。

我正在关注此链接链接

这样,我就成功收到了购买警报,但是当我再次按下它时,它每次都会询问我是否购买。

其中提到了两种关于检查有效期和产品是否过期的方法。

但我无法从中找到正确的解决方案。

谁能帮帮我吗???

任何帮助将不胜感激。

提前致谢。

4

1 回答 1

3

检查此链接

https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html

Apple 建议收据验证应在服务器端进行。

如果订阅过期,收到的状态码是 21006。


用于恢复购买

- (IBAction)retoreinApp:(id)sender
{
    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

    self.restoringInAppStatusLabel.hidden = NO;

}

获取还原详细信息后,它将调用该方法:

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue {

    UIAlertView *alert ;
    if(queue.transactions.count >0)
    {
        for (SKPaymentTransaction *transaction in queue.transactions)
        {
            NSString *temp = transaction.payment.productIdentifier;

          NSLog(@"Product Identifier string is %@",temp);

        }

        alert = [[UIAlertView alloc ] initWithTitle:@"Restore Transactions" message:@"All your previous transactions are restored successfully." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
    }
    else
    {
        alert = [[UIAlertView alloc ] initWithTitle:@"Restore Transactions" message:@"No transactions in your account to be restored." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];

    }
    [alert show];

}
于 2015-05-14T13:18:05.257 回答