2012-01-11 98 views
1

在App App中購買:什麼時候是SKPaymentTransactionStateRestored:叫?iPhone App:在App Purchase中購買

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions { 
    for (SKPaymentTransaction *transaction in transactions) { 
     switch (transaction.transactionState) { 
     case SKPaymentTransactionStateRestored: 
     [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; 
     break; 
     } 
    } 
} 

如何從蘋果得到確認,該應用程序購買成功意味着我想打印NSlog中的信息。

我應該怎麼寫是什麼?

+0

手錶訴訟^ _^ – FreeAsInBeer 2012-01-11 15:14:32

+0

Prera​​k你好你怎麼樣? – 2012-02-17 10:24:02

回答

0

就我而言,僅當Apple響應updatedTransactions狀態爲SKPaymentTransactionStateRestoredSKPaymentTransactionStatePurchased時才成功購買transactions

0

當方法:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray  *)transactions{ 

    for (SKPaymentTransaction * transaction in transactions) {   

     //process the transaction 
     switch (transaction.transactionState) { 
      case SKPaymentTransactionStatePurchased: 
       [self completeTransaction:transaction]; 
       break; 
      case SKPaymentTransactionStateFailed: 
       [self failedTransaction:transaction]; 
       break; 
      case SKPaymentTransactionStateRestored: 
       [self restoreTransaction:transaction]; 
       break; 
      default: 
       break; 
    } 

     } 

}

被稱爲這意味着你已經與蘋果完成你的交易,你處理三種情況:

SKPaymentTransactionStatePurchased:這意味着你的產品是買的。

SKPaymentTransactionStateFailed:你的產品不能買。

SKPaymentTransactionStatePurchased:這是你的問題。只要您的SKPaymentTransactionObserver處於活動狀態,交易是持續的,這意味着如果您的客戶打算購買您的產品,但在交付產品時發生了錯誤(服務器錯誤或其他),那麼當應用程序再次啓動時,事務將返回到此方法完成購買。

我希望信息幫助。