gpt4 book ai didi

ios - 自动续订订阅不会自动续订

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:55:26 25 4
gpt4 key购买 nike

很抱歉关于自动续订订阅的第百万个问题,但我不明白。我已按照 Apple 的应用内购买指南中的描述完成所有操作,但并没有解决问题。

我的问题是我已经创建了可自动续订的订阅,但它们不会自动续订。

我创建了一个 Payment Transaction Observer 类,它实现了 SKPaymentTransactionObserver 接口(interface)。此类将在 viewDidLoad: 方法中的应用程序启动时作为 paymentObserver 安装。

PaymentTransactionObserver *observer = [[PaymentTransactionObserver alloc] init];

[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];

在 paymenttransactionobserver 中,我有 paymentQueue:updateTransactions 方法:(与 Apple 文档中的描述相同)

  • (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];

break;

default:

break;
}
}

当我购买自动更新产品时,该产品将成功购买。但它永远不会自动更新。我想到,事务观察者会以某种方式被释放,但它不会(否则,调试器会通知我)。不过,我也确实删除了观察者,但它永远不会被删除。

我使用调试器来确保 updateTranscations: 方法将被调用,但什么也没有。当我购买一个自动更新时间为一周的测试产品(在沙盒模式下)时,该方法应该在 3 分钟后被调用,但它不会。

我做错了什么?

有人可以帮忙吗?

小红书

最佳答案

如果订阅是自动更新的,交易将不会通过 paymentQueue:updateTransactions 方法。续订刚刚发生在商店。如果你想测试它,你必须:

  • 如果您将收据存储在您的应用服务器上,请重新验证收据。

  • 在您的 iOS 客户端上重新验证收据

(http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/VerifyingStoreReceipts/VerifyingStoreReceipts.html#//apple_ref/doc/uid/TP40008267-CH104-SW1)

为了避免在每次启动/激活时都测试自动续订,您应该存储订阅期的结束日期以便之后测试续订。

另见:

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/RenewableSubscriptions/RenewableSubscriptions.html#//apple_ref/doc/uid/TP40008267-CH4-SW4

但是,沙箱中似乎存在错误。订阅有时会续订,有时不会。难以测试....

关于ios - 自动续订订阅不会自动续订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7581190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com