2017-08-03 531 views
7

我已经做了一个iOS应用内自动更新订阅,现在我试图让用户在React-Native应用中购买它。我发现react-native-in-app-utils,但似乎无法加载我的产品。我已经在iTunes 3“产品”(自动再生订阅)连接,但试图与加载它们:空自动更新从SKProductsRequest的iOS应用内购买initWithProductIdentifiers

var products = [ 
    'com.xxxx.app.monthly', 
    'com.xxxx.app.6months', 
    'com.xxxx.app.year', 
]; 

InAppUtils.loadProducts(products, (error, products) => { 
    console.log('products:', products); 
}); 

只是记录“的产品:[]”。

挖得更深一些,我添加了一些额外的记录到Objective-C代码做查询,它看起来像:

NSLog(@"loading products %@", productIdentifiers); 
if([SKPaymentQueue canMakePayments]){ 
    SKProductsRequest *productsRequest = [[SKProductsRequest alloc] 
              initWithProductIdentifiers:[NSSet setWithArray:productIdentifiers]]; 
    productsRequest.delegate = self; 
    _callbacks[RCTKeyForInstance(productsRequest)] = callback; 
    [productsRequest start]; 
} else { 
    callback(@[@"not_available"]); 
} 

然后在回调:

NSLog(@"products response %@", response.products); 
products = [NSMutableArray arrayWithArray:response.products]; 
NSMutableArray *productsArrayForJS = [NSMutableArray array];  
for(SKProduct *item in response.products) { 
    NSDictionary *product = @{ 
    ... 

如预期的那样,这将记录我的产品ID的“加载产品”。但随后“产品响应()”...空响应。

这些产品在iTunes连接中列为“准备提交”。他们已被添加到应用程序内购买的应用程序信息。是什么赋予了?为什么产品不出现?

+0

您是否从iTunes提交付费产品合同? –

+0

是的。这应该已经完成​​了。 – nicholas

+0

您是否在每个订阅的iTunes连接中检查Cleared for Sale框? – Jad

回答

0

看起来这是一个管理问题,而不是技术问题。项目经理尚未完成付费应用协议。