2016-02-29 99 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

如果它幫助你,那麼請不要介意接受答案。 –