iOS支付 在购买时会重复的问题

在实施iOS手游支付时,遇到了购买重复的问题。通过在`IOSiAP.mm`中添加静态变量`hasAddObserver`来防止重复添加交易观察者,成功解决了此问题。此外,还遇到`SKProductsRequest`返回商品数量为0的错误,原因是iTunes Connect的税务信息未完善,以及info.plist中`Bundle identifier`与套装Id不一致。最后,指出了在模拟器上测试失败但在真机上成功的现象。
摘要由CSDN通过智能技术生成

公司的手游项目里需要接IOS的支付,在网上用了 http://blog.csdn.net/u010229677 该文章中的源码,但是在用沙盒测试的时候发现购买会重复的问题。在底下的评论中也有人提出了这个问题,不过他自己解决了,但是方案写的不是很清楚。作为菜鸟的我并不知道怎么弄,后来在一个排版很乱的网上找到了相对完整的方案。

具体就是这个样子的:

在IOSiAP.mm中定义一下

static bool hasAddObserver =NO;


然后在这个方法中修改一下,就是加了一个hasAddOberver的判断

IOSiAP::IOSiAP():

skProducts(NULL),

delegate(NULL)

{

    skTransactionObserver = [[iAPTransactionObserveralloc]init];

    ((iAPTransactionObserver *)skTransactionObserver).iosiap =this;

    if (!hasAddObserver) {

        [[SKPaymentQueue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值