ios - -productRequest :didReceiveResponse returns empty products array in real store, 在沙盒中工作

标签 ios objective-c in-app-purchase app-store

我最近有一个应用的更新获得批准。此版本添加了应用内购买。该应用在沙盒模式下完美运行Apple 确实批准了 IAP 和应用,但应用内购买在应用中失败。

我认为崩溃的发生是因为 response.products 来自:

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
}

返回一个空数组并且:

SKProduct *product = [[products filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"productIdentifier == %@", _model.packageId]] firstObject];

返回零。我无法获得 SKProduct 的价格。我认为实际的应用程序崩溃与这些行有关,因为产品和付款可能为零。

SKPayment *payment = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addPayment:payment];

我阅读了其他博文,说 IAP 最多可能需要 24 小时才能可用。这是真的?当我的应用程序在沙盒模式下运行并且 Apple 批准时,我是否需要担心与我的应用程序中的 IAP 有关的错误?

最佳答案

原来这确实是苹果的问题。我收到 Apple 的回复,称最多可能需要 36 小时才能使用 In App Purchases。

我想这使得处理情况变得非常重要

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
}

被调用,但是当 response.products 为空时。当您尝试获取实际产品时,请确保您不会得到零结果。

我希望 Apple 在 IAP 真正准备好销售之前不要批准和发布应用程序更新。

关于ios - -productRequest :didReceiveResponse returns empty products array in real store, 在沙盒中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23949810/

相关文章:

iphone - 验证自动续订订阅的收据

ios - 如何在 ios 中的 Ionic 1/Ionic 2 应用程序中验证应用程序购买收据?

ios - 使 UITableViewCell 可编辑

ios - 如何在iOS中运行相互依赖的长时间运行任务

objective-c - UISegmentedController 内的可编辑文本

ios - 停止播放系统声音

windows-8 - 如何在windows store app中实现消耗品?

ios - 将 GCD 与 View 动画混合

ios - 在 viewController 中对来自自定义单元格的单元格输入进行排序

iphone - 当核心数据处理在后台时需要完整的数据保护