我正在尝试使用应用内购买来测试我的应用。我创建了功能,测试用户,从iPhone上的iTunes注销并使用了开发人员证书。在调试模式下从XCode加载应用程序。
当我点击“购买”按钮时,我会通过所有互联网可用性检查,canMakePayments并致电
SKPayment *payment = [SKPayment paymentWithProductIdentifier:featureId];
[[SKPaymentQueue defaultQueue] addPayment:payment];
但是我所看到的只是一个待定的视图,几分钟后它就失败了
- (void) failedTransaction: (SKPaymentTransaction *)transaction
{
if (transaction.error.code != SKErrorPaymentCancelled)
{
NSLog(@"failedTransaction");
}
[[MKStoreManager sharedManager] paymentCanceled];
[[SKPaymentQueue defaultQueue] finishTransaction: transaction];
}
请告诉我应该去哪个方向找出问题以及我还应该检查什么。
P.S。关于SO的所有相关问题都没有运气。
答案 0 :(得分:0)
您有一些想法:
在允许用户进行购买之前加载产品。您需要做的第一件事是SKProductsRequest,并确保您可以购买您提供的产品。
判别错误,检查SKError.h以查看不同类型的错误 商店可以返回的错误。通过这种方式,您可以更清楚地了解正在发生的事情
有些错误,如-1003,没有记录,似乎也是如此 沙盒环境中的奇怪案例。
对于这些错误,请确保:
最后,看一下这些页面:
http://troybrant.net/blog/2010/01/invalid-product-ids/
http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/