0

我已经设置了一个 iTunes Connect 测试用户并且能够执行应用内购买,部分使用本指南:http ://www.raywenderlich.com/21081/

根据代码,交易完成。但是我想确定一下,所以我想也许我的测试帐户的电子邮件地址收到了确认交易的消息。没有这样的消息,可能是因为它是沙盒模式购买。

如果我的代码有错误并给我错误的信号,是否有另一种方法可以确认测试购买实际上是由 Apple 的测试服务器处理的?我查看了我的 iTunes Connect 页面,但似乎没有包含该信息的视图。

4

2 回答 2

0

当您收到SKPaymentTransactionStatePurchased状态时,表示交易成功完成。

在沙盒模式下,Apple 不会向任何人发送任何电子邮件,但是当您在 Live(生产)环境中执行此操作时,Apple 会发送一封包含已购买产品详细信息的电子邮件。

于 2013-10-28T09:23:54.300 回答
0

您在这里的主要信息来源来自 SKPaymentTransactionObserver 协议:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {

当您收到与您的交易时,transaction.transactionState == SKPaymentTransactionStatePurchased您就会知道 Apple 和您的客户之间的一切都做得很好。

您的代码不会直接调用此方法,除非您在私有 API 中进行了一些认真的(并且未经 Apple 批准)修补,否则您可以相信您在此处收到的消息来自 Apple,并且是合法的。通过 appStore 推动了数十亿美元,你可以打赌他们也已经从他们的角度解决了这段代码中的错误。

对于沙盒测试帐户,您将不会收到任何电子邮件确认。您所能做的就是适当地处理委托方法并继续前进。

于 2013-10-27T03:31:33.433 回答