一、最近公司很多的項目用到了內(nèi)購,抽空整理下內(nèi)購的詳細內(nèi)容吧。
1、先從內(nèi)購的iTunesConnect里配置說起吧,我們先進入蘋果的iTunesConnect鏈接https://itunesconnect.apple.com,然后進入入下界面。

填寫好銀行卡信息和公司地址等信息以后,第一步算完成了。
這里一個填寫公司資料的網(wǎng)址,http://www.itdecent.cn/p/86ac7d3b593a
2、進入iTunesConnect選擇我的APP模塊,創(chuàng)建新的APP,綁定好你在蘋果開發(fā)者中心創(chuàng)建的apple IDS還有bundle id,那么就創(chuàng)建成功了一個新的APP應用。如下圖:

3、進入新創(chuàng)建的APP應用,點擊如圖所示功能按鈕:

4、進入功能以后我們就可以創(chuàng)建我們想要的內(nèi)購產(chǎn)品的ID了,一般都會存在如下幾個選擇項:

5、我們公司的項目由于都是直播類型的課程購買,所以用的是消耗型的項目,選擇好然后就進入創(chuàng)建界面里去創(chuàng)建產(chǎn)品了。


6、填寫好這幾項,一個新的內(nèi)購產(chǎn)品就創(chuàng)建成功了,我們需要記錄下每個產(chǎn)品的內(nèi)購ID,也就是唯一ID,為以后購買產(chǎn)品做準備。
7、我們需要在工程里配置好證書,測試證書是必須的因為我們內(nèi)購需要連接到蘋果的App Store的,需要正式的測試證書才能測試,同時把下圖工程中的這一配置打開:

二、講完上面基本的配置以后,我們進入我們最重要的部分,那就是我們的代碼部分。
1、要使用蘋果的內(nèi)購功能,我們需要引入蘋果的頭件“#import<StoreKit/StoreKit.h>”,引入進來以后,我們就需要引入"SKProductsRequestDelegate,SKPaymentTransactionObserver"這兩個代理,我們需要在內(nèi)購的那個頁面viewDidLoad方法里直接調(diào)用方法,如下圖:

這里是去發(fā)送請求了,獲取商品的信息:

這里是購買的代理方法的監(jiān)聽和回調(diào)方法:

這是最重要的一步了,這里我們是和我們自己的服務器交互了:

看請求的方法里面的代碼了:

2、進過我這一堆的代碼組合,是否已經(jīng)明白了內(nèi)購的方式了呢,只要把我列舉的這幾個方法,統(tǒng)統(tǒng)的導入進你的工程,那么就基本上可以了。
三、常見內(nèi)購錯誤,自己做內(nèi)購總結(jié)的幾個常見錯誤。
1、請求不到內(nèi)購的產(chǎn)品信息。
解決辦法:(1)、先看看bundle id,和測試證書之類的東西配置的都對不對,然后看看產(chǎn)品的唯一ID和iTunesConnect里的能不能對應上。如果都沒有問題,那么看下面的。
(2)、去看看iTunesConnect里的協(xié)議里面的公司的地址信息和銀行卡信息是否填寫正確,只要沒有報錯,報紅就可以。基本上上面這幾點弄好了也就能請求到商品了。
2、手機提示無法連接到itunesStore
解決辦法:把手機的Apple ID先注銷掉,然后購買的時候重新填寫Apple ID。