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
- General Support: [email protected]
- DevOps/Deployment: [email protected]
- iOS Issues: [email protected]
- Android Issues: [email protected]
- Desktop Issues: [email protected]
Community
- GitHub: https://github.com/nself/nself-chat
- Discord: https://discord.gg/nchat
- Forum: https://community.nchat.nself.org
โ 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?
- Create an issue: https://github.com/nself/nself-chat/issues
- Submit a PR with updates
- 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.