Say goodbye to rejection, how to improve iOS review pass rate (Part 1)

Say goodbye to rejection, how to improve iOS review pass rate (Part 1)

iOS review has always been a huge challenge for every mobile product when it is put on the Apple Store. Every review is like a long and tragic journey, and Apple often rejects it, which is extremely painful. So the question is, is there any way for us to accurately grasp Apple's review criteria and thus improve the review pass rate? The answer is yes. Tencent's pre-examination team explored the following two aspects. After nearly a year of implementation and data monitoring, the monthly iOS review pass rate has increased from 35% to 85%+:

1. Analyze past cases of rejected applications and organize them into executable review items in accordance with the terms of the Apple App Store Review Guidelines;

2. Extract methods that can be automated to improve the efficiency of auditing;

Next, we will take you into Apple's review and reveal the truth about iOS review. This article is an introduction to iOS auditing in three levels:

1. iOS Auditing Secrets: Auditing Equipment
2. Analysis of the reasons for iOS review rejection
3. Dimensions of iOS pre-review acceptance by Tencent pre-review team


1. iOS Auditing Secrets: Auditing Equipment

Since Apple's products were launched in 2007, they have been gradually updated, and there are already many product hardware versions and system versions on the external market. With so many system versions, how do we ensure the quality of the versions submitted for review? This has always puzzled the testing and product teams.

Apple often releases a new system suddenly. How do we deal with these risks?

【Classic Case】

At the end of 2014, due to the release of the new iOS version 8.1.1, some underlying system bugs were fixed, which led to unsuccessful payment of game products and failure of webview login.

【Key measures】

1. Follow the same acceptance version as Apple:

It is speculated that Apple's review team will also follow the principle when selecting and accepting equipment: accept the two most recently released system versions and two hardware versions. Ensure that the game can run smoothly on the two system versions and hardware configurations with the highest market share.

Therefore, Tencent's pre-examination team will purchase equipment and upgrade the system according to the release rhythm of the current version to ensure that the above system versions and hardware versions are covered. List of machines and models currently accepted:

2. Pay attention to the beta version:

Apple will release a beta version for a small amount of testing before a new version goes online. At this time, you need to follow up on the beta version to discover problems in advance and avoid being caught off guard by a sudden version release.


2. Analysis of the reasons for iOS review rejection

In order to explore the deeper level of rejection, we have conducted a detailed analysis and used the review data statistics from previous years to see what the reasons for rejection were!


3. Dimensions of Pre-audit Business Acceptance

According to the statistics of 2014 and in combination with the Apple App Store Review Guidelines, the pre-review team has divided the pre-review work into three modules: client resource inspection, application content inspection and review resource inspection:

Client resource check

Ensure that the Plist and other configurations in the client meet Apple's requirements and that there are no redundant key values ​​enabled;

Application content inspection

Review the content of the app to confirm that it does not contain pornographic, vulgar, violent, or gun-related content; screen the text of the announcement to ensure that there are no words prohibited by Apple; the app does not contain cdkey redemption, friend invitations, bragging, and other content that Apple has recently banned;

Review resource inspection

Make sure that the game screenshots and videos submitted meet Apple's requirements and contain no sensitive information; at the same time, video screenshots, etc. meet Apple's technical requirements, and the frame rate and resolution meet the standards.

This article will first briefly introduce the relevant content of Apple's review. Later, based on the dimensions of business acceptance, it will introduce to you one by one the key points of acceptance, the pitfalls that have been encountered, and those rejection cases that make people feel uneasy.

Let’s start with client inspection.

The main purpose of the client check is to ensure that the client complies with Apple's developer specifications and other updated requirements through client configuration checks, including storage systems, configuration files, network connections, icon checks, and private API checks. The pre-review review will cover each test point in these parts.

1. Storage system check

Apple has strict regulations on user data storage, and many rejection cases in the past have been related to storage. Therefore, we need to understand the relevant content of Apple's official data storage guidelines:

【Classic Case】

[Case 1] Version xx0 of Project A was rejected because after the App was launched, 22.17MB of data was stored in the user's iCloud (usually it should not exceed 1MB), which did not comply with iOS data storage guidelines.

Solution: Because the cumulative file of incremental update was too large, it passed the review after being repaired.

[Case 2] Version xx5 of Project B was rejected for not following iOS data storage guidelines. Resource files were stored in the application's documents directory. Apple does not allow non-user-generated files to be placed in this directory because this directory will be synchronized to iCloud.

Solution: Modify the local resource files that need to exist to library/cache.

2. Configuration file (Info.plist) check

Info.plist is a structured text file, commonly known as a "property list". iOS apps use Info.plist files to store meta information, which is used to determine the icon displayed by the bundle, the document types supported by the current app, service declarations, and so on. Regarding this part of the inspection, we usually focus on the following aspects:

【Classic Case】

Version x.x1 of Project C was rejected due to Info.plist setting issues, i.e. the application did not need file sharing functionality, but the UIFileSharingEnabled key in Info.plist was set to true.

Workaround: Set the Info.plist UIFileSharingEnabled key to false.

3. Network connection

Most App review servers are deployed in China, but Apple's iOS review team is in the United States. When they conduct reviews, they use the US network. Such intercontinental network connections will inevitably have network problems such as high latency, jitter, and packet loss.

【Classic Case】

"Project D" was rejected because it could not be accessed from a US IP.

4. Icon check

Apple has clear requirements for icons of applications such as iPhone, iPad, and iPod: the ip a package must contain icons in PNG format with sizes of 180×180, 120×120, 76×76, and 152×152 (see the table below for details), and the content of icons of different sizes must be consistent.

Regarding the App icon check, Tencent's pre-examination team uses an automated method to automatically decompress the ipa package and verify whether the icon exists and meets the requirements one by one. For ipa packages that do not meet the requirements, a warning prompt is given:

【Classic Case】

The xxx version of "Project E" was pre-reviewed, but no relevant icon image resources were provided. If this version is formally submitted for review and Apple's review result is pending, it will only be rejected.

5. Private API Check

Private API refers to the API placed in the Private Frameworks framework. It is not uncommon for apps to be rejected during review due to calling private APIs. Recently, Apple removed 256 apps including " Where Are We Going, Dad 2" and "Find Your Sister" because of calling private APIs. It is obvious that Apple explicitly does not allow apps to use such APIs.

Although the non-public API is placed in the Frameworks framework, there are no instructions for use, code introduction, etc. in Apple's official documentation. According to Apple, unpublished APIs are APIs that are not mature enough and may change. Once they are fully formed, they will become public APIs, but no commitment is made to them at present, which means they may become invalid after the system version is upgraded. Regarding non-public APIs, Article 2.5 of Apple's iOS Review Guidelines also clearly states that if an APP uses them, it will be rejected (2.5 Apps that use non-public APIs will be rejected).

Regarding the inspection of private APIs, automated tool scanning is used to implement it. The implementation principle is as follows:

① Get the unpublished library: Based on the iOS SDK, dump the entire library, subtract the private library and the public library from the entire library to get the unpublished library (non-public API);

② Get the list of header file methods and members: Use tools such as Otool to decompile and parse the ipa executable file to get the list of methods and members in the header file;

③ Match with undisclosed libraries and private libraries: Match the methods and members in the list with private libraries and undisclosed libraries respectively. If there is no successful match, the scan passes. If there is a successful match, the scan fails (a warning and API name are given).


IV. Conclusion

1. In fact, the inspection of the storage system is a set of specifications, following the same series of concepts, such as the reasonable use of user local storage space and Apple iCloud server storage to save space;

2. The Info.plist file check is actually a key value check of the XML file, and the value check relationship is parallel. By checking storage files and plist use cases, rejection due to this type of reason is basically avoided;

3. Private API inspection is achieved through automated tool scanning.

 

Mobile application product promotion service: APP promotion service Qinggua Media advertising

The author of this article @郑卓然 is compiled and published by (Qinggua Media). Please indicate the author information and source when reprinting!

<<:  Is it expensive to customize black blessings and black blessing videos for 80?

>>:  The most seductive love poems of 2018! Take it and use it!

Recommend

Beauty industry hot-selling course: Beauty industry account formula

Course Catalog ├──01、The beauty industry IP I inc...

Community marketing case: How to operate WeChat community well?

I believe many people still remember the battle a...

2021 Baidu Search Academy Year-end Examination Paper (with Answers)

Attention candidates: Welcome to participate in t...

To master fission and increase followers, just grasp these 3 points!

Since the fission processes are similar, you can ...

Private domain marketing plan for the medical beauty industry!

In this age where looks matter, appearance anxiet...

APP online promotion activity plan

APP online promotion activities refer to activiti...

YOYO Reading Long and Difficult Sentences Class

YOYO Reading Long and Difficult Sentences Class R...

The "Thirty-Six Strategies of Operations" are, after all, a "trap."

Recently, the Internet finance industry and campu...

Douyin dou+ advertising strategy!

Recently a friend told me that it is not easy to ...