App Rejected for Code

Our app was rejected with reason:

"Your app unlocks or enables additional functionality with mechanisms such as promo codes, data transfer codes, license keys, augmented reality markers, or QR codes, which is not appropriate for the App Store.


Specifically, your app uses a code."


We do have a code in the app that users can use to personalize their experience. The goal of the code is not to unlock any in-app purchases but instead to let users who come through certain channels customize their experience in the app.


Is this something we should appeal with Apple, or does the Apple policy apply to any apps that have codes at all, even if they have nothing to do with in-app purchases?

The rejection isn't about whether you're unlocking IAP, it's about not being allowed to casually use a 'code' to enable custom features.


>does the Apple policy apply to any apps that have codes at all, even if they have nothing to do with in-app purchases?


I think it is exactly your failure to use IAP that you're being rejected in this example, so yes, any.


The ASRGs says that if you do want to unlock something, you must use IAP. Your 'unlock' goal needs to match Apple's policy.


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 not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, etc. 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.


Without details about your channel, tho, it is hard to speculate if you can connect the dots and bring your goal inline with Apple's policy.

> let users who come through certain channels customize their experience in the app.


Apple is concerned that those 'certain channels' involve a cash payment and are being used to get around IAP. But apps are allowed to unlock functionality using, for example, geolocation sensors. You might appeal explaining the nature of the certain channels.

App Rejected for Code
 
 
Q