转自:http://www.jianshu.com/p/c252b2ccb078
作者:优雅地小男子 链接:http://www.jianshu.com/p/c252b2ccb078 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。一、最近公司很多的项目用到了内购,抽空整理下内购的详细内容吧。
1、先从内购的iTunesConnect里配置说起吧,我们先进入苹果的iTunesConnect链接https://itunesconnect.apple.com,然后进入入下界面。
填写好银行卡信息和公司地址等信息以后,第一步算完成了。
2、进入iTunesConnect选择我的APP模块,创建新的APP,绑定好你在苹果开发者中心创建的apple IDS还有bundle id,那么就创建成功了一个新的APP应用。如下图:
3、进入新创建的APP应用,点击如图所示功能按钮:
4、进入功能以后我们就可以创建我们想要的内购产品的ID了,一般都会存在如下几个选择项:
5、我们公司的项目由于都是直播类型的课程购买,所以用的是消耗型的项目,选择好然后就进入创建界面里去创建产品了。
6、填写好这几项,一个新的内购产品就创建成功了,我们需要记录下每个产品的内购ID,也就是唯一ID,为以后购买产品做准备。
7、我们需要在工程里配置好证书,测试证书是必须的因为我们内购需要连接到苹果的App Store的,需要正式的测试证书才能测试,同时把下图工程中的这一配置打开:
二、讲完上面基本的配置以后,我们进入我们最重要的部分,那就是我们的代码部分。
1、要使用苹果的内购功能,我们需要引入苹果的头件“#import<StoreKit/StoreKit.h>”,引入进来以后,我们就需要引入"SKProductsRequestDelegate,SKPaymentTransactionObserver"这两个代理,我们需要在内购的那个页面viewDidLoad方法里直接调用方法,如下图:
然后接下来就是几个最重要的代理方法了,如果正常的内购能够走通,那么这几个代理方法就会很流畅的运行过去,并且返回你所购买的商品的信息。让我们一步步来分析:
2、进过我这一堆的代码组合,是否已经明白了内购的方式了呢,只要把我列举的这几个方法,统统的导入进你的工程,那么就基本上可以了。
三、常见内购错误,自己做内购总结的几个常见错误。
1、请求不到内购的产品信息。
解决办法:(1)、先看看bundle id,和测试证书之类的东西配置的都对不对,然后看看产品的唯一ID和iTunesConnect里的能不能对应上。如果都没有问题,那么看下面的。
(2)、去看看iTunesConnect里的协议里面的公司的地址信息和银行卡信息是否填写正确,只要没有报错,报红就可以。基本上上面这几点弄好了也就能请求到商品了。
2、手机提示无法连接到itunesStore
解决办法:把手机的Apple ID先注销掉,然后购买的时候重新填写Apple ID。