你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> iOS內購實現及測試Check List

iOS內購實現及測試Check List

編輯:關於IOS

免費+應用內購買的模式已經被證明了是最有效的盈利模式,所以實現內購功能可能是很多開發者必做的工作和必備的技能了。但是鑒於內購這塊坑不算少, 另外因為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的實現和步驟,可以參考下面的教程:

  • 蘋果的官方IAP指南和相應的Technical Note
  • Ray Wenderlich的iOS6 IAP教程
  • 一篇圖文並茂的中文教程
  • 直接使用大神們封好的Store有關的庫,比如mattt/CargoBay,robotmedia/RMStore或者MugunthKumar/MKStoreKit。推薦前兩個,因為MKStoreKit有一些惱人的小bug。
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved