iOS內購實現及測試Check List

image

免費+應用內購買的模式已經被證明了是最有效的盈利模式,所以實現內購功能可能是很多開發者必做的工作和必備的技能了。但是鑑於內購這塊坑不算少,另外因爲sandbox測試所需要特定的配置也很多,所以對於經驗不太多的開發者來說很容易就遇到各種問題,並且測試時出錯Apple給出的也只有“Can not connect iTunes Store”或者"Invalid Product IDs"之類毫無價值的錯誤提示,並沒有詳細的錯誤說明,因此調試起來往往沒有方向。有老前輩在這裏整理過一個相對完整的check list了,但是因爲年代已經稍微久遠,所以內容上和現在的情況已經有一些出入。趁着在最近兩個項目裏做內購這塊遇到的新問題,順便在此基礎上總結整理了一份比較新的中文Check list,希望能幫到後來人。

如果您在實現和測試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掉,那裏應該有熱烈的討論。

如果您正在尋找一份手把手教你實現IAP的教程的話,這篇文章不是您的菜。關於IAP的實現和步驟,可以參考下面的教程:

轉自:http://onevcat.com/2013/11/ios-iap-checklist/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章