2010-04-01 63 views
1

我想在應用程序購買中測試我的應用程序。我創建了功能,測試用戶,在iPhone上從iTunes註銷並使用開發人員證書。以調試模式從XCode加載應用程序。在應用程序購買中測試的問題

當我點擊「購買」按鈕,我通過所有檢查網絡可用性,canMakePayments並調用

SKPayment *payment = [SKPayment paymentWithProductIdentifier:featureId]; 
[[SKPaymentQueue defaultQueue] addPayment:payment]; 

但所有我看到的是一個未決的視圖,幾分鐘後,在

- (void) failedTransaction: (SKPaymentTransaction *)transaction 
{ 
    if (transaction.error.code != SKErrorPaymentCancelled)  
    {  
     NSLog(@"failedTransaction"); 
    } 
    [[MKStoreManager sharedManager] paymentCanceled]; 
    [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 
} 
失敗

請問我應該去哪個方向找出問題以及我應該檢查什麼。

P.S.所有關於SO的相關問題都沒有檢查過。

回答

0

在這裏,你有一些想法:

  1. 負載的產品,允許用戶進行購買前。您需要做的第一件事是SKProductsRequest,並確保您提供的產品可以購買。

  2. 判別錯誤,檢查SKError.h以查看商店可以返回的不同種類的 錯誤。通過這種方式,您將對發生的事情有更清晰的瞭解

  3. 某些錯誤(如-1003)沒有記錄,它們在沙箱環境中似乎是 奇怪的情況。

  4. 對於這些錯誤,請確保您:

    • 使用正確的測試用戶。
    • 已正確配置iTunes連接中的產品。
    • 從商店註銷並清除安裝應用程序。只有在購買確認彈出框中要求您這樣做時才能登錄。
    • 如果失敗,請重置網絡設置,然後重新安裝應用程序並再次測試。
    • 如果失敗,請重置所有設置,然後重新安裝應用程序並再次測試。
    • 如果失敗,請重置您的設備,清除安裝應用程序並再次測試。

最後,來看看這些網頁:

http://troybrant.net/blog/2010/01/invalid-product-ids/

http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/