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

Mat*_*der 5 in-app-purchase ios

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

我有接下来的步骤:

  1. 创建应用程序ID(com.domainname.appname)
  2. 使用应用程序ID创建开发配置文件(com.domainname.appname)
  3. 在iTunes Connect上创建应用程序(Bundle ID com.domainname.appname)
  4. 管理IAP.使用产品ID com.testitem1,com.testitem2,com.testitem3创建非消耗品(每个产品都有"准备提交"状态)

配置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"); 
}
Run Code Online (Sandbox Code Playgroud)

在这个阶段一切都很好.我可以付款.

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

SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects:@"com.testitem1", @"com.testitem2", @"com.testitem3", nil]];
request.delegate = self;
[request start];
Run Code Online (Sandbox Code Playgroud)

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

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

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

我之前已经遇到过这个问题(我只是重置了我的设备,一切运行良好),但在这种情况下,我无法弄清楚出了什么问题.

Mat*_*der 5

我已阅读本指南:

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

在我的情况下,这与我没有银行信息有关.如果您想测试您的IAP,您必须拥有iOS付费应用程序合同(iOS)和税务信息.