我正在iOS sdk中进行inapp-purchase工作,我完成了所有步骤,例如在iTunes中创建应用程序和非耗材应用程序在iTunes上的manage-inapppurchase中连接。我的应用程序状态为等待上传,如下面的屏幕截图:
我的无法购买状态已准备好提交
代码明智的inapp-purchase功能已完成,但是,我测试了我的应用 SKProductsRequest 返回没有找到产品...!
我的主要应用包ID,例如 com.mycompany.myapp ,
我的应用内套装ID如 com.mycompany.paidapp 。
他们如何测试inapp购买步骤,任何人都可以指导我,请...!
我的示例代码在这里:
- (void)loadStore {
if ([SKPaymentQueue canMakePayments]) {
NSLog(@"Parental-controls are disabled");
request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:@"com.mycompany.paidapp"]];
//request.delegate = self;
[request setDelegate:self];
[request start];
}
else {
NSLog(@"Parental-controls are enabled");
}
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
SKProduct *validProduct = nil;
int count = [response.products count];
if (count > 0)
{
validProduct = [response.products objectAtIndex:0];
NSLog(@"Products found!");
[[NSNotificationCenter defaultCenter] postNotificationName:kProductsLoadedNotification object:@"Product Found..!"];
} else if (!validProduct)
{
NSLog(@"No products available");
[[NSNotificationCenter defaultCenter] postNotificationName:kProductsLoadedNotification object:@"Product Not Found..!"];
}
}
命令提示符始终在输出下面返回nslog:
No products available
答案 0 :(得分:2)
用于测试应用程序内,您可以创建AppID以及一些应用程序内容,在发布应用程序之前,您应该检查它。
因此我遵循的政策如下: 1.首先上传一个应用程序。 2.添加应用内容。 3.自己拒绝二进制文件。 一旦您对应用程序内测试没问题,然后将新二进制文件重新加载到iTunes。
希望这有帮助。
答案 1 :(得分:1)
应用程序包名称和iTunes应用程序包名称应相同。和产品必须存在于iTunes上。 请尝试以下代码:
[productIdentifierList addObject:@"CB001"];
[productIdentifierList addObject:@"CB002"];
[productIdentifierList addObject:@"CB003"];
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithArray:productIdentifierList]];
request.delegate = self;
[request start];
CB001,CB002是您iTunes上的产品ID。
对我来说很好。