在应用购买中,恢复崩溃问题如下:
案例1:关闭后打开应用程序时,它会打开而没有问题。
案例2:关闭后打开应用程序时,它会一直关闭。即使在删除应用程序并重新安装后,也会出现同样的问题。
但是,在进行“恢复出厂设置”后,应用程序运行良好。
恢复守则如下:
[[SKPaymentQueue defaultQueue] addTransactionObserver: self];
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for (SKPaymentTransaction *transaction in transactions)
{
NSInteger _value = transaction.transactionState;
switch (_value){
case SKPaymentTransactionStatePurchased:
[self completeTransaction:transaction];
break;
case SKPaymentTransactionStateFailed:
[self failedTransaction:transaction];
break;
case SKPaymentTransactionStateRestored:
[self restoreTransaction:transaction];
break;
}
}
}
当恢复过程正常进行时,[self restore Transaction: transaction]
进程会连续发生。
当我们收到有问题的用户的崩溃报告时,他们每个人都经历了[self complete Transaction: transaction]
流程。
例如,我们推测当输入诸如“nil”的异常值时,该过程将通过SKPaymentTransactioncompleteTransaction
进行。
问题不会经常发生,但主要问题是即使重新安装应用程序后仍有用户遇到同样的问题。
如果我们收到关于为什么价值'nil'被交付的原因/信息,我们将不胜感激。