首次应用内购买 - 产品ID无效

时间:2012-08-13 13:08:34

标签: ios in-app-purchase storekit

这是我第一次设置In App Purchase而且我被卡住了。当我尝试发出产品请求时,收到错误“无效的产品ID:TVRBIBLIA001”。我在Stack Overflow中看到几个问题,寻找可能的解决方案但没有成功,所以,我发布了自己的。这是我的In App Purchase的设置。

In App Purchase Set Up 1 In App Purchase Set Up 2

这是我的代码:

#pragma mark -
#pragma mark Remove Ads InApp Purchase
- (IBAction)requestRemoveAdsProductData
{
    NSSet *productIdentifiers = [NSSet setWithObject:@"TVRBIBLIA001"];
    productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
    productsRequest.delegate = self;
    [productsRequest start];

    // we will release the request object in the delegate callback
}

#pragma mark -
#pragma mark SKProductsRequestDelegate methods

- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
    NSArray *products = response.products;
    removeAdsProduct = [products count] == 1 ? [[products firstObject] retain] : nil;
    if (removeAdsProduct)
    {
        NSLog(@"Product title: %@" , removeAdsProduct.localizedTitle);
        NSLog(@"Product description: %@" , removeAdsProduct.localizedDescription);
        NSLog(@"Product price: %@" , removeAdsProduct.price);
        NSLog(@"Product id: %@" , removeAdsProduct.productIdentifier);
    }

    for (NSString *invalidProductId in response.invalidProductIdentifiers)
    {
        NSLog(@"Invalid product id: %@" , invalidProductId);
    }

    // finally release the reqest we alloc/init’ed in requestProUpgradeProductData
    [productsRequest release];

    [[NSNotificationCenter defaultCenter] postNotificationName:kInAppPurchaseManagerProductsFetchedNotification object:self userInfo:nil];
}

1 个答案:

答案 0 :(得分:1)

解决方案:从设备中删除了应用并重新安装了ID。 Via