1. 程式人生 > >IOS IAP測試時出現 “Can not connect iTunes Store”或者"Invalid Product IDs"錯誤提示

IOS IAP測試時出現 “Can not connect iTunes Store”或者"Invalid Product IDs"錯誤提示

本文轉載自 http://mobile.51cto.com/hot-447304.htm

如果您在實現和測試iOS應用內購的時候遇到問題,可以逐一對照下面所列出的條目,並逐一進行檢查。相信可以排除大部分的錯誤。如果您遇到的問題不在這個列表範圍內,歡迎在評論中指出,我會進行更新。

  • 您是否在iOS Dev Center中打開了對應應用AppID的In-App Purchases功能?登陸 iOS Dev Center的Certificates, Identifiers & Profiles下,在Identifiers中找到正在開發的App,In-App Purchase一項應當顯示Enabled(如果使用Xcode5,可以直接在Xcode的Capabilities頁面中開啟In-App Purchases)。
  • 您是否在iTunes Connect中註冊了您的IAP專案,並將其設為Cleared for Sale?
  • 您的plist中的Bundle identifier的內容是否和您的AppID一致?
  • 您是否正確填寫了Version(CFBundleVersion)和Build(CFBuildNumber)兩個數字?兩者缺一不可。
  • 您用程式碼向Apple申請售賣物品列表時是否使用了完整的在iTC註冊的Product ID?(使用在IAP管理中內購專案的Product ID一欄中的字串)
  • 您是否在開啟IAP以後重新生成過包含IAP許可的provisioning profile?
  • 你是否重新匯入了新的包含IAP的provisioning profile?建議在Organizer中先刪掉原來裝置上的老的provisioning profile。
  • 您是否在用包含IAP的provisioning profile在部署測試程式?在Xcode5中,建議使用General中的Team選項來自動管理。
  • 您是否是在模擬器中測試IAP?雖然理論上說模擬器在某些情況下可以測試IAP,但是條件很多也不讓人安心,因此您確實需要一臺真機來做IAP測試。
  • 您是在企業版釋出中測試IAP麼?因為企業版沒有iTC進行內購專案管理,也無法釋出AppStore應用,所以您在企業版的build中不能使用IAP。
  • 您是否將裝置上原來的app刪除了,並重新進行了安裝?記得在安裝前做一下Clean和Clean Build Folder。
  • 您是否在執行應用前將裝置上實際的Apple ID登出了?建議在設定->iTunes Store和App Stroe中將使用中的Apple ID登出,以未登入狀態進入應用進行測試。
  • 你是否使用的是Test User?如果你還沒有建立Test User,你需要到iTC中建立。
  • 您使用的測試賬號是否是美國區賬號?雖然不是一定需要,但是鑑於其他地區的測試賬號經常抽風,加上美國區賬號一直很穩定,因此強烈建議使用美國區 賬號。正常情況下IAP不需要進行信用卡繫結和其他資訊填寫,如果你遇到了這種情況,可以試試刪除這個測試賬號再新建一個其他地區的。
  • 您是否有新建賬戶進行測試?可能的話,可以使用新建測試賬戶試試看,因為某些特定情況下測試賬戶會被Apple鎖定。
  • 您的應用是否是被拒狀態(Rejected)或自己拒絕(Developer Rejected)了?被拒絕狀態的應用的話對應還未通過的內購專案也會一起被拒,因此您需要重新將IAP專案設為Cleared for Sale。
  • 您的應用是否處於等待開發者釋出(Pending Developer Release)狀態?等待發布狀態的IAP是無法測試的。
  • 您的內購專案是否是最近才新建的,或者進行了更改?內購專案需要一段時間才能反應到所有伺服器上,這個過程一般是一兩小時,也可能再長一些達到若干小時。
  • 您在iTC中Contracts, Tax, and Banking Information專案中是否有還沒有設定或者過期了的專案?不完整的財務資訊無法進行內購測試。
  • 您是在越獄裝置上進行內購測試麼?越獄裝置不能用於正常內購,您需要重灌或者尋找一臺沒有越獄的裝置。
  • 您是否能正常連線到Apple的伺服器,你可以訪問Apple開發者論壇關於IAP的板塊,如果蘋果伺服器正down掉,那裡應該有熱烈的討論。