【发布时间】:2011-09-28 09:38:36
【问题描述】:
很抱歉关于自动更新订阅的第 100 万个问题,但我不明白。 我已经按照 Apples In-App Purchase Guidelines 中的说明完成了所有操作,但并没有解决问题。
我的问题是我创建了可自动更新的订阅,但它们不会自动更新。
我创建了一个 Payment Transaction Observer 类,它实现了 SKPaymentTransactionObserver 接口。此类将在应用程序启动时以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 分钟后被调用,但它不会。
我做错了什么?
有人可以帮忙吗?
Br 网卡
【问题讨论】:
-
我刚刚在苹果论坛上发布了这个问题,所以希望我能尽快得到答复!
-
现在我还创建了一个开发者支持请求。这个问题似乎还有很多其他问题!
标签: ios in-app-purchase sandbox restore