公司最近讓做一個iOS内購的demo,貼出大緻的過程
首先準備一個99$的蘋果開發者賬号,299$不能使用應用内購
首先登入蘋果開發者中心,建立app ID,開啟應用内購的功能
https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action
進入iTunes connect:
https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa
登入後,進入
,确認你的資訊是否填寫完整,填寫後的圖
當然,我是讓公司人填寫的,至于步驟我就不知道了,反正就是一些電話和銀行卡之類的
next
建立一個app
填寫
name:應用的名稱
version:開發的時候版本要和這裡對應,我寫的0.0.1
sku:一般寫bundle id,com.公司英文.應用名稱英文
bundleid:選擇在開發者中心建立的app id,app id和bundle id是一樣的嘛
弱弱的說一句,建立了筆者沒有找到删除app的連結,如果隻做測試,可以試着用公司已有項目,不保證不出差錯,謹慎
點選進去,填寫該填寫的資訊吧,必須填的都填一下,點選submit for review,紅色的就該填,偷懶,以後可以改的
next:
,
筆者的截圖,對應網上盜了一張别人的圖
消耗性項目,添加
添加後,開始寫代碼,很多内容簡寫,并不詳細,下面是注意事項給copy了
如果不成功,請嚴格檢查下面的内容:
- 您是否在iOS Dev Center中打開了對應應用AppID的
功能?登陸iOS Dev Center的Certificates, Identifiers & Profiles下,在Identifiers中找到正在開發的App,In-App Purchase一項應當顯示Enabled(如果使用Xcode5,可以直接在Xcode的Capabilities頁面中打開In-App Purchases)。In-App Purchases
- 您是否在iTunes Connect中注冊了您的IAP項目,并将其設為Cleared for Sale?
- 您的plist中的
的内容是否和您的AppID一緻?Bundle identifier
- 您是否正确填寫了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掉,那裡應該有熱烈的讨論。
貓神的連結:http://onevcat.com/2013/11/ios-iap-checklist/