← Blog/For Developers

How to Use the App Health Check Tool Effectively

The App Health Check takes 30 seconds. Here is how to run it correctly, read the report, and fix every issue it finds before you submit to the App Store or Google Play.

Mar 20, 2026·5 min read·AppTester.co Team

Quick summary: Upload your release APK, AAB, or IPA at apptester.co/health-check. Get a severity-ranked report in 30 seconds. Fix all Critical and High findings before submitting to the store. It's free.

What the Health Check scans

Build type detection

Identifies whether your binary is a debug or release build

Why it matters: Debug builds are rejected immediately by both app stores. This is the #1 preventable rejection.

Permission audit

Lists every permission declared in your manifest and flags permissions that appear unused or overly broad

Why it matters: Excess permissions trigger store rejection and reduce user trust at install time.

Privacy manifest check (iOS)

Verifies that PrivacyInfo.xcprivacy is present and contains declarations for all required reason APIs your app uses

Why it matters: Missing privacy manifests have been an automatic iOS rejection since May 2024.

Target SDK version

Checks that your Android targetSdkVersion meets Google Play's current minimum requirement (API 34)

Why it matters: Apps targeting older SDKs cannot be published or updated on Google Play.

Cleartext traffic detection

Detects any HTTP endpoints or disabled ATS (App Transport Security) exceptions in the build

Why it matters: Both stores flag insecure network configurations. Production apps should not communicate over plain HTTP.

Icon completeness

Verifies all required icon sizes are present for the target platform

Why it matters: Missing icons or icons with alpha channels (iOS) cause automated submission rejection before human review.

Metadata consistency

Compares bundle identifier, version number, and build number against submission metadata

Why it matters: Mismatches between the binary and store metadata cause submission failures.

Step-by-step guide

01

Prepare your release build

The Health Check should be run on the same binary you intend to submit: not a debug build, not an internal TestFlight build. For Android, this means your signed release APK or AAB. For iOS, this means your archived IPA exported in Release configuration.

02

Upload your file

Go to apptester.co/health-check and upload your APK, AAB, or IPA. The file is scanned immediately and is not stored beyond the analysis session. You'll receive your report in about 30 seconds for most builds.

03

Read the severity breakdown first

The report groups findings by severity: Critical (will cause rejection), High (likely to cause rejection or rejection at review), Medium (may trigger manual review), and Informational (best practices). Fix all Critical and High items before submission.

04

Cross-reference with store requirements

Each finding links to the specific store guideline or policy it relates to. Read the linked resource to understand exactly why the issue matters: not just that it matters. This helps you fix it correctly, not just technically satisfy the check.

05

Re-run after fixes

After fixing Critical and High issues in your build, regenerate your release binary and run the Health Check again. This is fast: 30 seconds: and confirms your fixes were applied correctly at the binary level, not just in source.

Health Check vs. human testing: what each covers

App Health Check

Debug vs release build detection

Permission over-requests

Missing privacy manifest (iOS)

Target SDK version compliance

Cleartext traffic configuration

Icon completeness and format

Human Testing

Crashes on specific real devices

UX confusion and friction points

Device-specific rendering bugs

Onboarding flow problems

Real-world performance issues

Store readiness from a reviewer perspective

Run both before every major submission. They cover different categories of failure.

Run your Health Check now: it's free

Upload your APK, AAB, or IPA. Get a full report in 30 seconds. No account required.