我正在做一个应用程序。在其中,我编写了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 中的申请状态为"等待上传"。所有银行详细信息也会添加到我的iTunesconnect帐户中。因此,请帮助我如何获取产品详细信息。
应用内测试在模拟器中不起作用,请与设备联系。
如果在模拟器上进行测试,请确保使用 iOS 6 模拟器,否则 StoreKit 将无法正常工作。
如果您刚刚在iTunesConnect中创建购买,也许解决方案是您只需要等待一段时间即可使用。有时可能需要 24 小时,有时可能需要几分钟。
此外,代码中的 com.companyname.testing.sampleitem 应与 IAP 的产品 ID 完全一致,否则它不会显示在产品请求中。