我正在寫一個Mac應用程序的Mac App Store,用於應用程序購買。我加倍檢查,我認爲我已經正確實施了一切。因此,當我提出產品請求時,代理方法在應用程序購買付款對話框不顯示在Mac OS的獅子
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
被調用,並帶有正確的產品ID。然後我使用付款方式
[[SKPaymentQueue defaultQueue] addPayment:payment];
這個問題出現在這裏。在前10-15分鐘內,購買對話框根本不顯示,我也不會收到updatedTransactions
通知。一段時間後,如果我再試一次,一切正常,我會在1-2秒內提示我的憑據。這對我來說似乎很奇怪,因爲他們應該從一開始就工作。 因爲這個原因,我的應用被拒絕了好幾次,說應用購買不起作用。
是的,我已經添加了收據驗證碼,如果它不存在,我退出應用程序的代碼173,我被提示輸入我的憑據,然後應用程序重新打開,但在應用程序不工作後,即使後這個。是的,我已經用一個已經使用分佈配置文件創建的內置進行了測試。我使用的是XCode 4.2,而我的操作系統是Lion。
將支付添加到隊列後,我試着啓動一個定時器,定期檢查transactions
屬性SKPaymentQueue
。 transactionIdentifier
是正確的,它的transactionState
是SKPaymentTransactionStatePurchasing
。這告訴我StoreKit
和Apple服務器之間存在一些溝通問題。
其他人遇到過這個問題?任何幫助,將不勝感激,我現在掙扎了3天,並找不到解決方案,這讓我瘋狂。
更多代碼可能會有所幫助。你添加了Observer來檢查狀態嗎? [[SKPaymentQueue defaultQueue] addTransactionObserver:observer]; –
是的,我在應用程序啓動時添加了觀察者。我使用單身類來管理也是觀察者的購買。稍後會發布一些代碼。 –
發佈你的代碼,以便它可以被審查。我會重新審查一下,你是否遵循了Apple的步驟(http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/AddingaStoretoYourApplication/AddingaStoretoYourApplication.html) –