Javascript iOS react native in-app utils InApp utils.purchaseProduct在不同订阅之间切换时返回错误

Javascript iOS react native in-app utils InApp utils.purchaseProduct在不同订阅之间切换时返回错误,javascript,ios,react-native,in-app-purchase,subscriptions,Javascript,Ios,React Native,In App Purchase,Subscriptions,我在同一订阅级别下有四个不同的订阅: 见习生.月薪 见习生 专业月刊 专业年度 每当我独立订阅每一本时,购买效果都很好。问题是当我尝试管理订阅时。使用我上面描述的当前iTunes connect配置,我可以从trainee.monthly切换到pro.monthly并返回,也可以从trainee.annual切换到pro.annual并返回,但其他都不起作用。我尝试通过多种方式将订阅移动到iTunes connect中的不同级别,但从未达到想要的行为(想要的行为是能够在任何订阅之间切换) 我得到

我在同一订阅级别下有四个不同的订阅:

见习生.月薪

见习生

专业月刊

专业年度

每当我独立订阅每一本时,购买效果都很好。问题是当我尝试管理订阅时。使用我上面描述的当前iTunes connect配置,我可以从trainee.monthly切换到pro.monthly并返回,也可以从trainee.annual切换到pro.annual并返回,但其他都不起作用。我尝试通过多种方式将订阅移动到iTunes connect中的不同级别,但从未达到想要的行为(想要的行为是能够在任何订阅之间切换)

我得到的错误如下所示:

{“代码”:“EskerroDomain0”,“消息”:“无法连接到iTunes商店”,“NativeTaskIOS”:[“0路由测试0x0000000100176d5c RCTJSErrorFromCodeMessageAndNSError+152”,“1路由测试0x0000000100176c84 RCTJSErrorFromNSError+264”,“2路由测试0x00000001002b8f5c-[在应用程序付款队列:更新的交易:][604],“3个存储套件0x0000000197e206e4+104”、“4个CoreFoundation 0x000000018ac2a710 CFArrayApplyFunction+68”、“5个存储套件0x0000000197e20660+148”、“6个存储套件0x0000000197e21158+1220”、“7个存储套件0x0000000197e21c78+144”、“8个存储套件0x0000000197e20510+152”、“9个libdispatch.dylib 0x00000001008c9a50”发送呼叫和释放+24“10 libdispatch.dylib 0x00000001008c9a10\u dispatch\u client\u callout+16”、“11 libdispatch.dylib 0x00000001008ceb78\u dispatch\u main\u queue\u callback\u 4CF+1204”、“12 CoreFoundation 0x000000018acfd0c8+12”、“13 CoreFoundation 0x000000018acface4+1572”、“14 CoreFoundation 0x000000018ac2ada4 CFRunLoopRunSpecific+424”15图形服务0x000000018c695074 GSEventRunModal+100”、“16 UIKit 0x0000000190ee5c9c UIApplicationMain+208”、“17 RouteTest 0x000000010001b9ec main+124”、“18 libdyld.dylib 0x0000000189c3959c+4”]、“域”:“SKErrorDomain”、“用户信息”: {“NSLocalizedDescription”:“无法连接到iTunes存储”}

以下是我的代码片段:

const makePurchase  = (product) =>{
Logger.logInfo("called makepurchase: " + product)
const { InAppUtils } = NativeModules
var products = []
products.push(product)
if (Platform.OS === 'ios') {
    return new Promise(function (resolve, reject) {
    InAppUtils.loadProducts(products, (error, products) => {
        Logger.logInfo("products are:")
        Logger.logInfo(products)
        InAppUtils.purchaseProduct(product, (error, response) => {

            if (error) {

                Logger.logInfo('error in purchase')
                Logger.logInfo(error)
                Logger.logInfo(response)
                return reject(error)
            }
            if(response && response.productIdentifier) {
                Logger.logInfo('Purchase Successful', 'Your Transaction receipt is ' + response.transactionReceipt)
                InAppUtils.receiptData((error, receiptData)=> {
            if(error) {
                        Logger.logInfo(error)
                        return reject(error)
            } else {
            //send to validation server
                    Logger.logInfo("receipt data" + receiptData)
                    var ret =  {
                                        "receiptData":receiptData,
                                    ...products[0]
                                    }
                    Logger.logInfo("return is...")
                    Logger.logInfo(ret)
                    return resolve(ret)
            }
                });
            }
            Logger.logInfo(response)
        })
    })
  })
}}

有没有人看到我在做什么错事,或者知道如何处理我所描述的问题?

你解决了吗?谢谢,我认为这是苹果公司的问题