mobile-app-distribution

Mobile App Distribution

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mobile-app-distribution" with this command: npx skills add 0xkynz/codekit/0xkynz-codekit-mobile-app-distribution

Mobile App Distribution

Publish React Native apps to Apple App Store and Google Play Store. Covers signing, building, submitting, and passing review.

Quick Reference

Topic Reference

Android Signing & Publishing Upload key, Gradle config, AAB/APK, ProGuard, Google Play

iOS Publishing Xcode release scheme, archiving, App Store Connect, TestFlight

App Store Review Guidelines Apple's review rules — safety, performance, business, design, legal

Pre-Submission Checklist Both platforms — signing, metadata, screenshots, compliance

Android: Key Steps

  1. Generate upload key

keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

  1. Configure Gradle signing

Add to ~/.gradle/gradle.properties (not project, to avoid Git commits):

MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore MYAPP_UPLOAD_KEY_ALIAS=my-key-alias MYAPP_UPLOAD_STORE_PASSWORD=***** MYAPP_UPLOAD_KEY_PASSWORD=*****

Add signing config to android/app/build.gradle :

signingConfigs { release { if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { storeFile file(MYAPP_UPLOAD_STORE_FILE) storePassword MYAPP_UPLOAD_STORE_PASSWORD keyAlias MYAPP_UPLOAD_KEY_ALIAS keyPassword MYAPP_UPLOAD_KEY_PASSWORD } } } buildTypes { release { signingConfig signingConfigs.release } }

  1. Build release AAB

npx react-native build-android --mode=release

Output: android/app/build/outputs/bundle/release/app-release.aab

  1. Test release build

npx react-native run-android --mode=release

iOS: Key Steps

  1. Configure release scheme

Xcode: Product > Scheme > Edit Scheme > Run > Build Configuration > Release

  1. Build and archive
  • Set device to Any iOS Device (arm64)

  • Product > Archive

  • Verify Bundle Identifier matches Apple Developer Dashboard

  1. Submit
  • Archive window: Distribute App > App Store Connect > Upload

  • Find build in App Store Connect under TestFlight

  • Fill metadata, select build, Submit For Review

CLI alternative

npx react-native run-ios --mode=Release

Apple Review: Common Rejection Reasons

Reason Guideline Fix

Crashes/bugs 2.1 Test thoroughly, fix all crashes before submission

Incomplete metadata 2.3 Complete all fields, accurate screenshots showing app in use

Login required without demo 2.1 Provide demo account in App Review notes

Missing privacy policy 5.1.1 Add privacy policy link in App Store Connect and within app

Requesting unnecessary permissions 5.1.1(iii) Only request data relevant to core functionality

Hidden features 2.3.1 Describe all features in Notes for Review

In-app purchase bypass 3.1.1 Use Apple IAP for digital content/features

No account deletion 5.1.1(v) Offer account deletion if supporting account creation

Minimum functionality 4.2 App must be more than a repackaged website

Missing Sign in with Apple 4.8 Required when offering third-party social login

Key Rules

  • Keep keystore private — if Android upload key is compromised, follow Google's reset process

  • Never commit signing credentials to Git — use ~/.gradle/gradle.properties or CI secrets

  • Ensure gradle.properties does not have org.gradle.configureondemand=true — breaks JS bundling

  • Test release builds on device before submitting

  • Screenshots must show app in use — not splash screens or login pages

  • Privacy policy is mandatory for both platforms

  • Expo users: Use expo build or EAS Build for automated distribution

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

uiux-design-expert

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

react-native-expo

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

figma-make-website-builder

No summary provided by upstream source.

Repository SourceNeeds Review