Publish to the App Store and Play Store

Khimananda Oli 8 min read Virtualization
Publish to the App Store and Play Store

By Khimananda Oli | Last reviewed: August 2026

Shipping a mobile application involves far more than uploading a binary; it requires a reproducible, secure, and auditable release process. When you prepare to publish to the App Store and Play Store, you are navigating two distinct ecosystems with strict security requirements, review guidelines, and distribution mechanisms. For engineering teams in Nepal and globally, treating mobile releases as manual artifacts is a liability that leads to expired certificates, inconsistent builds, and delayed hotfixes. This guide outlines the infrastructure and automation patterns necessary to manage dual-platform deployments reliably.

How do you automate the workflow to publish to the App Store and Play Store?

Automation is the only viable strategy for maintaining sanity across iOS and Android releases. The goal is to decouple the build artifact from the machine that created it. In my experience helping fintech startups achieve SOC 2 compliance, the first audit finding is often unmanaged signing keys stored on laptops. You must move this entire workflow into a controlled environment.

Git Tag Pushv2.4.0-releaseCI Build & TestUnit + E2E SuiteSecure SigningVault / KMS KeysStore UploadAPI SubmissionStagedRollout
Figure 1: Secure automated pipeline to publish to the App Store and Play Store without local secrets.

A common mistake I see when teams first attempt to build CI/CD pipelines for mobile is trying to reuse web deployment patterns. Mobile is different because the artifact is immutable once signed. You cannot patch a shipped IPA or AAB; you can only ship a new version. Your pipeline must include these non-negotiable stages:

  • Dependency Caching: Mobile builds are heavy. Configure your CI runner to cache Gradle caches, CocoaPods, and npm/yarn directories aggressively. A cold build taking 45 minutes destroys developer feedback loops.
  • Deterministic Versioning: Derive version codes and names strictly from Git metadata. Use Conventional Commits and semantic release tools to auto-increment versions based on commit messages.
  • Artifact Archiving: Every build that passes tests must be archived to S3, GCS, or Azure Blob Storage with metadata linking it to the commit SHA. This is your audit trail.
  • Metadata Sync: Screenshots, descriptions, and changelogs should live in your repository as code, not manually typed into store consoles.

What are the critical code signing requirements for iOS and Android?

Code signing is where most mobile release processes fail. Apple and Google have fundamentally different trust models, and misunderstanding them causes weeks of debugging. In 2026, both platforms have moved toward cloud-managed keys, but you still need to understand the underlying mechanics.

iOS Signing Complexity

Apple’s ecosystem relies on a chain of trust involving Certificates, Identifiers, and Provisioning Profiles. For automated builds, you cannot use personal development certificates. You must configure Distribution Certificates and App Store Provisioning Profiles. Historically, teams managed these via "Fastlane Match," which encrypted certs in a private Git repo. While functional, modern best practice favors storing PKCS#12 files and provisioning profiles directly in a secrets manager like HashiCorp Vault or AWS Secrets Manager, injecting them as base64 environment variables during the CI job.

# Example: Decrypting iOS signing assets in a CI pipeline
echo "$DISTRIBUTION_CERTIFICATE_BASE64" | base64 --decode > dist.p12
security import dist.p12 -k build.keychain -P "$CERT_PASSWORD" -T /usr/bin/codesign
echo "$PROVISIONING_PROFILE_BASE64" | base64 --decode > profile.mobileprovision
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp profile.mobileprovision ~/Library/MobileDevice/Provisioning\ Profiles/

Android App Signing by Google

Since 2021, Google Play App Signing has been mandatory for new apps. You upload an Android App Bundle (AAB), and Google manages the actual distribution key. Your responsibility shifts to securing the upload key. Never store this keystore in your source control. Similar to iOS, inject the keystore file and alias passwords via CI secrets. If you lose this upload key, you must contact Google support to reset it—a process that can halt releases for days.

How do platform policies and compliance affect mobile releases?

When you publish to the App Store and Play Store, you are subject to policy enforcement that goes beyond technical correctness. As someone who has guided companies through ISO 27001 and SOC 2 audits, I treat app store compliance as an extension of security governance. Both stores now require detailed privacy nutrition labels and data safety declarations. These are not static forms; they must be updated whenever your data handling changes.

Platform Requirements Comparison MatrixApple App Store• Strict Human Review (24-48h)• Privacy Manifests Required• SKAdNetwork Config• Xcode Cloud / Fastlane• Manual Profile Mgmt• $99/year Developer FeeGoogle Play Store• Automated + Policy Review• Data Safety Section• Target SDK Enforcement• Gradle / Fastlane Supply• Play App Signing (Cloud)• $25 One-time FeeShared Compliance• GDPR / CCPA Adherence• 64-bit Architecture Only• Vulnerability Scanning• Ads SDK Disclosure• Account Verification• Export Compliance Info
Figure 2: Key technical and policy differences when preparing to publish to the App Store and Play Store.

For teams operating in regulated sectors like finance or health in Nepal, you must also consider data residency. Both stores ask where your servers are located. If your backend runs on AWS Mumbai or Singapore regions to serve South Asian users efficiently, ensure your store listing accurately reflects this. Misrepresenting data handling can lead to app removal. Additionally, implement DevSecOps practices to scan dependencies for vulnerabilities before submission. Both Apple and Google now flag known CVEs in third-party libraries during the upload process.

Which tools and strategies enable safe staged rollouts?

Never release to 100% of your users immediately. Staged rollouts are your primary defense against catastrophic bugs. Both platforms support phased releases, but they work differently and require orchestration.

FeatureApple App StoreGoogle Play Store
Phased ReleaseFixed 7-day schedule (1%, 2%, 5%, 10%, 20%, 50%, 100%)Custom percentages (e.g., 5%, 10%, 25%, 50%, 100%)
Pause CapabilityYes, pauses remaining daysYes, halts at current percentage
Test TracksTestFlight (Internal/External)Internal, Closed, Open Testing
Review for TestsBeta review required for externalNo review for internal/closed tracks
Rollback SpeedRequires new build submissionInstant rollback to previous track

The asymmetry in rollback capability is critical. On Android, if you detect a crash spike at 5% rollout, you can halt and revert instantly. On iOS, stopping a phased release prevents new downloads, but users who already updated are stuck until you push a fix through the full review cycle. This makes pre-release testing on iOS significantly more important. Always run a minimum 48-hour external beta test via TestFlight with real devices before submitting for production review.

Monitoring During Rollout

Your observability stack must be release-aware. Configure your monitoring dashboards to segment metrics by app version. When you track golden signals like error rate and latency, set up version-specific alerts. A global error rate might look acceptable while a specific new version is crashing for 10% of users. Integrate Crashlytics or Sentry with your CI pipeline to automatically tag releases with commit hashes and build numbers.

Stage 1: 5%Internal QACrash Free > 99.9%Stage 2: 20%Early AdoptersMonitor ANR/CrashStage 3: 50%Broad AudiencePerf Regression CheckStage 4: 100%Full ProductionBusiness Metrics OK
Figure 3: Progressive rollout gates when you publish to the App Store and Play Store safely.

How do you maintain long-term release hygiene and updates?

Publishing is not a one-time event; it is a continuous lifecycle. Technical debt in your release process compounds faster than code debt. Establish a regular cadence for updating build tools, SDKs, and CI runner images. Apple typically deprecates older Xcode versions annually, and Google enforces target SDK requirements that advance every year. Falling behind means emergency scrambles to update toolchains when you need to ship a critical fix.

Maintain a living runbook for your release process. Document every certificate renewal date, every API key rotation schedule, and every store console permission change. When team members leave, this documentation prevents knowledge loss. For Nepali teams working with international clients, align your release schedules with their business hours and support capacity. Shipping a major update at 2 AM Friday in Kathmandu might be convenient locally, but if your client's support team in New York is offline, you risk unmanaged fallout.

Finally, treat your store listings as code. Use tools like Fastlane Deliver or Triple-T Gradle Play Publisher to manage screenshots, metadata, and changelogs in version control. This enables code review for marketing copy, ensures consistency across locales, and provides an audit trail of what was published and when. When you combine metadata-as-code with automated builds and staged rollouts, you transform mobile deployment from a stressful ritual into a predictable engineering discipline.

Next Steps for Reliable Mobile Delivery

Successfully managing the lifecycle to publish to the App Store and Play Store requires treating mobile infrastructure with the same rigor as your backend systems. Start by auditing your current signing practices and moving secrets out of local storage. Implement a basic CI pipeline that produces reproducible artifacts before attempting full automation. If your team needs guidance on setting up compliant, automated mobile release pipelines or hardening your existing DevOps workflows, reach out to discuss your specific architecture.

Frequently Asked Questions

Apple charges a recurring $99 annual fee for the Developer Program. Google requires a one-time $25 registration fee per developer account. Both fees are mandatory before submission and must be paid via valid credit card or corporate billing method.

No. iOS requires an IPA signed with Apple certificates, while Android uses an AAB signed with Google Play keys. Build artifacts, provisioning profiles, and signing keys differ entirely between platforms despite shared source code.

Apple typically reviews within 24 to 48 hours but can extend to seven days for complex apps. Google Play automated plus manual review averages three to seven business days, though new accounts face extended scrutiny lasting up to two weeks.

Yes. You must register individually with Apple Developer Program and Google Play Console. Credentials, tax forms, banking details, and identity verification do not transfer between ecosystems even if your organization owns both accounts.

Both require app name, description, category, screenshots, privacy policy URL, and age rating. Apple additionally demands promotional text and keywords. Google mandates data safety declarations and target audience specifications for compliance.

Yes. Tools like Fastlane match and deliver automate uploads, metadata sync, and screenshot management for iOS and Android. GitHub Actions or GitLab CI pipelines trigger builds and submissions on tag creation, reducing manual errors significantly.

Common causes include missing privacy disclosures, broken deep links, placeholder content, or nonfunctional test accounts. Apple frequently rejects for guideline violations around subscriptions or external payments. Google flags policy breaches related to ads, permissions, or deceptive behavior.

Yes. Apple indexes keywords from title, subtitle, and keyword field only. Google crawls full description text and user reviews. Screenshot dimensions, video previews, and category selection also vary, requiring platform-specific ASO strategies.

Yes, Apple requires a valid D-U-N-S number for organizational enrollment to verify legal entity status. Google Play accepts standard business documentation without D-U-N-S but may request additional verification for high-risk categories or regions.

Use semantic versioning consistently but track build numbers separately. Apple uses CFBundleVersion for internal tracking independent of marketing version. Google uses versionCode as integer and versionName for display. Sync major.minor.patch externally while allowing divergent internals.

Google offers internal, closed, open testing, and production tracks with staged rollouts. Apple provides TestFlight for beta distribution with up to 10,000 external testers. Neither track affects live store listing until promoted to production.

Yes. Both consoles allow price changes at any time, but updates propagate within 24 hours. Existing subscribers retain original pricing unless migrated explicitly. Free-to-paid conversions require careful communication to avoid negative reviews or refund requests.

Absolutely. Apple requires App Privacy nutrition labels detailing data collection practices. Google mandates Data Safety section disclosures. Inaccurate or incomplete declarations cause rejection or removal. Update both whenever SDKs, analytics, or backend integrations change.

Configure products separately in App Store Connect and Google Play Console. RevenueCat or Qonversion abstract cross-platform entitlements and receipt validation. Never share transaction IDs or server-side logic directly; each store uses distinct APIs and webhook formats.

All published apps become unavailable immediately. Appeals require documented evidence of policy compliance remediation. Reinstatement takes weeks and is not guaranteed. Maintain clean records, respond promptly to warnings, and never reuse banned identities or payment methods.