2011-03-11 83 views
1

我們一直在嘗試在沙盒環境中測試應用內購買,但未能從SKProductsRequest收到任何數據。回調應用內購買'SKProductsRequest'無法產生成功的響應

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response 

確實被調用,但響應返回一個空數組。我只測試這個ipad,但3.2和4+都似乎沒有得到響應,當我嘗試這個請求。

我已經通過所有intunes throughly讀連接文檔,以便綁在iTunes應用程序連接與它的應用程式內購買物品,並且還SKProductsRequest對象上的所有蘋果文檔和In App Purchase Programming Guide尋求幫助。我嘗試重置證書並從頭開始,然後在ios provisioning門戶中按照「構建分發」幫助程序。

我還將所有調試,發佈和發佈版本的應用程序構建到設備上。我已經觀看並遵循WWDC2010 session 310 'App Publishing with iTunes Connect',但是這種做法很舊,因爲在供應門戶網站中創建應用標識時,啓用inapp付款檢查按鈕不再可見。

我也確保我的代碼簽名是正確的,並且程序與請求的inapp購買簽署的正確app-id匹配。 (請參閱附件,bundleid與Xcode中的標識符相匹配

我確定當運行測試應用程序時,ipad已經退出任何iTunes帳戶,並且在iTunes Connect頁面上添加了測試用戶以進行測試。 iTunes Connect的銀行信息已全部完成

我也查了很多論壇,這個過程似乎是一個很大的灰色地帶,我已經用盡了所有這些想法,我似乎無法得到任何迴應產品編號。

...誰能幫助我?!!謝謝人!

回答

2

你犯了一個非常常見的錯誤,我使自己在應用內購買。你已經採取了所有正確的步驟,但你缺少一步。您需要提交應用內購買。您可以通過點擊iTunes Connect部分中的應用程序內購買來完成此操作,您可以轉到管理應用程序 - >您的應用程序 - >管理應用程序購買。在此詳細信息視圖中,單擊右上角的「提交應用內購買」按鈕。該按鈕可能會變灰。如果是這樣,您必須上傳適用於您應用的二進制文件。如果你願意,你可以馬上拒絕。完成後,您可以返回到詳細視圖並單擊提交按鈕。

+0

剛剛看到其他答案的評論。這以更簡單的方式回答了這個問題。使用NSSet似乎更簡單。我將在未來使用它 – 2011-11-10 00:11:00

3

我發現我的自我在類似的情況下。問題在於我使用了錯誤的「開發者身份」來簽署我的(開發)二進制文件。由於我經常爲其他公司工作,我總是使用我的「個人」開發人員證書籤署調試版本。由於這些都是測試版本,我不在乎appid是什麼,也不在乎它與哪個公司相關聯。但是,我意識到,蘋果允許隨機開發人員查詢與他們無關的appid的購買細節是不安全的。

爲項目制定臨時規定,並確保您使用與該公司關聯的發佈者證書籤署測試版本。進入iAP appstore的沙箱接口必須在運行時驗證。

+0

非常感謝取得聯繫,全部排序。我的問題是,我之前沒有提交過一個應用程序,在這種情況下,強調在iTunes中輸入銀行信息和公司信息。 – 2011-06-16 12:27:49