1

基本上我正在尝试使应用内购买工作,但没有运气。这是我请求购买产品的代码

- (void)requestProductData
{
    NSSet *productIdentifiers=[NSSetsetWithObject:productid];
     request5= [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject: productIdentifiers]];
    request5.delegate = self;
    [request5 start];
}

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    myProducts = response.products;
    for (NSString *invalidProductId in response.invalidProductIdentifiers)
    {
        NSLog(@"Invalid product id: %@" , invalidProductId);
    }
    SKProduct *selectedProduct = [myProducts objectAtIndex:0];
    SKPayment *payment = [SKPayment paymentWithProduct:selectedProduct];
    [[SKPaymentQueue defaultQueue] addPayment:payment];
}

奇怪的是 response.products 和 response.invalidProductId 都有 0 个对象。我已经尝试过检查 Provisioning Profile、appID、bundle ID 等。此外,自从我在 iTunes Connect 中添加应用内购买后,已经过去了将近 24 小时。谁能帮我?

4

1 回答 1

0

检查发出请求的代码。你有:

NSSet *productIdentifiers = [NSSet setWithObject:productid];
request5 = [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject: productIdentifiers]];

它应该是:

NSSet *productIdentifiers = [NSSet setWithObject:productid];
request5 = [[SKProductsRequest alloc] initWithProductIdentifiers: productIdentifiers];

您正在创建一个包含一个对象的集合 - 另一个具有产品 ID 的集合。

于 2013-01-19T19:31:46.180 回答