![]() |
1
13
好吧,这可能是冒烟的枪-- 根据storekit应用程序的官方数据流,您应该在尝试购买(SKPaymentQueue)之前检索有关可用购买(SKProductsRequest)的信息。 我添加了代码来实现这一点,即使没有使用本地化的数据。我打了个电话,确认了物品是否存在,然后就扔了一个NSLOG。 购买通过了,没有错误! 然后我删除了名为SKProductsRequest的代码,并重新运行它,得到了“Payment requests are restricted…”错误消息。 似乎商店工具包框架被修改了,要求您调用SKProductsRequest,以便在向SKPaymentQueue添加商品时正确地进行购买。 从计算机科学的角度讲,它们似乎在两个逻辑上相关但独立的模块之间引入了一种硬依赖关系。这是一个非常糟糕的做法。
后续:正如下面提到的,苹果的技术说明QA1691证实了我所认为的是正确的——在我们发现它的两周后:p |
![]() |
2
2
我甚至使用了以前的版本进行测试,以确保没有任何代码更改。此版本正在运行,并已提交到商店。 有些东西肯定是改变了,它似乎是从应用程序商店方面的事情! 我会注意到,商店的“官方”数据流要求应用程序检索可供购买的产品列表,但我在iTunes Connect中定义了购买之后硬编码了标识符。我检查了购买ID是否有变化,结果是没有。 为了让这更让人困惑,我从iTunes上下载了live应用程序,购买过程还算顺利。这两种情况的区别是 1其中一个是使用我的开发概要文件而不是部署概要文件构建的 2一个是在沙箱里跑而不是“真的” 为了确保它不是一个坏的测试帐户,我刚刚创建了一个新帐户并尝试用它进行测试。没什么区别。
|
![]() |
3
2
以下是我最近对一个新应用程序的IAPs测试的理论: 因此,在这种情况下,即使请求IAP商店提供有效的产品id也帮不上忙。
我希望这将节省一些人的时间-一直花了几个小时在这个问题上,并经历了几个应用程序拒绝,直到我发现它并开始工作。 |
![]() |
4
0
|