2

因此,我使用 RevenueCat 的 SDK 在我的 iOS 应用程序上实现了自动续订订阅。

引用他们的网站, https://medium.com/revenuecat-blog/getting-through-app-review-39ac50438c62

沙盒与生产验证环境的不当使用 开发人员在提交应用程序时经常会使用 Apple 的 /verifyReceipt 端点。有时,开发人员会将其应用程序或后端的发布版本配置为仅指向生产 IAP 环境。在 App Review 中这样做会失败,因为审阅者使用沙盒环境进行测试。RevenueCat 使这成为一个非问题。

通过 Xcode“运行”和 TestFlight 版本在 Sandbox 上进行了一切测试,但显然当应用程序审阅者尝试时它失败了。

我们发现您的应用内购买产品在通过 Wi-Fi 运行 iOS 13.5.1 的 iPhone 上审查时出现一个或多个错误。

具体来说,当我们尝试购买您的订阅时,您的应用会显示错误消息。

下一步

在您的服务器上验证收据时,您的服务器需要能够处理从 Apple 测试环境获取其收据的生产签名应用程序。推荐的方法是让您的生产服务器始终首先根据生产 App Store 验证收据。如果验证失败并显示错误代码“生产中使用的沙盒收据”,则应改为针对测试环境进行验证。

任何人都有解决这个问题的经验吗?我刚刚又浏览了一次收入猫的文档,我的代码看起来井井有条。谢谢

4

1 回答 1

3

Understanding the rejection reason

There's usually three places in the purchase flow that cause the majority of App Store rejections:

  1. Issues fetching products
  2. Error during purchase
  3. Content not unlocked after purchase

Usually the reviewer will include a screenshot with the problem they encountered. This can be helpful for you to track down where to look for the problem in your app. Always try to reproduce the issue first in a local build or Testflight. RevenueCat will behave the same way in your environment and the reviewers, so if there's any problem with your integration it should be able to be reproduced.

Issues fetching products

Often times, purchases will work fine in Sandbox and Testflight, but App Store Review will not be able to fetch products. It's important to ensure that you are including your products with your app for review. If an app has not already been approved for the App Store, the in-app purchase products must be submitted with your first app review.

Don't forget to submit the products with the first version of your app containing in-app purchases

Don't forget to submit the products with the first version of your app containing in-app purchases

If you've already released a version of your app containing in-app purchases, you can create new products in App Store Connect without having to release an update to your app. You'll have to submit new products for review independently of a new app version, and they must be in the 'Approved' state before they'll be available for purchase.

If you're having trouble fetching products in Testflight or a local build, here's a good article with the most common reasons this occurs.

Error during purchase

If an error occurs during the purchase process with RevenueCat, it will be one of the errors outlined in the Error Handling guide here. Understanding what error triggered the rejection is the only way to make sure the issue gets resolved.

If the reviewer provides a screenshot of an error popup - use that to help track down the issue. RevenueCat itself will never display a user-facing popup or error message, so look through your app to find the code that triggered the alert and work backwards to determine the error message.

"Cannot connect to iTunes Store"

This is actually the generic error message Apple uses for all SKErrors and not an error message from RevenueCat. See their guide on Error Handling for more info.

STORE_PROBLEM - "There was a problem with the App Store"

This is the most common error from RevenueCat that can lead to unexplained App Store rejections. Unfortunately, this error occurs when Apple's sandbox environment is down and unable to verify purchases. The best course of action here is usually to re-submit your binary or try to explain the situation to the reviewer.

There are frequent, momentary outages in sandbox from time-to-time, but occasionally outages can last for days at a time.

Content not unlocked after purchase

Your app could also get rejected even if there are no issues during the purchase process, but the content does not get unlocked after purchasing. You should be able to reproduce this issue in a test environment.

Double check that you're checking the subscription status correctly after a purchase.

Other Tips

Reviewer provided "Next Steps"

Often times, the reviewer will provide you with "Next Steps" to resolve the rejection as they've done here. These are usually not the most helpful in pinpointing any issues with purchases.

If you're using RevenueCat, sandbox and production purchases are automatically handled so even if the reviewer provides you with this reason, it's simply incorrect.

App rejections suck :(

于 2020-06-09T21:48:47.507 回答