iOS开发支付篇——内购(IAP)详解
苹果客户端购买虚拟商品是需要走内购
先看gif图
具体步骤:
- 协议、税务和银行业务 信息填写
- 内购商品的添加
- 添加沙盒测试账号
- 内购代码的具体实现
- 内购的注意事项
流程
1.注册app,填写协议、税务和银行业务
注册app,需要唯一设置Bundle identifier,然后详细填写协议、税务和银行业务,此个步骤这里就不在写了(【官方地址】(https://developer.apple.com/library/archive/technotes/tn2259/_index.html#//apple_ref/doc/uid/DTS40009578))。
2.内购商品的添加
我的App—>准提交的项目—>功能—>App内购买项目:添加内购商品信息
3.添加沙盒测试账号
iTunes Connect —>用户和职能 —>沙盒测试技术员:添加沙盒测试账号
4.代码实现过程
写了一个购买的单例
//
// VistaInAppPurchaseManager.h
// vista.homework
//
// Created by htkj on 2018/9/17.
// Copyright © 2018年 vista. All rights reserved.
#import <Foundation/Foundation.h>
#import <StoreKit/StoreKit.h>
@protocol VistaInAppPurchaseManagerDelegate <NSObject>
//接收到商品信息
-(void)receiveProductInfo:(SKProduct *)product;
//购买成功反馈
-(void)successfulPurchaseOfId:(NSString *)productID andReceipt:(NSData *)transactionReceipt;
//购买失败反馈
-(void)failedPurchaseWithError:(NSString *)errorDescripiton;
@end
@interface VistaInAppPurchaseManager : NSObject
@property (nonatomic, weak)id<VistaInAppPurchaseManagerDelegate> delegate;
//单例
+(instancetype)sharedInstance;
/*
* 请求商品信息,productID 商品ID
*/
-(void)requestProductWithID:(NSString *)productID;
/*
* 购买商品
*/
-(BOOL)purchaseProudct:(SKProduct *)skProduct;
@end
//
// VistaInAppPurchaseManager.m
// vista.homework
//
// Created by htkj on 2018/9/17.
// Copyright © 2018年 vista. All rights reserved.
//
#import "VistaInAppPurchaseManager.h"
@interface