← All

Mobile app testing: What to do before you submit to the App Store

Mobile app testing: What to do before you submit to the App Store

You built your app and now you need Apple’s approval. Rejection cycles cost days you could spend acquiring users or generating revenue.

Apple rejects apps for predictable reasons, and most of those reasons can be tested before you submit. A deliberate pre-submission workflow covers what Apple evaluates, how to run a beta test with TestFlight, and which privacy requirements catch builders using AI app builders off guard.

A recent breakdown of rejection categories highlights performance and legal issues among common reasons for rejection. Apple reviews submissions quickly, which means a rejection can send you back into another review cycle fast. Builders who test deliberately before submitting may be more likely to pass on the first try.

Why most first submissions get rejected

Most first-round rejections come from a small set of avoidable issues across Apple guideline categories: Safety, Performance, Business, Design, and Legal. If you catch these before review starts, you usually save time and avoid another submission cycle.

Crashes, bugs, and incomplete builds

Apps that crash during review get rejected. Placeholder text left in the UI, an offline backend server, or a missing demo account can also trigger rejection under Guideline 2.1. Documented review delays show how fixable bugs can drag review out.

Privacy violations

Privacy issues are a common rejection risk. Vague permission descriptions can fall under legal review. If your app requests camera or location access without a clear explanation, Apple can reject it under Guideline 5.1.1. If a bundled software development kit (SDK) collects data you did not disclose, Apple can reject it under Guideline 5.1.2. Builders using AI app builders can miss this because platforms may bundle third-party SDKs in the exported build.

Web wrapper and duplicate app flags

Apple states that thin clients for cloud-based apps do not belong on the App Store. If your app is mostly a website inside a native shell with little meaningful iOS functionality, expect rejection under Guideline 4.2. Builders who reskin the same template for multiple clients also risk rejection under Guideline 4.3 for spam.

Metadata mismatches

Metadata issues can also trigger rejection. Screenshots that do not match the current UI and missing required metadata, such as a support URL, create avoidable problems. A short review before submission often catches them.

Seven tests that prevent rejection

These tests catch the issues Apple rejects most often and turn the final week before submission into a practical workflow. You do not need a QA team. You need a physical device, a few hours, and a handful of honest testers.

Functional testing

Tap every button. Submit every form. Navigate every screen path. Confirm no placeholder content remains. Activate your backend before submitting. Reviewers test live services during review. If your server is down, you fail. Create a demo account with full feature access and include the credentials in your App Review notes.

UI and UX testing

Test on at least two screen sizes: the smallest iPhone class and the largest. Verify that text does not overflow and tappable elements are large enough. Confirm your App Store screenshots match the current app UI. The review guidelines include design-related rejection categories, such as minimum functionality and incomplete interfaces.

Performance testing

Use your app continuously and watch for slowdowns, freezes, or unusual device heat. If you have Xcode access, run the Time Profiler during normal use to spot bottlenecks. Fix crashes and nonfunctional features before submission.

Accessibility testing

Turn on Bold Text and Larger Text in device settings. Check whether your layout still works. Then turn on VoiceOver and move through your main user flow using only swipes and double-taps. Apple provides accessibility guidance for developers. If a user with VoiceOver can not complete your core task, that is a problem.

Security and privacy testing

Deny every permission your app requests and confirm it does not crash. Load your privacy policy URL in a browser and confirm it resolves. Read every permission usage string your app displays and verify that it is accurate. Catching these issues before submission keeps permission prompts and policy links from failing during review.

Device and OS compatibility testing

Test on the minimum iOS version you declare in App Store Connect and on the latest iOS version.

Beta testing with real users

Self-testing only goes so far. A small group of non-technical testers can uncover navigation confusion, device-specific crashes, and broken flows you do not find alone. That is where TestFlight helps.

How to run a beta test with TestFlight

TestFlight exposes usability problems and device-specific bugs that self-testing often misses. A small beta group can surface review blockers you no longer notice in your own app.

Prerequisites and upload

You need an Apple Developer membership, an app record in App Store Connect, and a compiled build uploaded through Xcode or Apple Transporter. After upload, Apple processes the build before it becomes available for distribution.

Internal versus external testers

Internal testers must have roles on your App Store Connect account. The internal limit is 100 testers.

External testers can be anyone. The external limit is 10,000 testers. The first build sent to external testers requires Beta App Review. You can invite testers by email or share a public link. No advance contact information is required.

Directing tester attention

Without a QA team, your "What to Test" notes guide most feedback. Write specific tasks such as "Sign up, add one item, complete checkout." Vague instructions produce vague feedback.

Collecting feedback and crash reports

TestFlight captures crash reports automatically and lets testers submit screenshot feedback. You can view everything in App Store Connect under the TestFlight tab. Builds also expire after a defined testing period shown in TestFlight.

Testing in-app purchases

Testers can run the full purchase flow through TestFlight without charges. Test your monetization flow before submitting. If subscriptions or unlockable features break during review, your app can be rejected.

When you are ready to submit, the tested build already appears in App Store Connect. No re-upload is required.

Privacy compliance can trip up builders using AI app builders

Privacy compliance often fails after the app itself looks finished. Bundled SDKs, tracking rules, and disclosure requirements can still block approval if you do not review them before submission.

Privacy manifests are now enforced

Apps that use third-party SDKs invoking Apple Required Reason APIs must document data collection in a privacy manifest file named PrivacyInfo.xcprivacy. Missing manifests can trigger submission issues, including ITMS-91061. If your AI app builder includes analytics, crash reporting, or attribution SDKs, ask the platform support team which SDKs are bundled in the exported build.

App Tracking Transparency

If your app tracks users across apps or websites owned by other companies for advertising or measurement, you must request permission through the ATT framework before tracking starts. If the user declines, the advertising identifier returns all zeros. You are still responsible for third-party SDKs in your build, even if you did not add them yourself.

Privacy nutrition labels

Providing privacy details in App Store Connect is required for every submission. You must disclose each data type your app and its SDKs collect. You must also disclose whether that data links to user identity and whether it is used for tracking. If your app sends user input to a third-party AI service, disclose what data is sent and include an in-app consent mechanism.

Your pre-submission checklist

A final checklist catches the last mistakes that usually cause avoidable delays. Use it after testing and beta feedback, when the build is stable and you are preparing the exact version you will submit.

  1. Verify your build targets the required SDK
  2. Add NSXxxUsageDescription keys for every permission your app requests
  3. Build Sign in with Apple if any third-party login option is present
  4. Confirm all privacy manifests are valid for every SDK in your build
  5. Capture screenshots showing your app in actual use and match them to the correct device type
  6. Load your privacy policy URL in a browser and confirm it resolves
  7. Provide working demo account credentials in the App Review Information section
  8. Activate your backend and confirm all APIs are live
  9. Remove all placeholder content, temporary images, and "Lorem ipsum" text
  10. Check developer news for recent guideline changes

Many of these items map to common rejection triggers. Skipping one can add time to your launch.

Test once, ship with confidence

Deliberate testing before submission reduces the risk of rejection and helps you launch sooner. The sequence is straightforward: test core flows, run a beta, review privacy requirements, and complete the final checklist. That process can save time compared with fixing avoidable issues after review.

If you are building your app with Anything, pair your build with the checklist above before submission. That combination can shorten the path from a finished app to a live App Store listing. Get started and put your app in front of real users.