2015-05-25 82 views
2

我的應用因未執行「恢復購買」功能而被拒絕。由於沒有「恢復」功能而被拒絕的應用購買功能

蘋果表示

我們發現您的應用提供應用程序內購買,可以恢復 /秒,但不包括「恢復」功能,讓用戶恢復 先前購買在 - App Purchase/s。要恢復以前購買的應用內購買產品 ,最好提供 「恢復」按鈕,並在輕按「恢復」 按鈕時啓動恢復過程。

所以最後決定補充說,我發現,我們必須使用

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

但它並不能幫助! 我搜索了類似的問題,但發現沒有爲我的應用程序工作。 這些是我迄今堆疊以下鏈接:

Restore already bought in-app-purchases on iPhone?

iOS6 - In app purchase with download from Apple server

請幫助!在此先感謝..

+0

順便說一句,你需要一個可見的「還原按鈕「,不只是代碼自動恢復 –

+0

是的,我已經加入了! –

回答

2

嘗試以下操作:

在還原按鈕點擊 - >

- (IBAction)retoreinApp:(id)sender 
{ 
    //set addTransactionObserver to self. 
    [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 
    [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

} 

這將調用

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue { 

    UIAlertView *alert ; 
    if(queue.transactions.count >0) 
    { 
     for (SKPaymentTransaction *transaction in queue.transactions) 
     { 
      NSString *productId = transaction.payment.productIdentifier; 

      NSLog(@" ProductIdentifier is %@",productId); 
      if([productId isEqualToString:@"com.xy.yourProductId"]) 
      {//add code to add it to your account 
      } 
      alert = [[UIAlertView alloc ] initWithTitle:@"Restore Transactions" message:@"All your previous transactions are restored successfully." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 

    } 
    else 
    { 
     alert = [[UIAlertView alloc ] initWithTitle:@"Restore Transactions" message:@"No transactions in your account to be restored." delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; 

    } 
    [alert show]; 

} 
+0

它的工作原理!再次感謝 :) –

相關問題