iOS应用内购买项目流程,大致分为三个部分:
第一部分:iTunes connect设置,包含创建新的发布版本号、创建购买项目(商品)、设置协议税务银行业务、添加沙盒技术测试账号;
第二部分:在项目Xcode中设置允许In-App Purchase,然后编写代码;代码部分可以使用原生态的,也可以使用第三方集成好的(IAPHelper),需要注意本地存储交易凭证,用于网络不佳或失败的情况下,重新提交。代码完成好之后,打包提交到APP Strore等待审核,提交的同时也把之前的内购项目勾选一并提交审核,待审核通过就可以测试了(可能审核通过之后需等待24小时,才能购买成功);
第三部分:测试是否成功购买,这里需要真机测试,并注销本机的Apple ID,然后在app中点击购买的时候,输入之前添加的沙盒测试账号。这部分可能会报各种错误,可能是前面一二部分没有设置完善,也有可能APP Store的问题,需要等待24小时自动就可以了,总之有问题就会有对应的解决方法,网上博客的解决方法也会帮助你的。
前面的设置部分按照开发文档设置,这里直接上代码:
//去苹果服务器请求商品
- (void)requestProductData:(NSString *)productId{
NSSet* dataSet = [[NSSet alloc] initWithArray:@[productId]];
[IAPShare sharedHelper].iap = [[IAPHelper alloc] initWithProductIdentifiers:dataSet];
#if DEBUG==1
[IAPShare sharedHelper].iap.production = NO;
#else
[IAPShare sharedHelper].iap.production = YES;
#endif
// 请求商品信息
[[IAPShare sharedHelper].iap requestProductsWithCompletion:^(SKProductsRequest* request,SKProductsResponse* response){
if(response.products.count > 0 ) {
SKProduct *product = response.products[0];
[[IAPShare sharedHelper].iap buyProduct:product onC