测试应用内购买问题。 IAP iOS

时间:2012-07-11 00:42:05

标签: ios in-app-purchase

IAP购买测试遇到了一个大问题。

我已经采取了以下步骤:

  1. 创建应用ID( com.domainname.appname
  2. 使用应用ID创建开发配置文件( com.domainname.appname
  3. 在iTunes Connect上创建应用程序(捆绑ID com.domainname.appname
  4. 管理IAP。使用产品ID com.testitem1,com.testitem2,com.testitem3 创建非消耗品(每种产品都有“准备提交”状态)
  5. 配置XCode项目设置

    • 捆绑包标识符: com.domainname.appname

    • 代码签名身份:我在第2步

    • 上制作的开发配置文件
    • 部署目标:4.0

    设备

    iPod Touch 4gen iOS 5.1.1

    编写源代码

    我的班级支持SKProductsRequestDelegate

    - viewDidLoad回调方法中,我写了这些行:

    if ([SKPaymentQueue canMakePayments])
    {
        NSLog(@"YES, I CAN MAKE PAYMENTS");
    }
    else
    {
        NSLog(@"NO, I CAN NOT MAKE PAYMENTS"); 
    }
    

    在这个舞台上,一切都还可以。我可以付款。

    接下来,我尝试为我的产品创建请求:

    SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects:@"com.testitem1", @"com.testitem2", @"com.testitem3", nil]];
    request.delegate = self;
    [request start];
    

    在这个阶段,一切都很好,在下一阶段我的请求对象调用下面的回调方法:

    - (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
    {
        NSArray *myProduct = response.products;
        NSLog(@"%@", myProduct);
    }
    

    但是没有任何产品作出回应,我无法理解为什么。

    我之前已经遇到过这个问题(我只是重置了我的设备并且一切正常)但是在这种情况下我无法弄清楚是什么问题。

2 个答案:

答案 0 :(得分:5)

我已阅读本指南:

https://developer.apple.com/library/ios/#technotes/tn2259/_index.html

就我而言,这与我没有银行信息相关。如果您想测试您的IAP,您必须拥有iOS付费应用程序合同(iOS)和税务信息。

答案 1 :(得分:-1)

这是因为您尚未在iTunes Connect中上传应用程序的二进制文件。转到iTunes Connect,上传应用程序的二进制文件。一旦上传,立即拒绝,以便将其标记为“开发人员被拒绝”。

如果这是您的应用的第一个版本,这是您接收SKProductResponse的必要步骤。它不会影响您的应用的评论。