我正在使用此代码在我的应用中订阅一年计划
- (IBAction)BuyBtn:(UIButton *)sender {
if ([SKPaymentQueue canMakePayments]) {
SKPayment *payment = [SKPayment paymentWithProduct:RemoveAdsProduct];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
}
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions{
for (SKPaymentTransaction *transac in transactions) {
if (transac.transactionState == SKPaymentTransactionStatePurchased ) {
[self RemoveAdsAfterBuy:transac.transactionDate];
NSLog(@"remove ads from the spp");
}
}
问题是订阅过期时,此方法仍然给我 transactionState = SKPaymentTransactionStatePurchased 并且用户无法再次购买该商品,并且即使用户订阅已过期,它也会显示“您已经购买了该商品”,我需要让用户再次购买商品的解决方案。