我的应用被拒绝了两次,因为IAP价格没有显示给应用评论员。由于它在我的iPhone上工作正常,我对此非常感兴趣。
我的四个订阅被检索并显示在tableview中:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return options?.count ?? 0
}
...
var options: [Subscription]?
extension SubscriptionService: SKProductsRequestDelegate {
func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {
options = response.products.map { Subscription(product: $0) }
}
func request(_ request: SKRequest, didFailWithError error: Error) {
if request is SKProductsRequest {
print("Subscription Options Failed Loading: \(error.localizedDescription)")
}
}
}
代理productsRequest
通过SKProductsRequestDelegate
自动加载选项。我不明白我错过了什么。除非审稿人在离线模式下测试应用程序并且无法访问互联网?出于安全原因可能是这种情况吗?
我不应该从appstore加载产品productsRequest()
,而是在客户端硬编码价格?
更新 我现在可以复制这个问题:
如果设备处于飞行模式,然后启动应用程序,则会自然调用此方法:
func request(_ request: SKRequest, didFailWithError error: Error) {
但即使退出飞机模式后,也无法实现此功能
productsRequest()
被重新提升。有什么方法可以手动触发,而不是应用程序回到前台时?