代码之家  ›  专栏  ›  技术社区  ›  sashaeve

测试应用内购买的问题

  •  1
  • sashaeve  · 技术社区  · 15 年前

    当我点击“购买”按钮时,我通过了所有的互联网可用性检查,可以付款和打电话

    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、 所有相关的问题都被检查了,结果都不顺利。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Lio    13 年前

    这里你有一些想法:

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

    2. 商店可能返回的错误。这样你就对发生的事情有了更清楚的了解

    3. 有些错误,比如-1003,没有被记录下来,而且它们看起来是 沙盒环境中的奇怪案例。

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

      • 使用正确的测试用户。
      • 已在iTunes connect中正确配置产品。
      • 从应用商店注销并清理安装应用程序。只有在购买确认弹出窗口中要求您这样做时才登录。
      • 如果失败,请重置所有设置,清除安装应用程序并再次测试。

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

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