在应用购买中测试的问题

时间:2010-04-01 15:24:54

标签: iphone in-app-purchase

我正在尝试使用应用内购买来测试我的应用。我创建了功能,测试用户,从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的所有相关问题都没有运气。

1 个答案:

答案 0 :(得分:0)

您有一些想法:

  1. 在允许用户进行购买之前加载产品。您需要做的第一件事是SKProductsRequest,并确保您可以购买您提供的产品。

  2. 判别错误,检查SKError.h以查看不同类型的错误 商店可以返回的错误。通过这种方式,您可以更清楚地了解正在发生的事情

  3. 有些错误,如-1003,没有记录,似乎也是如此 沙盒环境中的奇怪案例。

  4. 对于这些错误,请确保:

    • 使用正确的测试用户。
    • 已在iTunes中正确配置产品。
    • 从商店退出并清理安装应用。只有在购买确认弹出窗口中要求您这样做时才能登录。
    • 如果此操作失败,请重置网络设置,清除安装应用程序并再次测试。
    • 如果此操作失败,请重置所有设置,清除安装应用程序并再次测试。
    • 如果此操作失败,请重置您的设备,清理安装该应用并再次测试。
  5. 最后,看一下这些页面:

    http://troybrant.net/blog/2010/01/invalid-product-ids/

    http://troybrant.net/blog/2010/01/in-app-purchases-a-full-walkthrough/

相关问题