MOBILE_DESKTOP_DEPLOYMENT_GUIDE - nself-org/nchat GitHub Wiki

nChat v0.8.0 - Mobile & Desktop Deployment Documentation

Complete documentation suite for deploying nChat mobile (iOS/Android) and desktop (Windows/macOS/Linux) applications.

Documentation Overview

This comprehensive guide covers all aspects of building, signing, and deploying nChat applications across all platforms.

Created: January 31, 2026

Version: 0.8.0

Status: Production Ready


๐Ÿ“š Documentation Index

Deployment Guides

Mobile Platforms

iOS Deployment (docs/deployment/ios-deployment.md)

  • Complete iOS deployment guide
  • 34,000+ words, production-ready
  • Covers TestFlight, App Store submission
  • Code signing, provisioning profiles
  • Automated deployment with Fastlane and GitHub Actions
  • โœ… Status: Complete

Android Deployment (docs/deployment/android-deployment.md)

  • Complete Android deployment guide
  • 32,000+ words, comprehensive
  • Covers Internal Testing, Beta, Production
  • Google Play Console setup
  • Signing configuration and automation
  • โœ… Status: Complete

Desktop Platforms

Desktop Deployment (docs/deployment/desktop-deployment.md)

  • Cross-platform desktop guide
  • Covers Windows, macOS, Linux
  • Electron-based applications
  • Code signing for all platforms
  • Auto-update configuration
  • Distribution methods
  • โœ… Status: Complete

Windows Code Signing (docs/deployment/windows-signing.md)

  • Detailed Windows signing guide
  • Certificate acquisition
  • SmartScreen reputation
  • MSI and NSIS installers
  • ๐Ÿ“ Status: To be created

macOS Signing & Notarization (docs/deployment/macos-signing.md)

  • macOS Developer ID certificates
  • Notarization process
  • Gatekeeper requirements
  • DMG creation and distribution
  • ๐Ÿ“ Status: To be created

Linux Packaging (docs/deployment/linux-packaging.md)

  • AppImage, DEB, RPM packaging
  • Repository setup (APT, YUM)
  • Snap and Flatpak distribution
  • Desktop integration
  • ๐Ÿ“ Status: To be created

Troubleshooting Guides

iOS Troubleshooting (docs/troubleshooting/ios-issues.md)

  • Code signing issues
  • Build errors
  • Xcode problems
  • CocoaPods issues
  • Provisioning profiles
  • App Store Connect issues
  • TestFlight problems
  • Runtime issues
  • โœ… Status: Complete (27,000+ words)

Android Troubleshooting (docs/troubleshooting/android-issues.md)

  • Gradle build errors
  • Signing configuration
  • Play Store issues
  • SDK problems
  • Dependencies conflicts
  • Runtime crashes
  • ๐Ÿ“ Status: To be created

Desktop Troubleshooting (docs/troubleshooting/desktop-issues.md)

  • Platform-specific build issues
  • Code signing problems
  • Auto-update failures
  • Distribution issues
  • ๐Ÿ“ Status: To be created

Build Process

Development Setup (docs/build/development-setup.md)

  • Local development environment
  • Prerequisites for each platform
  • IDE configuration
  • Build tools installation
  • ๐Ÿ“ Status: To be created

Build Process (docs/build/build-process.md)

  • Step-by-step build instructions
  • Platform-specific configurations
  • Build optimization
  • Debugging builds
  • ๐Ÿ“ Status: To be created

CI/CD Pipeline (docs/build/ci-cd-pipeline.md)

  • GitHub Actions workflows
  • Automated builds
  • Testing integration
  • Deployment automation
  • ๐Ÿ“ Status: To be created

App Store Submission

iOS App Store Submission (docs/appstore/ios-submission.md)

  • App Store Connect configuration
  • Screenshots and metadata
  • Review guidelines compliance
  • Submission process
  • Rejection handling
  • ๐Ÿ“ Status: To be created

Android Play Store Submission (docs/appstore/android-submission.md)

  • Google Play Console setup
  • Store listing optimization
  • Content rating
  • Data safety section
  • Review process
  • ๐Ÿ“ Status: To be created

Release Management

Release Checklist (docs/release/RELEASE_CHECKLIST.md)

  • Pre-release testing
  • Version management
  • Build process
  • Submission steps
  • Post-release monitoring
  • ๐Ÿ“ Status: To be created

๐ŸŽฏ Quick Start by Platform

iOS Development

# Prerequisites
- macOS 13.0+
- Xcode 15.2+
- CocoaPods 1.10+
- Apple Developer Account ($99/year)

# Setup
cd /Users/admin/Sites/nself-chat
pnpm install
pnpm build
cd platforms/capacitor
npx cap sync ios
cd ios/App
pod install

# Open in Xcode
open App.xcworkspace

# Build for device
xcodebuild -workspace App.xcworkspace \
  -scheme App \
  -configuration Release \
  -archivePath build/App.xcarchive \
  archive

Read: docs/deployment/ios-deployment.md

Android Development

# Prerequisites
- Node.js 20+
- Java JDK 17
- Android Studio Hedgehog+
- Android SDK API 34
- Google Play Developer Account ($25 one-time)

# Setup
cd /Users/admin/Sites/nself-chat
pnpm install
pnpm build
cd platforms/capacitor
npx cap sync android

# Build release AAB
cd android
./gradlew bundleRelease

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

Read: docs/deployment/android-deployment.md

Desktop (Electron)

# Prerequisites
- Node.js 20+
- Platform-specific build tools

# Setup
cd /Users/admin/Sites/nself-chat
pnpm install
pnpm build
cd platforms/electron
pnpm install
pnpm run build:all

# Build for all platforms (macOS only)
electron-builder --mac --win --linux

# Output: platforms/dist-electron/

Read: docs/deployment/desktop-deployment.md


๐Ÿ“‹ Platform Requirements

iOS

Development:

  • macOS 13.0 (Ventura) or later
  • Xcode 15.2 or later
  • CocoaPods 1.10+
  • iOS 14.0+ deployment target

Distribution:

  • Apple Developer Program ($99/year)
  • Developer ID certificate
  • Provisioning profiles
  • App-specific password for automation

Testing Devices:

  • iPhone 12 Mini (5.4")
  • iPhone 13 (6.1")
  • iPhone 14 Pro (6.1")
  • iPhone 15 Pro Max (6.7") โญ Required for screenshots
  • iPad Pro 12.9"

Android

Development:

  • Java JDK 17
  • Android Studio Hedgehog (2023.1.1)+
  • Android SDK API 34
  • Gradle 8.0+
  • Min SDK: API 24 (Android 7.0)

Distribution:

  • Google Play Developer Account ($25 one-time)
  • Upload keystore
  • SHA-256 fingerprints
  • Service account for automation

Testing Devices:

  • Pixel 6 (1080 x 2400) โญ Required for screenshots
  • Various manufacturers (Samsung, OnePlus, etc.)
  • Tablet (1800 x 2400)

Desktop

macOS:

  • macOS 10.15+
  • Developer ID certificate
  • Notarization (App-specific password)
  • Targets: Intel, Apple Silicon, Universal

Windows:

  • Windows 10/11
  • Code signing certificate (optional but recommended)
  • Targets: x64, arm64

Linux:

  • Build-essential packages
  • GTK+ 3.0 development headers
  • Targets: x64
  • Formats: AppImage, DEB, RPM, Snap, Flatpak

๐Ÿ” Code Signing Summary

iOS

Required Certificates:

  • iOS Distribution Certificate
  • Developer ID Application (for notarization)

Required Profiles:

  • App Store Distribution Profile
  • Ad Hoc Profile (for TestFlight)

Setup:

# Check installed certificates
security find-identity -v -p codesigning

# Create app-specific password
# https://appleid.apple.com > Security > App-Specific Passwords

Android

Upload Keystore (created once, backed up securely):

keytool -genkey -v \
  -keystore nchat-upload.jks \
  -alias nchat \
  -keyalg RSA \
  -keysize 2048 \
  -validity 10000

CRITICAL: Backup this keystore! Losing it means you cannot update your app.

Desktop

macOS:

  • Developer ID Application certificate
  • App-specific password for notarization

Windows:

  • Code Signing certificate (optional but recommended)
  • EV certificate preferred (instant SmartScreen trust)

Linux:

  • GPG key for package signing (optional)

๐Ÿš€ Automated Deployment

GitHub Actions Workflows

iOS (.github/workflows/build-capacitor-ios.yml):

  • Triggered on push to main or manual
  • Builds, signs, and uploads to TestFlight
  • Requires secrets: CERTIFICATES_P12, APPLE_ID, APPLE_PASSWORD

Android (.github/workflows/build-capacitor-android.yml):

  • Builds signed AAB
  • Uploads to Play Console internal track
  • Requires secrets: KEYSTORE_FILE, PLAY_STORE_JSON_KEY

Desktop (.github/workflows/build-electron.yml):

  • Builds for Windows, macOS, Linux
  • Signs applications
  • Creates GitHub release
  • Requires secrets: MAC_CERTS, WIN_CERTS, GH_TOKEN

Fastlane Automation

iOS:

cd platforms/capacitor/ios
fastlane beta          # Deploy to TestFlight
fastlane production    # Deploy to App Store

Android:

cd platforms/capacitor/android
fastlane internal      # Internal testing
fastlane beta         # Closed beta
fastlane production   # Production release

๐Ÿ“Š App Store Assets Required

iOS App Store

App Icon:

  • 1024 x 1024 px
  • PNG (no transparency)
  • RGB color space

Screenshots (iPhone 6.7"):

  • Size: 1290 x 2796 px
  • Minimum: 3 screenshots
  • Maximum: 10 screenshots

Screenshots (iPad Pro 12.9"):

  • Size: 2048 x 2732 px (optional but recommended)

Feature Graphic: None required for iOS

Privacy Policy: Required URL Support URL: Required URL

Google Play Store

App Icon:

  • 512 x 512 px
  • PNG (32-bit with alpha)

Feature Graphic:

  • 1024 x 500 px
  • PNG or JPEG
  • Required for Play Store listing

Screenshots (Phone):

  • Minimum dimension: 320px
  • Maximum dimension: 3840px
  • Recommended: 1080 x 2400 px

Screenshots (Tablet)**:

  • Recommended: 1800 x 2400 px

Privacy Policy: Required URL Data Safety: Required responses in Play Console


๐Ÿงช Testing Requirements

Before iOS Submission

  • [ ] TestFlight tested by internal team (minimum 5 testers)
  • [ ] External beta tested (recommended 50+ testers)
  • [ ] No crashes (crash-free rate > 99.5%)
  • [ ] Push notifications working
  • [ ] Deep links working
  • [ ] All features functional
  • [ ] Tested on physical devices (not just simulator)
  • [ ] Performance acceptable (launch < 2s, memory < 100MB)

Before Android Submission

  • [ ] Internal testing complete (minimum 20 testers for 7 days)
  • [ ] Closed beta tested (recommended 100+ testers)
  • [ ] Pre-launch report reviewed (no critical issues)
  • [ ] Tested on multiple devices and Android versions
  • [ ] Crash rate < 1%
  • [ ] ANR rate < 0.5%
  • [ ] Battery usage acceptable

Before Desktop Release

  • [ ] Tested on Windows 10 and 11
  • [ ] Tested on macOS 10.15, 11, 12, 13, 14
  • [ ] Tested on Ubuntu 20.04, 22.04, 24.04
  • [ ] Auto-update tested
  • [ ] Installer tested (fresh install and update)
  • [ ] Uninstaller tested
  • [ ] Code signing verified (no security warnings)

๐Ÿ“ˆ Version Management

Semantic Versioning

Format: MAJOR.MINOR.PATCH

  • MAJOR: Breaking changes (1.0.0, 2.0.0)
  • MINOR: New features, backward compatible (0.8.0, 0.9.0)
  • PATCH: Bug fixes (0.8.1, 0.8.2)

Build Numbers

iOS:

  • CFBundleVersion: Integer, increments for each build
  • CFBundleShortVersionString: Semantic version (0.8.0)

Android:

  • versionCode: Integer, must increase with each release
  • versionName: Semantic version (0.8.0)

Desktop:

  • package.json version: Semantic version
  • Synced across all desktop builds

Version Bumping

# Bump version (updates package.json)
pnpm version patch   # 0.8.0 -> 0.8.1
pnpm version minor   # 0.8.0 -> 0.9.0
pnpm version major   # 0.8.0 -> 1.0.0

# Auto-updates:
# - package.json
# - Synced to Electron
# - Git tagged automatically

๐ŸŽซ Support and Resources

Official Documentation

  • iOS: docs/deployment/ios-deployment.md
  • Android: docs/deployment/android-deployment.md
  • Desktop: docs/deployment/desktop-deployment.md

Troubleshooting

  • iOS Issues: docs/troubleshooting/ios-issues.md
  • Android Issues: docs/troubleshooting/android-issues.md
  • Desktop Issues: docs/troubleshooting/desktop-issues.md

External Resources

Apple:

Google:

Electron:

Contact

Community


โœ… Deployment Checklist

Use this quick checklist before each release:

Pre-Deployment

  • [ ] Version number bumped
  • [ ] Changelog updated
  • [ ] All tests passing
  • [ ] No critical bugs
  • [ ] Performance benchmarks met
  • [ ] Security audit complete
  • [ ] Legal compliance reviewed (GDPR, CCPA, etc.)

iOS Deployment

  • [ ] TestFlight tested (no crashes)
  • [ ] Screenshots updated (if UI changed)
  • [ ] App description reviewed
  • [ ] Privacy policy updated
  • [ ] Certificates valid (not expiring soon)
  • [ ] Provisioning profiles valid
  • [ ] Build signed and notarized
  • [ ] Demo account working
  • [ ] Submitted to App Store

Android Deployment

  • [ ] Internal testing complete
  • [ ] Pre-launch report reviewed
  • [ ] Store listing updated
  • [ ] Data safety completed
  • [ ] Content rating current
  • [ ] Keystore backed up
  • [ ] Build signed with upload key
  • [ ] Submitted to Play Store

Desktop Deployment

  • [ ] Tested on all target platforms
  • [ ] Code signed (all platforms)
  • [ ] Auto-update configured
  • [ ] Release notes prepared
  • [ ] Installers tested
  • [ ] GitHub release created
  • [ ] Download links updated on website

Post-Deployment

  • [ ] Monitor crash rates
  • [ ] Monitor reviews/ratings
  • [ ] Respond to user feedback
  • [ ] Track installation metrics
  • [ ] Monitor performance metrics
  • [ ] Check for security issues
  • [ ] Plan next release

๐Ÿ“… Release Schedule (Recommended)

Weekly

  • Internal testing builds (TestFlight, Play Internal)
  • Bug fixes and minor improvements

Bi-weekly

  • Beta releases (TestFlight External, Play Beta)
  • New features testing

Monthly

  • Production releases (App Store, Play Store)
  • Desktop releases

Quarterly

  • Major version updates
  • Breaking changes (with migration path)

๐ŸŽฏ Success Metrics

App Store Ratings

Target:

  • iOS: 4.5+ stars
  • Android: 4.3+ stars
  • Reviews: Respond within 24-48 hours

Crash Rates

Target:

  • Crash-free users: > 99.5%
  • ANR-free users: > 99.9% (Android)

Performance

Target:

  • Launch time: < 2 seconds
  • Memory usage: < 150MB
  • Battery drain: < 5% per hour active use
  • App size: < 100MB download

Adoption

Target:

  • Update rate: > 80% on latest version within 30 days
  • Retention: > 60% 30-day retention
  • Daily active users: Track and improve

๐Ÿ”„ Continuous Improvement

Monthly Review

  • Review crash reports and fix critical bugs
  • Analyze user feedback and ratings
  • Performance optimization based on metrics
  • Update dependencies and security patches

Quarterly Review

  • Review app store optimization (ASO)
  • Update screenshots and description
  • Review and update privacy policy
  • Competitor analysis
  • Feature roadmap planning

Annual Review

  • Major version planning
  • Technology stack evaluation
  • Security audit
  • Compliance review
  • Infrastructure scaling

๐Ÿ“ Documentation Maintenance

This documentation is maintained by the nChat DevOps team.

Last Updated: January 31, 2026 Version: 1.0.0 Next Review: April 30, 2026

Contributing

Found an issue or improvement?

  1. Create an issue: https://github.com/nself/nself-chat/issues
  2. Submit a PR with updates
  3. Contact: [email protected]

Version History

  • 1.0.0 (January 31, 2026): Initial comprehensive deployment documentation
    • iOS deployment guide (34,000+ words)
    • Android deployment guide (32,000+ words)
    • Desktop deployment guide (15,000+ words)
    • iOS troubleshooting guide (27,000+ words)
    • Total: 100,000+ words of production-ready documentation

Copyright ยฉ 2026 nself. All rights reserved.

This documentation is proprietary and confidential. Unauthorized distribution is prohibited.