关于内购的配置文章已经很多,虽然配置的地方有些许变化但都大同小异,仔细按照步骤一步步就搞好。但是测试账号那里讲的清楚的比较少。此文特别讲下测试账号的使用。
一、配置账号方法:
注意:第四步中箭头所指邮箱可以随便写,AppStore地区必须是你测试的AppStore中的地址。
点击保存即可。
二、使用测试账号的方法(2019年4月更新):
第一步:登录沙盒测试账号(设置 --> iTunes Store 与 App Store -->最下面沙盒账户登录刚才配置的即可)。
第二步:执行内购中购买代码,会弹出选择AppStore账号的选择框,输入刚才的邮箱和密码即可。
核心代码如下:
-(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray<SKPaymentTransaction *> *)transactions`
{
for(SKPaymentTransaction *tran in transactions)
{
switch (tran.transactionState)
{
case SKPaymentTransactionStatePurchased:
NSLog(@"交易结束");
break;
case SKPaymentTransactionStatePurchasing:
NSLog(@"商品添加进列表");
break;
case SKPaymentTransactionStateRestored:
NSLog(@"已经购买过商品");
break;
case SKPaymentTransactionStateFailed:
NSLog(@"交易失败");
NSLog(@"error :%@",tran.error.localizedDescription);
break;
default:
break;
}
}
}
注意:
如果没有第一步则会直接进入SKPaymentTransactionStateFailed
,报错为无法连接到 iTunes Store
。
项目的Bundle identifier需要与您申请AppID时填写的bundleID一致,不然会无法请求到商品信息。
购买成功后会有提示,同时代码也会进入回调SKPaymentTransactionStatePurchased
,内购购买测试就完成了。接下来就是和自己服务器对接了。
祝:用的愉快~