新版iOS内购(IAP)完整流程

本文详细介绍了新版iOS内购(IAP)的完整流程,包括创建应用和IAP项目、设置沙盒测试账户、提交审核、编写及验证内购代码,以及交易处理。在代码实现部分,讲解了如何引入StoreKit框架、监听购买状态和验证购买凭证,确保安全发放产品。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新版iOS内购(IAP)完整流程

苹果内购是用来做什么的?能不能吃?

iOS内购(以下简称IAP)是你可以实现一个应用内购买各种物品的功能,最常见的就是游戏中购买的道具,比如钻石。 新版的iOS内购从申请、审核以及代码的书写都充满了恶意,下面来介绍一下IAP的基本流程和我们遇到的问题以及一些解决办法。

1.创建应用和IAP项目

首先进入苹果的iTunesConnection(https://itunesconnect.apple.com)(当然你需要一个开发者账号),登陆之后点击我的APP然后点击左上角的加号新建一个APP项目,然后填入一些信息,如下:

tip:其中最重要的是套装ID 他是AppID-BundleID的格式 这里需要提前为该App申请一个AppID以及Xcode工程对应的BundleID,只要是申请成功了就会在选择列表中显示出来,工程中的BundleID以及后面用到的AppID要与这里一致
并且,要实现内购功能,必须保证这个ID的In-App Purchase是开启状态


接下来在iTunesConnection中点击刚才创建好的APP,然后点击功能,添加一个App内购项目

这里我们需要的是消耗类项目(就是用了就没了的东东,比如金币,非消耗类的比如汽车的赛道,消耗类的项目应用较多)

* tip:这个产品ID在后面会用到,这是你这个内购项目的唯一标识符,其他的信息点击?会有说明,需要注意的是后面的审核备注中要求写测试账户的用户名和密码,下面会着重说这个沙盒测试账户*

2.沙盒测试账户

点击iTunesConnection中的用户和职能,点进去之后点击沙箱技术测试员(我习惯叫沙盒)


我这边已经创建好了我的测试账户,如果没有点加号创建一个,然后要去邮箱验证一下,按照提示验证通过后就可以了
那么这个测试账号用来做什么的呢?等下测试的时候要登录这个账户来“购买”,这样你就不会真的花钱了,是不是很爽,咳咳。

3.提交审核

个人认为这才是最坑的地方,反正要用好久才审核过,比较麻烦的是这个


协议,税务和银行业务的这个东东,这里要申请一个iOS Paid Application(付费应用合同),需要填一些信息以及银行信息之类的,具体也不是我填的,我这里找到一个博客,相对比较详细 http://blog.csdn.net/wang_we/article/details/44303295
填完这个东东之后,才可以构建新的版本,提交一个含有内购版本的APP(貌似还需要提交二进制文件之类的,反正我不是很懂),等待不知道多久后,如果没问题我们的内购项目会显示一个“需要开发人员操作”的状态,这就很high了,证明我们这个productID可以用来测试啦,啦啦啦。

4.开始写代码

接下来终于能写代码了,有点high,建一个工程,BundleID和之前申请的一致,接下来介绍一下核心的代码:

1.首先引入苹果自带的StoreKit框架,遵循两个协议SKPaymentTransactionObserver, SKProductsRequestDelegate 然后点击购买按钮事件方法中,添加如下方法 其中_currentProId 是我们之前申请的内购项目的产品ID,然后向苹果服务器发送request
- (IBAction)buyAction:(id)sender {
    //单例支付队列 添加观察者
    [[SKPaymentQueue defaultQueue] addTransactionObserver:self];
    //创建的内购的productID
    if ([SKPaymentQueue canMakePayments]) { // 判断用户是否允许内购
        [self requestProductData:_currentProId];
    } else {
        NSLog(@"-------用户禁止应用内付费购买------"); // 可以跳到设置界面提醒用户开启
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值