Apple iTunes Connect Rejected Binary

Hi,

I have made 2 mobile games using Cocos Creator v1.4 and built them for Android and iOS. 1 of the apps has the following SDKs from SDKBOX: Flurry Analytics, Social Share, AdMob, SDKBOX Play (leaderboards) and my other game has Flurry Analytics and Social Share from SDKBOX.

Both games produced a working APK file and are now available in the Google Play Store for Android devices. No problem.

For iOS, I build the project using Cocos Creator then I open the Xcode project and create an Archive to upload to the Play Store (after making all the right changes, version #, target etc.). Apple has rejected the binary builds for both our games for the same reason/error. This is the message we received from Apple:

From Apple
3. 1.1 Business: Payments - In-App Purchase
Guideline 3.1.1 - In-App Purchase

We noticed that your app contains a payment mechanism other than in-app purchase for digital content or to unlock features or functionality within your app, which is not appropriate for the App Store. In-app purchase is the only valid in-app payment mechanism for digital content.

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.

Next Steps

To resolve this issue, please remove all external or third-party payment mechanisms and implement in-app purchase to facilitate digital good transactions, including unlocking features or functionality within your app.

If you believe your use of an alternative payment mechanism is a permissible use case, please respond directly to this message in Resolution Center with detailed information.

We don’t have any in-app purchase or digital content that is hidden in either of our games. No features or functionality that the player needs to unlock.

Does anyone have any idea why Apple reviewers might think this? Is there something in Cocos Creator or SDKBOX that is triggering the in-app purchase feature? When I create an App ID in my Apple Developer account, the In-App Purchase is enabled by default and I can’t disable it but I don’t use it in my apps.

I have contacted Apple about this asking them for more information but they take so long to reply I thought I would post here and see if anyone else ran into this problem before.

Any help or tips would be greatly appreciated.

I have exactly the same issue as you. I just got rejection from Apple for my games using IAP plugin. This is a shame. Lost 2 weeks for this issue and properly another 1-2 weeks :frowning:

Please someone have a look. This issue is critical

Maybe you should check this thread:

Some people complained about “anysdk” from cocos creator.

Please try remove anysdk framework from your game, SDKBOX uses apple’s StoreKit dose not contain any other payment mechanism.

@nite

Hi,

my two apps doesn’t contain SDKBOX and StoreKit (and any other payment mechanism), but both still rejected. what should I do? help, please… :frowning:

It’s not about SDKBOX, it’s about AnySDK which included by default, just remove AnySDK as @nite instruction, then submit your app again, I did have same problem and the solution works

1 Like

So when we build our app we have the option to include AnySDK. Even if we leave that checkbox unchecked, AnySDK is still being included in our build?

I am having the same problem from Apple iTunes, I will follow @nite instructions and update on the outcome.

Thanks!

Yes, even you don’t check to include AnySDK, it’s still there, have no choice but remove it manually. When submit new version, send a reply to Apple review team, explain the misunderstanding, it’ll help (in my case)

1 Like

wow, it really helped, without any explanation to Apple review team. thanks!

so to solve this problem: just delete all references AnySDK from the project and resubmit the build to Apple.

1 Like

Where do you delete the references from exactly? In Xcode? Under which tab? In certain files?

Thanks! Much appreciated.

just follow @nite reference link https://translate.google.co.in/translate?hl=en&sl=zh-CN&tl=en&u=http%3A%2F%2Fwww.cocos.com%2Fdocs%2Fcreator%2Fsdk%2Fanysdk%2Fanysdk-framework.html carefully.

2 Likes

Thanks. Everything was straight forward except the last Xcode step.

Remove the precompiled macro PACKAGE_AS

Where do I find that in Xcode?
Thanks @nite

UPDATE:

I followed the steps for Eclipse project. I did a new build and compiled successfully using Creator but now when I run my mobile game on my Android device (release apk) it’s just a black screen. It doesn’t close/crash, it stays open with just a black screen. @Jetberry @trungnt85 Has this happened to you guys before?

Android project does not need these fixes.
For ios you must delete the PluginProtocol library in the Build phases tab. Also need to comment anysdk code in main.js.
PACKAGE_AS located in Preprocessor Macros in the Build Settings tab in Xcode.

2 Likes

I know but when I remove the anySDK files from the Classes folder and remove the anysdk scripts from main.js, it also affects the Android project though.

And today our turn got warning and reject from Apple, reminding about “removal of your apps from the App Store and termination of your Apple Developer Program membership and all associated memberships”. So shame. I didn’t know this topic before. Who will take responsibility of this? We should warn all developers about this extremely case!

Does anyone know if this issue is fixed in Cocos Creator v1.6?

Not really. By default anysdk is not used in your game any more but it’s code still there.

Yeah, it’s painful, now I have to manually remove it again

Let us have @nantas read this thread.

Since v1.6, AnySDK will not get into the build if not checked in build settings. You can see there’s still source file named after ‘anysdk’ in native project but they will not be compiled. For details please check this pull request:

1 Like