App store application upload rejected Guideline 4.3 - Design solution (code + metadata)

Keywords: github iOS SDK Attribute

Recently, when a custom iOS was uploaded to App Store, Guideline 4.3 - Design was rejected. Many times, it was also the kneeling of Apple's auditing mechanism. Why can't you twist your arm, or find a good way to solve it?

Guideline 4.3 - Design


This app duplicates the content and functionality of other apps submitted by you or another developer to the App Store, which is considered a form of spam.

Apps that simply duplicate content or functionality create clutter, diminish the overall experience for the end user, and reduce the ability of developers to market their apps.

The next submission of this app may require a longer review time, and this app will not be eligible for an expedited review until this issue is resolved.

Next Steps

- Review the Design section of the App Store Review Guidelines.
- Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program. 
- Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.



Since your App Store Connect status is Rejected, a new binary will be required.



As we all know, due to the significant adjustment of App Store algorithm in 2017 and the stricter audit, a large number of developers encountered Guideline 4.3-Design problem later. This problem was also encountered at the end of 2017, but it was OK to upload the new account at that time, but after all, it is not a long-term plan, or we need to study how to avoid from the code level. Note: 4.3 is generally the case. Problems will arise during the machine auditing stage! uuuuuuuuuuu

Let's first understand Apple's audit mechanism:

1. Pre-audit
Scanning api, and plist file character missing, etc. There are two steps: the first step is to check the application of Apple Loador for adapting icon when uploading, and the second step is to check the function of Apple after uploading, such as configuring the Push function but missing or not opening the function, it will be prompted by email, etc.
2, machine audit
Scanning here pay SDK, and Ma Jia situation, machine scanning mainly depends on code block, can refer to Baidu Spider Grab website module principle; If some can not pass the machine audit situation can try to speed up bypassing the machine audit (not 100% success);
3. Manual audit
Here the main detection function or App experience test, such as using the test account to login App experience function, or other obvious bug s, ipv6 is also detected here;

Combining with the experience of the predecessors on the Internet, this paper summarizes the key points of evasion 4.3 as follows:

1.ipa package features:
It includes code similarity and resource similarity.
Code Similarity Solutions:

  • Obfuscation of existing codes (renaming, renaming functions, renaming files, renaming projects)
  • Add some useless code

Resource similarity solutions:

  • Resource renaming
  • Added some useless resources appropriately

2. Developer Account:

  • Majiabao try not to associate with the same developer account

3. Metadata configuration similarity:

  • For charging products, the application price can be modified to create different price levels from the original product.
  • Modify the application publishing area to create different selling areas or operating areas from the original products;
  • Modify the product classification, create products different from the original product with emphasis on attribute classification;

Solving Code Similarity

To solve the problem of code similarity, find KLGenerate SpamCode on the Internet https://github.com/klaus01/KLGenerateSpamCode

This tool is used to deal with Apple's Guideline 4.3 Design Spam to avoid the probability of Apple's machine audit detection.
major function
1. Modify the name of the project
2. Modifying class name prefix
3. Scan the code in the project, generate the same number of Category files, files and the same number of spam code.
4. Modify the png resource file name in the xxx.xcassets folder.
5. Delete all comments and empty lines in the code.

The usage is not as clear as what has been said on github.

As mentioned above, reconfiguring the key points mentioned above and using KLGenerate SpamCode to process the code can greatly avoid the 4.3 situation. Good luck!

Posted by jonki on Sun, 16 Dec 2018 11:03:04 -0800