we have defined a string for showing the inapp price in case the price can not be loaded from the store. In this case the predefined hardcoded string is shown. For example:
Someone opens the shop to purchase products, but internet is not available and the correct price can not be loaded from the product online… in this case we show “0.99$” as a hardcoded string.
If the store can be reached the correct string (price) is loaded and then shows: “$0.99” or the price based on the country the product is purchased in.
I’m starting to suspect my ‘collect coins to unlock levels’ feature to be the source of the rejection as,
according to Apple guidelines:
3.1.1 In-App Purchase:
If you want to unlock features or functionality within your app, (by way of example: subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version), you must use in-app purchase. Apps may use in-app purchase currencies to enable customers to “tip” digital content providers in the app. Apps and their metadata may not include buttons, external links, or other calls to action that direct customers to purchasing mechanisms other than in-app purchase.
Maybe the last iOS reviewer read that quite strictly (compare to previous ones validation my app).
@d.mach, do you have a similar feature that could explain the rejection too ?
It’s not “another payment method” but maybe Apple would disagree here…
PS: I sent another message to the reviewer, still waiting…
Just to be clear, there is ZERO reason to have multiple build.settings files 99.9% of the time. The build.settings file has blocks that are OS specific and if you’re building for iOS, the Android stuff is ignored. For plugins, even if you don’t use “supportedPlatforms”, we can’t link Android libraries to an iOS build anyway. Only in a couple of odd cases is “supportedPlatforms” even needed.
In other words, there is no way Apple is seeing any “Google” code in our builds. Just keep one, well tabbed, well-organized build.settings and you should be good to go.
@GoG I could see where a reviewer might get tripped up on in-game currency, in particular, if you don’t let them buy coins. Some of Apple’s reviewers are new and they usually feel they have to be the most strict. But they should be able to explain that to you.
Guys look here . Other developers also have this problem. Apple scans the binary for Non Apple Payment stuff. Obviously Stripe and more. But it looks like their bot doesn’t work
If it is an issue with Apple bot, this is really bad as there is not much we can do…
Also, I finally received an answer from the review team (same as @d.mach):
3. 1.1 Business: Payments - In-App Purchase
Hello,
Thank you for your reply. Our team has confirmed this app contains non Apple payment methods.
To continue review, it would be appropriate to remove all non Apple payment methods, then resubmit a new binary for review.
Note: Continuing to hide functionality within your app or other dishonest acts may result in the removal of your apps from the App Store and termination of your Apple Developer Program membership and all associated memberships.
We also got rejected for this exact same reason last week. We asked for clarification from the reviewer and got the same reply as others in this thread: just stating that we are using a non-Apple payment method. This is puzzling since we do not have any third party non-Apple payment methods implemented. We do have some third party ad networks as well as rewarded ads implemented but these have never been a problem before in the last 3 years that our app has been live…
We are currently trying to decide what to do next. Please keep us updated if you manage to get any clarification for what could be causing this issue and if you find a way to get your app approved.
Our application has also been rejected, and the reason is 3.1.1. One of my applications was completely without third-party payment, but was also 3.1.1. Now I’ve considered whether the engine is a problem. Hopefully the official will come out and discuss it together.
I am sure that there are no third-party libraries in my game, and also deleted all the pay fields… In my code, I basically couldn’t find the keyword pay. Even the packaged computer has been rejected… I really don’t know what to do with…