SubmissionSubmission checklist

Use this checklist before submitting to the App Store and Google Play.

Prerequisites

  • [ ] Apple Developer account ($99/year) created and active
  • [ ] Google Play Developer account ($25 one-time) created and active
  • [ ] App Store Connect app record created
  • [ ] Google Play Console app created
  • [ ] App builds successfully for production
  • [ ] All environment variables configured
  • [ ] Privacy policy URL ready (required if collecting user data)

Assets

iOS

  • [ ] App icon: 1024×1024px (PNG, no transparency)
  • [ ] Screenshots for iPhone 6.7" (1290×2796px) — minimum 1, recommended 3–10
  • [ ] Screenshots for iPhone 6.5" (1242×2688px) — if supporting
  • [ ] Screenshots for iPhone 5.5" (1242×2208px) — if supporting
  • [ ] Screenshots for iPad Pro 12.9" (2048×2732px) — if supporting
  • [ ] Screenshots for iPad Pro 11" (1668×2388px) — if supporting
  • [ ] App preview video (optional): MP4/MOV, 15–30 seconds

Android

  • [ ] App icon: 512×512px (PNG, no transparency)
  • [ ] Feature graphic: 1024×500px (PNG/JPG)
  • [ ] Phone screenshots: Minimum 2, maximum 8 (1080×1920px or 1920×1080px)
  • [ ] Tablet screenshots (7" and 10"): Optional, same requirements
  • [ ] TV screenshots: Optional if supporting Android TV
  • [ ] App preview video (optional): MP4, 30 seconds–2 minutes

Metadata

iOS (App Store Connect)

  • [ ] App name (30 characters max)
  • [ ] Subtitle (30 characters max, optional)
  • [ ] Description (4000 characters max)
  • [ ] Keywords (100 characters max, comma-separated)
  • [ ] Support URL
  • [ ] Privacy Policy URL (required if collecting user data)
  • [ ] Promotional text (170 characters, optional)
  • [ ] Marketing URL (optional)
  • [ ] Category: Primary selected
  • [ ] Category: Secondary selected (optional)

Android (Google Play Console)

  • [ ] App name (50 characters max)
  • [ ] Short description (80 characters max)
  • [ ] Full description (4000 characters max)
  • [ ] Privacy Policy URL (required if collecting user data)
  • [ ] Category: Primary selected
  • [ ] Content rating questionnaire completed
  • [ ] Contact email address (publicly visible)

App configuration

  • [ ] App icon set in app.config.tsicon field
  • [ ] App name set in app.config.tsname field
  • [ ] Bundle identifier/package name configured
  • [ ] Version number set correctly
  • [ ] Build number incremented
  • [ ] App signing configured (iOS: certificates, Android: keystore)

Testing

  • [ ] App tested on real iOS device
  • [ ] App tested on real Android device
  • [ ] All features working as expected
  • [ ] No crashes or critical bugs
  • [ ] Performance acceptable
  • [ ] App works offline (if required)
  • [ ] In-app purchases tested (if applicable)
  • [ ] Analytics tracking verified (if applicable)

Store-specific requirements

iOS

  • [ ] App complies with App Store Review Guidelines
  • [ ] Age rating configured
  • [ ] Export compliance information completed (if applicable)
  • [ ] App Store Connect agreements accepted
  • [ ] Pricing and availability set
  • [ ] In-app purchases configured (if applicable)
  • [ ] App Store Connect API access set up (if using automated submission)

Android

  • [ ] App complies with Google Play Developer Policy
  • [ ] Content rating questionnaire completed
  • [ ] Target audience and content set
  • [ ] Data safety section completed
  • [ ] Store listing complete in all required languages
  • [ ] Pricing and distribution set
  • [ ] In-app products configured (if applicable)

Legal & compliance

  • [ ] Privacy policy published and accessible
  • [ ] Terms of service published (if applicable)
  • [ ] Data collection practices disclosed
  • [ ] Third-party SDKs acknowledged (if required)
  • [ ] Export compliance reviewed (iOS)
  • [ ] GDPR compliance (if applicable to EU users)
  • [ ] COPPA compliance (if targeting children)

Pre-submission

  • [ ] All assets uploaded to respective stores
  • [ ] Metadata reviewed for typos and accuracy
  • [ ] Screenshots show actual app functionality
  • [ ] App description is clear and compelling
  • [ ] Keywords optimized for discoverability
  • [ ] Support contact information correct
  • [ ] App tested in TestFlight (iOS) or Internal Testing (Android)
  • [ ] Beta testers feedback addressed (if applicable)

Final checks

  • [ ] Production build created and uploaded
  • [ ] Build processing completed (iOS)
  • [ ] Build reviewed and approved (Android)
  • [ ] All required information fields completed
  • [ ] Ready for review submission
  • [ ] Submission scheduled (if not immediate)