2012-06-16 34 views
5

我已經購買使用我的測試用戶的非消費型產品的任何交易,但是當我把這個:StoreKit restoreCompletedTransactions不返回

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

我沒有看到任何paymentQueueRestoreCompletedTransactionsFinished交易。代碼如下所示:

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue 
{ 
    NSLog(@"received restored transactions: %i", queue.transactions.count); 
    for (SKPaymentTransaction *transaction in queue.transactions) 
    { 
     [self restoreTransaction:transaction]; 
    } 

    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Success" message:@"Your add-ons have been restored." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alertView show]; 
    return; 
} 

日誌總是顯示「收到恢復交易:0」,但我希望看到一個事務。有誰知道爲什麼交易沒有被退回?

+0

所以預期的行爲是,付款隊列應該在'paymentQueueRestoreCompletedTransactionsFinished:'回調之後實際上有交易嗎?我認爲這是相反的http://stackoverflow.com/questions/22303699/iap-receives-paymentqueuerestorecompletedtransactionsfinished-callback-with – hfossli

回答

7

現在它突然開始工作!我只更改了一件事,即進入iTunes Connect並編輯我的產品的說明,以便狀態從「拒絕」更改爲「待定」。奇怪的是,採購仍在工作(即使在「拒絕」狀態),只有恢復不起作用。在更改後我立即嘗試恢復,但沒有奏效,但現在(大約20分鐘後)恢復正常。更改爲掛起必須已修復它(更改後有一段時間傳播到StoreKit服務器),否則這是某種間歇性的StoreKit錯誤。

+0

在iTunes Connect中進行更改解決了我的問題。謝謝 - 我以爲我有一個代碼錯誤,無法弄清楚。 – crgt

+0

它不適合我,如果你逐步解釋,編輯什麼?應用內產品說明或應用說明? –