2009-08-29 118 views
1

我已經爲應用內購買的沙盒測試創建了測試帳戶。我下面這些步驟測試iPhone - 無法測試應用內購買

  1. 已註銷的任何現有的賬戶
  2. 打開應用程序,並開始獲得的可用
  3. 啓動過程中的產品列表下載產品

    SKPayment *付款= [ SKPayment paymentWithProductIdentifier:productId];

    [[SKPaymentQueue defaultQueue] addPayment:payment];

現在理想情況下,我應該要求用戶名/密碼在這一點上。但我沒有提示任何事情,交易失敗(顯然是因爲我沒有登錄)

如果我嘗試從設置 - >商店登錄,它會要求我的信用信息,我敢肯定沒有必要。

有人可以幫助我解決這個問題。

謝謝...

回答

0
  1. 檢查canMakePayments
  2. 在模擬器StoreKit只是不回答:你應該測試設備
  3. 您必須至少一名觀察員加入SKPaymentQueue
  4. 嘗試先詢問產品清單(除了您已知道產品ID之外);這聽起來很愚蠢,但SK框架並不完美。

另外,在向驗證服務器發送{「receipt-data」:...}時,請先用Base64對收據進行編碼,然後再將其插入到json對象中。這在任何地方的官方文檔中都沒有提及:只在幾個博客上提及。

+0

1.謝謝。將嘗試 2.在設備上進行測試,並且我不會提示uname/pwd 3.已經有觀察者了。即失敗的交易信息出現的地方 4.僅在開始時獲取產品列表。 問題是我沒有看到要求uname/pwd的提醒! – lostInTransit 2009-09-02 05:00:06

1

確保您在應用配置文件中啓用了應用內購買

+0

應用內購買已開啓。要確認,你的意思是我的應用程序ID不應該有*?它不是。而且我使用相同的應用程序ID爲我已添加到iTunes連接的產品。 – lostInTransit 2009-09-06 13:26:56

3

好的。這很愚蠢!但希望有人可以從我的錯誤中學習:) 我正在測試應用程序內購買與adhoc分佈配置文件。根據Apple工程師的說法,只要您這樣做,測試帳戶就會「停止」成爲測試帳戶。

應用內購買只能通過在調試模式下通過XCode啓動您的應用程序來測試!

更新

這是不正確的了。它現在可以和adhoc構建一起工作。

來源:使用adhoc構建最近的應用內購買測試。

+0

奇怪的是,我非常肯定我們通過臨時構建成功地測試了應用內購買。 – eelco 2009-10-13 05:49:08

+0

這是Apple技術支持人員告訴我的。 – lostInTransit 2009-10-13 07:21:01

+0

我已經從臨時發行的應用程序購買和未連接到xcode的調試版本進行測試。 – 2009-11-12 09:26:38

0

我遇到了同樣的問題。正如Oleg所建議的那樣,問題在於productID無效。在

設置一箇中斷點
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response and check response.products. 

您可能會發現productID沒有響應。產品。發生這種情況時,交易將作爲用戶購買取消進行,因此,絕不會提示登錄。