Guideline 2.1 - in-app purchase issue

Hello,


I have one issue regarding in-app purchase.

The problem is that SKProductsRequest returns 0 product in the App Review environment.


The in-app products identifiers are hardcoded in the app,

so there's no possibility that the app fails to query product identifiers or it passes incorrect product identifiers as a parameter when it creates SKProductsRequest(productIdentifiers: Set<String>) instance.


The app works fine here. It means SKProductsRequest returns the products information successfully here (maybe Apple’s sandbox IAP environment).

But SKProductsRequest is returning 0 product in the App Review environment. (maybe Apple’s real App store environment)


I really can't understand why the SKProductsRequest is failing to validate the In-App product identifiers in the App Review environment.


Please help me to find the reason or any clue to the issue.


Thank you



================== Source Code =================


class ShopViewController: UIViewController, SKProductsRequestDelegate

override func viewDidLoad() {

// getProductIDs() returns the Set<String> of hard-coded product identifiers,

// so there's no possibility that the app does not know product identifiers or it passes the incorrect product identifiers.

let productIDs = getProductIDs()

let productRequest = SKProductsRequest(productIdentifiers: productIDs)

productRequest.delegate = self

productRequest.start()

}



func productsRequest(_ request: SKProductsRequest, didReceive response: SKProductsResponse) {

if response.products.count > 0 {

[The app shows available products to user.]


// In out test environment,

// response.products.count is always bigger than 0 and there’s no problem selling in-app products.

}

else {

// ▶︎▶︎▶︎ The App-Review Issue occurs here ◀︎◀︎◀︎


// In the App-Review environment

// response.products.count is 0.


// I really can't understand why the SKProductsRequest is failing to validate the In-App product identifiers in the App Review environment.


[The app shows the alert message describing there’s no product to sale.]

}

}


public func request(_ request: SKRequest, didFailWithError error: Error) {

[The app shows the message of error.localizedDescription to user.]

}


}

Replies

Did you add a screenshot and attach your IAPs to the binary before submitting them? In App STore Connect do they show 'in review' or 'waiting for review' or do they show 'ready to submit'? Are your bank contracts completed?

Thank you for giving me check points regarding the issue.

I checked them already and also made a phone call to Apple support team this morning to see if there is any wrong configuration in the App Store.

I heard that there's nothing configured wrong.

After I upgrade Xcode to 10.1, validate screen says

SUMMARY

Team: ....

Certifacte: Unknown

Profile: None

...


I have no problem validate and upload the archive to App store.

It can be just a display issue of Xcode 10.1 but I also guess it can be the reason why SKProductsRequest returns 0 product.

Is there anyone who know anything about this?


https://forums.developer.apple.com/thread/110438

I have the same issue after update to Xcode 10.1 - Certification: Unknown, Profile: None.

And IAPs working fine in sandbox but failing in App Review as no product found.

Hi Hank,


Did you by any change figured out what was wrong? I'm seing an identical issu with our intial submission of autorenewable subscriptions.

We can fetch products in development, as well as when beta-testing (since this is hitting the apple sandbox environment), but, when Apple reviews the app we don't get any products.

H JakobShape

Did you resolve this Issue?

Has anyone discovered a fix for this issue ? I'm also having the same probem... The IAP is 'In Review', but App Store reviewers can't see it in the app when they go to review. Works fine in Sandbox on this side.

On App Store Connect, the IAP shows "waiting for review" or "in review" and your banking contracts are signed - correct?

Yes, the IAP shows 'In Review'.


My contracts are signed / status of active.. I've got a number of other apps that are in the store, and IAPs are working etc.


Though there were two warnings, 1. that the bank account needed a 'type' on it (individual / corporate) , this must of been added at some point... and 2. Was missing some 'contacts', again think these must have been added after the fact at some point.


Have fixed up the two warnings , so hopefully that had something to do with it.

There is a reference an App Store problem in this post:

https://forums.developer.apple.com/thread/122918

Thanks, good to know it wasn't just me. I resubmitted and finally was approved 🙂