4.3 Duplicate App Please do not create multiple suite ids for the same App. If you have different versions of your app for specific locations, sports teams, universities, etc., consider submitting a single app with in-app purchases to provide different features. At the same time, please avoid continuing to develop in a category that already has a large number of similar apps; The App Store is already full of apps that simulate the sounds of farting and burping, as well as flashlight and Kama Sutra apps. Developers who upload a large number of similar apps will be removed from the Apple Developer Program.

If you’ve ever submitted an App to the App Store and had it rejected, you’ve probably heard of the dreaded Clause 4.3. Here’s how:

  • Majia package refers to a similar App with almost the same content, but slightly changed theme color or name and other unimportant information.
  • On the one hand, many large companies hope to mass produce similar APPS for A/B testing; On the other hand, many small products hope to use different keywords to promote the same product and get more traffic (on the same App, 10 vests will increase the income by 10 times). These actions have damaged the ecosystem of the App Store, leading Apple to crack down with very strict measures.
  • [4.3 What’s the trouble with the clause] The first point is that this clause would rather kill by mistake. Even if you don’t make any mistakes, you are likely to be wounded by mistake. The second point is that simple modification is not enough to get around this clause. Once you encounter it, no matter how you modify it later, there is almost no chance that you will pass the review again.
  • [4.3 terms are not completely uncertain] Now the vest bag has become a regular business of many companies, as long as the means are appropriate, it can be avoided to a certain extent.
  • Before submitting the App to manual review, it will go through a machine review, which is basically a decompilation process. If a large number of projects reuse the code of other App Store launched projects, will be rejected by the machine review; If the product form is almost the same as other existing apps, it will be rejected by manual review.

Determining the source of rejection

First, find out if you were rejected by a human or a machine.

You get an email when your app is In Review and another email when it is Rejected. If the time difference between these two emails is very small, such as less than half an hour, it is basically rejected by the machine audit, otherwise it is most likely to be rejected by manual audit. And if your project uses code from another project, you should know that, too,

If it is rejected by manual review, you can directly try to change the BundleID and submit again because the person reviewing your App may be different each time. If it is rejected repeatedly, you may have to consider changing the UI of your App, including but not limited to the navigation mode, theme color, page structure, etc. Or simply add some features, cut some features.

Engineering confusion

For machine audit rejected, the first step to do is code obfuscation. This is not specific to section 4.3, and the project itself often needs to be hardened to prevent decompilation by malicious parties.

For pure code level of confusion, directly recommend you see this blog post: blog.csdn.net/yiyaaixuexi… The different methods do the same job and are not too difficult, except to make decomcompiled function names, class names, and variable names appear as random strings. I have actually used the content in this blog and submitted it to the App Store for trial.

For engineering level confusion, the following work should be done:

  • Project inside the file directory, subfolder arrangement, as far as possible to change the big, completely upset the best
  • You are advised to change the file names of all image and audio resources in batches. To facilitate batch processing, you can add long prefixes, such as “codeexampletest_123.mp3”.
  • Class names and variable names are also recommended to be reconstructed in batches. Xcode has the refactor-rename Rename function, which can be processed quickly by adding prefixes directly
  • The BundleID must be changed and resubmitted as a new App, preferably one that is significantly different from the previous BundleID

App Store Connect cleanup

1. Clear binary files

2. Clear App information

Replace the previously filled keywords, developer website links, App name, App icon with meaningless random content, not related to your real content. As shown in the picture, I have many such vacant apps.

3. Change the account

If possible, it is recommended to purchase multiple App Store developer accounts, use an empty account to submit a sock puppet package, to avoid a bad record with Apple, and ensure that your main profitable account is not blocked.

Or you can buy a spare account with other developers who are also suffering from section 4.3, just to deal with vests.

Test audit in stages

When you’re not sure if your app will pass 4.3 approval, you don’t have to rush to publish everything at once.

  1. Content on the content on the line only the most core things, the first submission, can not do things can not, such as setting the page of what. In case your subsequent submissions are rejected, this version could become a version you won’t be able to update for quite some time, if ever, and you need to make sure it works.

  2. In the initial version of information, in addition to the key words of ASO, screenshots and App Store descriptions can only be put in the most basic content. Try to pass the first level first, and then update and change these contents later. Even if the code does not move, it is ok to update these contents directly through the release.

  3. The region at the beginning of the online, want to touch the audit, the online region can not choose all regions, you can only randomly select a region, as far as possible to ensure that the review. This region can be changed once your App is launched, so you might as well start it in a small country where you don’t speak the language and no one will use it anyway.

Once approved, it’s important not to “unpublish” your approved app, but to have it live in a small space first, considering that you may not be approved the next time you submit it. Once you’re sure that your next update is going to fail and you can’t change the code, make your app live in another locale by checking the locale. It’s better than nothing.

The last

Don’t be superstitious about apple and don’t doubt yourself. Listing your App is a business, and the App Store’s refusal to list you doesn’t mean anything. Apple is very capable, but the App Store review team is not sacred.

Don’t give in, the App Store put you on the shelf, you are reasonable; If the App Store does not allow you to be listed, you are not competent enough. If you win section 4.3, you are the winner. Do not think that the problem is you because of the rejection.


About the author

KyXu, with many years of experience in independent development, has long been committed to helping mobile developers cash in, own their own products and become independent developers. Our wechat official account is KyXuIndie

Add me to my wechat column: Balabala-ba

Follow the column to unlock more dry goods: xiaozhuanlan.com/kyxuDev