2012-08-16 60 views
0

我有一個車速表應用程序,其中2個功能通過將其添加到應用程序內購買而啓用。一切工作正常,我已遵循http://www.raywenderlich.com/2797/introduction-to-in-app-purchases在應用程序內購買期間觀察相同的警報視圖

兩個要啓用的功能是非消耗品。問題是,當我正在測試這個並添加測試帳戶和密碼時,我始終得到相同的警報視圖 - 「您已經購買了該軟件,但尚未下載。」點擊「立即下載」

[環境:沙盒]

爲什麼我總是收到相同的警報視圖?此功能僅用於啓用HUD功能並刪除廣告;所以沒有從服務器上下載。而且我無法確定交易是否完成,因爲它甚至沒有調用完成交易方法,只是提供相同的警報。在項目購置

回答

1

我通過運行本教程中,也觀察到這種警報視圖。我認爲這不是什麼問題,因爲您可能已經在應用程序商店中設置了測試帳戶。如果您已經購買了該產品,Apple Store會通知您,如果您已經運行了您的應用並多次測試了購買功能,您可能會這樣做。這實際上是由蘋果商店完成的部分,所以你沒有任何處理。

您應該在收到此通知後收到交易已完成的通知。在didFinishLaunchingWithOptions

[[SKPaymentQueue defaultQueue] addTransactionObserver:[InAppRageIAPHelper sharedHelper]]; 

方法應用程序委託的

+0

感謝@ tiguero,所以你的意思,我的軌道上,這不是問題,是的,我用一個:確保你已經加入此方法?測試帳戶從我開始應用程序購買這個測試的一天,所以我嘗試在同一個設備使用另一個測試帳戶,我以前使用這樣仍然給我同樣的alert.is它,因爲它已經在該設備中完成?我在應用程序購買中啓用了此功能?如果我想在用戶點擊購買按鈕以啓用HUD時啓用HUD,那麼在我的設置中? – 2012-08-16 09:17:25

+0

問你,因爲我得到了兩個我的標識符,因爲沒有購買時產品加載..我在說這個(NSString * productIdentifier在_productIdentifiers){0}如果(productPurchased){ [purchasedProducts addObject:productIdentifier]; NSLog(@「以前購買:%@」,productIdentifier); } NSLog(@「Not purchased:%@」,productIdentifier); } self.purchasedProducts = purchasedProducts; – 2012-08-16 09:18:32

+0

您可以指定您想要在應用內購買時啓用哪種內容嗎?在嘖嘖中它只是應用內的內容。請確保您已閱讀官方文檔以瞭解它:https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/APIOverview/OverviewoftheStoreKitAPI.html#//apple_ref/doc/ uid/TP40008267-CH100-SW1 – tiguero 2012-08-16 09:38:33

0

使用不同的產品ID:

-(void)buyCoinPack_1 
{ 
      SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:self.currentProductId_1]]; 

      request.delegate = self; 
      [request start]; 
} 


-(void)buyCoinPack_2 
{ 
      SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:self.currentProductId_2]]; 

      request.delegate = self; 
      [request start]; 
}