【发布时间】:2013-02-20 07:55:34
【问题描述】:
我正在努力恢复购买,所以我没有什么疑问
1) 如何显示恢复按钮
我已经在左上角显示了,点击它我调用这个函数
- (IBAction)restorePurchases:(id)sender
{
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
[[SKPaymentQueue defaultQueue]restoreCompletedTransactions];
}
但是如果用户没有购买任何物品或者如果用户购买了物品但没有删除并重新安装应用程序怎么办,我是否仍然需要显示恢复按钮,如果是,点击它应该是什么行为。
2) 现在,如果我购买了一个项目并删除应用程序并重新安装应用程序,然后单击恢复按钮,它会调用此函数
- (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;
}
}
}
但是现在,假设我没有任何项目,只需单击恢复按钮,它会询问我的苹果 ID,输入苹果 ID 后,没有任何反应,它没有调用上述函数,我想知道为什么会这样。
另外,我想向用户显示没有要恢复的项目的消息,我该怎么做。
我搜索了这个,它们是一个委托函数,如果没有要恢复的事务,它将被调用
- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
}
我所做的是,这里我检查了是否没有要恢复的项目,我将显示为没有要恢复的项目,我这种方法是否正确。
问候 兰吉特
【问题讨论】:
标签: ios ios5 ios6 in-app-purchase