iOS应用 支付iOS收藏

iOS12 内购(IAP)失败问题

2018-07-03  本文已影响765人  zld

问题

自从iOS12开始,部分(好吧就是我们的)App一直内购失败,商品获取能成功,就是addPayment后总提示cannot connect to itunes store

{
    NSErrorFailingURLKey = https://sandbox.itunes.apple.com/bag.xml?ix=6&os=11&locale=zh_CN;
    NSErrorFailingURLStringKey = "https://sandbox.itunes.apple.com/bag.xml?ix=6&os=11&locale=zh_CN";
    NSLocalizedDescription = "无法连接到 iTunes Store";
    NSUnderlyingError = Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4};
    _kCFStreamErrorCodeKey = -2102;
    _kCFStreamErrorDomainKey = 4;
}

直接放上答案:

    SKMutablePayment *payment = [SKMutablePayment paymentWithProduct:product];
    payment.quantity = 1;
    payment.requestData = requestData;
    // ...

这里的requestData是不能赋值的,官方文档说明如下:

Discussion

The default value is nil. If requestData is not nil, your payment will be rejected by the Apple App Store.

在iOS12之前,虽然是不允许的,但是苹果却没做什么限制,RELEASE环境也没问题。iOS12突然这样了,真是让人措手不及。

总结两点:

上一篇 下一篇

猜你喜欢

热点阅读