productsRequest seems to return empty set for one app while non-empty for another

dear all:

I inherited a program that can be compiled to two iOS apps, one for traditional Chinese and one for simplified Chinese.
The apps have inAppPurchase and worked fine in the last version.
Then this year, I revised the program without changing the inAppPurchase process.
But after the submissions, apple rejected the traditional Chinese app saying that it would be stuck in the inAppPurchase page.
But the simplified Chinese app was approved.
I then traced the program to the following code.
It seems that my apps always get the empty response set for productsRequest.
However, I must say that I did not do sandbox testing since I don’t know how.
I am not sure why it worked fine in last year’s version but failed in this year’s.
Is there change to some default assumption on bundle id, application id, .. etc.
I checked all my program and could not find where I can set up the app id for the productsRequest statement.
My program is just standard as follows.
Any help will be appreciated.

// determine whether payments can be made
if (![SKPaymentQueue canMakePayments]) {
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"warning" message:@"ineffective" delegate:nil cancelButtonTitle:@"OK?" otherButtonTitles:nil];
    [alert show];
}
else {
    [buttonPrice setTitle:@"waiting for price" forState:UIControlStateNormal];
    [buttonPriceAll setTitle:@"waiting for price" forState:UIControlStateNormal];

    // Request product data
    productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObjects:bookProductIds[0], bookProductIds[purchaseVolume-1], nil]];
    productsRequest.delegate = self;
    [productsRequest start];

    [self operationStarted];
}


Source: ios

Leave a Reply