2016-02-29 101 views
0

我已经创建了一些易耗品IAP并在沙箱环境中对其进行测试。 但是,恢复购买不会返回任何交易,即使我已经购买了几件物品...iOS:无法在沙箱环境中恢复消耗品购买

我如何测试它? 这里是我的代码

按钮的触发启动恢复购买

if (SKPaymentQueue.canMakePayments()) { 
       print("restore payment") 
       SKPaymentQueue.defaultQueue().restoreCompletedTransactions() 
      } 

恢复购买paymentQueueRestoreCompletedTransactionsFinished

func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue) { 
     print("\(queue.transactions.count)") 
     for transaction:AnyObject in queue.transactions 
     { 
      let trans : SKPaymentTransaction = transaction as! SKPaymentTransaction 
      //var identifier : NSString = trans.payment.productIdentifier 
      let identifier : NSString = trans.originalTransaction!.payment.productIdentifier 

      print("pdi \(identifier)") 
     } 
    } 

回答

1

Consumable products无法从苹果服务器恢复。对于耗材产品,您必须在自己的服务器上手动管理购买清单。 如果你想要可恢复的产品,那么你可以简单地在iTunes中使用Non-Consumable产品。

+0

所以这意味着每次用户进行购买,我必须将收据库存储在他们的用户ID?我自己处理恢复过程? – TomSawyer

+0

是的。你不能从苹果服务器恢复它。 –

+0

如果它帮助你,那么请不要介意接受答案。 –