【问题标题】:Hide in-app purchase while being reviewed by Apple在 Apple 审核时隐藏应用内购买
【发布时间】:2012-07-03 04:54:07
【问题描述】:

我有一个带有应用内购买的 iPhone 应用,我希望能够独立于它发布应用(应用内购买)。换句话说,应用内购买有时可能处于“等待审核”状态,不应由应用显示。

如果我理解正确,在这种情况下,SKProductsResponse 对象(由 Apple App Store 返回以响应有关产品列表信息的请求)将在invalidProductIdentifiers 数组下列出特定产品。因此,在显示应用内购买之前,我可以检查数组以检查产品是否存在。这仍然应该允许 Apple 使用我的应用的发布版本测试应用内购买,因为我假设他们的测试是在所有应用内购买都有效的沙盒中完成的。

这是正确的吗?我应该采用不同的方法吗?

【问题讨论】:

  • 苹果不是你最好的信息来源吗?

标签: ios app-store in-app-purchase


【解决方案1】:

您描述了向用户显示 IAP 内容的正确工作流程。放置一个模态对话框或 UIActivityIndi​​cator,告诉客户正在下载 IAP 内容。使用返回的 productIdentifiers 填充您的商店 gui。

我不鼓励您在特定视图中为特定的应用内购买进行硬编码,然后尝试填充该视图。如果您对此很聪明并提前检查有效内容,则可以这样做,但在客户已经期望看到某些内容之后进行检查可能会以 Apple 审查和您的客户认为您的应用程序损坏而告终。

最不美观的实现是一个 tableView 显示返回的 productIdentifiers 及其各自的价格,允许客户从熟悉的列表中选择。

【讨论】:

  • 谢谢!是的,我看到该应用程序在从 App Store 获取数据时确实使用了活动指示器,但同时有一些硬编码字符串:(无论如何,显然没有办法测试这种情况?我的意思是我可以在沙盒之外运行应用程序?如果我不能,我将需要修改代码以引发这种情况,并且一旦发布就会起作用的跳跃......
  • 我不明白你在沙箱外测试是什么意思。如果你问 IAP 是否可以在 Apple 有机会审查之前向全世界发布,答案是否定的。
  • 因为,当我测试应用程序时,它总是与沙盒而不是 Apple Store 对话,IAP 将是“有效的”,因此我无法真正验证我用来过滤的代码除非我用代码诱导这种情况(这就是我最终做的),否则无效的 IAP 确实有效。我在想,如果有一种方法可以构建应用程序,以便它与 Apple Store 对话而不是与沙箱对话,我可以在运行测试之前在不修改代码的情况下对其进行测试。无论如何,谢谢你的回答..真的有帮助!
  • 好的,现在很有意义!您应该使用编译器标志来查看您使用的是调试版本还是发布版本stackoverflow.com/questions/479531/… 只有在 DEBUG 中时,您才会在 Sandbox 中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-21
  • 2017-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
相关资源
最近更新 更多