Over two months ago, one of my apps (My desktop web) was rejected during its first submission due to 2.1 - App Completeness. The reviewer said that the in-app purchase information was not visible, and that the purchase button showed “null(null)”. However, during both Xcode debugging and TestFlight testing, I was able to see all the in-app purchase information correctly.
After multiple rounds of communication with the reviewer, the app was finally approved — although I never figured out why. It might be because I submitted the in-app purchase for review first, and then submitted the app itself. In any case, it was eventually approved.
Now, I’m facing the exact same issue with my new app. The in-app purchase code is exactly the same (except for the Product IDs), but again, the reviewer cannot see the product information. The relevant line of code is very straightforward — I can successfully retrieve one product, but the reviewer sees zero:
self.products = try await Product.products(for: [productId])
I’ve already contacted DTS, and they said: “You should make sure that StoreKit 2 effectively returns the display price and name of your product object and that these values still exist when you are about to display them.” Yes, I’ve verified that — I can see the in-app purchase information. But the reviewer cannot.
I even scheduled a call and spoke with a reviewer based in San Jose, California. She confirmed that everything looks normal from the submission process side, and suggested I either check the app’s implementation again or continue working with DTS.
One more thing I noticed: throughout the entire review process, the in-app purchase product always remains in the “Waiting for Review” state, no matter how the app's status changes. The reviewer said that’s expected behavior.
At this point, I honestly don’t know what’s wrong anymore — I’m completely overwhelmed. Everything works perfectly in both Xcode and TestFlight, and I have no idea what else I can do to test or verify it.
Xcode and TestFlight screenshot:
Reviewer screenshot:
Appstore connect: