我正在做一个应用程序。在那里我编写了IAP测试代码,如下所示
- (void)viewDidLoad
{
[super viewDidLoad];
SKProductsRequest *req = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects:@"com.companyname.testing.sampleitem",nil]];
req.delegate = self;
[req start];
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response{
NSArray *array=response.products;
NSLog(@"Products are %d",[array count]);
for(SKProduct *product in response.products){
SKPayment *myPayment = [SKPayment paymentWithProduct:product];
[[SKPaymentQueue defaultQueue] addPayment:myPayment];
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
}
}
但每次打印产品都是0.我正在使用开发配置文件进行代码签名。用于在itunesconnect中注册项目的相同的包ID。我的应用程序状态是“等待上传”在itunesconnect.And all银行详细信息也会添加到我的itunesconnect帐户中。所以请帮助我了解如何获取产品详细信息。
答案 0 :(得分:0)
InApp测试无法在模拟器中运行,请检查设备。
答案 1 :(得分:0)
如果在模拟器上进行测试,请确保使用iOS 6模拟器,否则StoreKit将无效。
如果您刚刚在iTunesConnect中创建了购买,那么解决方案就是您需要稍等一下才能使用它们。 有时可能需要24小时,有时需要几分钟。
您的代码中的com.companyname.testing.sampleitem也应该是IAP的产品ID。否则它将不会显示在产品请求中。