iOS中

2013-02-20 53 views
1
恢復購買

我正在恢復採購,所以我有一些懷疑iOS中

1)如何顯示恢復按鈕

我已經展示了它的左上角,並在它的點擊我電話此功能

- (IBAction)restorePurchases:(id)sender 
    { 
     [[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 
     [[SKPaymentQueue defaultQueue]restoreCompletedTransactions]; 

    } 

但是,如果用戶沒有購買anyItem或者如果用戶已經購買的物品,但不刪除並重新安裝應用程序,無論是我還是需要顯示restoreButton,如果是,就請點擊它應該是什麼樣的行爲。

2)現在,如果我已購買的項目,並刪除該應用程序,並重新安裝應用程序,並單擊還原按鈕,它會調用這個函數

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions 
{ 
    for (SKPaymentTransaction *transaction in transactions) 
    { 
     switch (transaction.transactionState) 
     { 
      case SKPaymentTransactionStatePurchased: 
       [self completeTransaction:transaction]; 
       break; 
      case SKPaymentTransactionStateFailed: 
       [self failedTransaction:transaction]; 
       break; 
      **case SKPaymentTransactionStateRestored: 
       [self restoreTransaction:transaction];** 
      default: 
       break; 
     } 
    } 
} 

但現在,假設我沒有,但Anyitem,只需點擊恢復按鈕,它會要求我輸入我的蘋果ID,輸入蘋果ID後,什麼也沒有發生,它不會調用上述功能,我想知道爲什麼會發生這種情況。

此外,我想顯示一條消息給用戶,沒有要恢復的項目,所以我該怎麼做。

我搜索了這一點,他們是會被調用,如果沒有交易retore

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

} 

我所做的是,在這裏我已經檢查,如果沒有項目,以恢復一個委託功能,我將顯示爲無法恢復的項目,無論我是否正確使用此方法。

問候 蘭吉特

回答

0

直接從Store Kit Header File

// Asynchronous. Will add completed transactions for the current user back to the queue to be re-completed. User will be asked to authenticate. Observers will receive 0 or more -paymentQueue:updatedTransactions:, followed by either -paymentQueueRestoreCompletedTransactionsFinished: on success or -paymentQueue:restoreCompletedTransactionsFailedWithError: on failure. In the case of partial success, some transactions may still be delivered.

- (void)restoreCompletedTransactions __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0); 
+0

尚不清楚你想要說什麼 – Ranjit 2013-02-21 07:21:55