2013-07-25 152 views
0

我迷惑恢復iap,該如何恢復它我管理所有的代碼如何恢復它工作正常。 我面臨的問題是在哪裏調用恢復以前購買 1)鑑於只有一次打電話做負載時運行的應用程序第一次......在應用程序購買在ios

[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

2)當用戶再次點擊之前調用它購買功能 如果它無法恢復,然後致電購買功能。

即時通訊混淆,如何解決它... 我面對的另一個問題,當它試圖恢復從以前購買不同的蘋果ID(實際上不買功能),然後在模擬器彈出窗口打開connot連接到ITUNE ...

回答

0

要恢復您必須提供恢復按鈕,以便每當用戶單擊按鈕應恢復用戶所做的所有購買。在IBAction方法編寫這些代碼恢復

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

記住的一件事是,在應用程序內購買測試不應該在模擬器設備上完成。

0

你有一些選項調用了這一點:

  1. 要調用它的應用程序第一次運行: - 保持一個NSUserDefaults的值來計算應用程序的運行時間就像在你didFinishLaunchingWithOptions方法:

    int i = [[NSUserDefaults standardUserDefaults] integerForKey:@"usageCount"]; 
    i = i+1; 
    
    [[NSUserDefaults standardUserDefaults] setInteger:i forKey:@"usageCount"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 
    

從應用程序的任何地方,你可以查看和調用

if([[NSUserDefaults standardUserDefaults] integerForKey:@"usageCount"]==0) 
{ 
    //Call you action 
} 

對於第一次運行,您可以調用恢復購買的價值。

  1. 您可以在應用程序的其他/更多/設置屏幕上保留一個選項/按鈕,您可以在應用程序購買中保留用戶反饋,評分,恢復購買。