可以在IOS 8(XCode 6)模拟器中测试应用内购买吗?

时间:2014-10-07 23:10:22

标签: in-app-purchase ios8 ios-simulator xcode6

我一直在寻找有关In App Purchases是否可以在使用XCode 6的模拟器上进行实际测试的相互矛盾的信息。有些答案说'',其他人似乎表明测试版中存在错误Xcode 6和其他人平了'没有'。

我有一个应用程序,其中IAP在设备上运行良好,但在模拟器中,尝试刷新收据失败,消息非常无用:Error Domain=SKErrorDomain Code=0 "The operation couldn’t be completed. (SKErrorDomain error 0.)"

我的应用程序被应用程序商店拒绝,因为测试人员无法测试(即使它与设备上的沙箱帐户完美配合),我开始怀疑他们只是在模拟器上进行测试而无法继续。<由于我已经阅读了很多关于它不能在模拟器上工作并且你必须在设备上进行测试,所以我并不担心它不能在模拟器上工作但是可能会在背后咬我。

有谁可以说他们实际上已经让IAP在IOS 8 / Xcode 6模拟器上工作了?

2 个答案:

答案 0 :(得分:12)

当在Xcode 6模拟器中使用调试构建的iOS 8目标时,大多数StoreKit沙箱现在看起来神秘。

但您无法购买自动续订订阅。您将获得最终确认对话框,但在此之后,事务总是返回一个事务状态为SKPaymentTransactionStateFailed。相同的代码适用于设备。我在Radar上报告过这个问题,但Apple回答说模拟器不支持StoreKit,这很奇怪,因为它看起来非常接近工作。

答案 1 :(得分:4)

实际上,我已经在xcode 6 / iOS 8模拟器中测试了应用内购买,它只是完美的工作(沙盒购买和恢复)。 然而,其他模拟器(iOS 7.0.3和7.1)不适用于IAP。

所以,答案是

您的应用是否包含IAP收据的验证方法?可能看起来太简单但是你确定验证控制https://sandbox.itunes.apple.com/verifyReceipt