This guide covers the complete deployment process for Interspace iOS, from development builds to App Store release.
- Prerequisites
- Environment Configuration
- Build Process
- Code Signing
- TestFlight Deployment
- App Store Release
- CI/CD Pipeline
- Post-Release
- Enrolled in Apple Developer Program ($99/year)
- Admin or App Manager role
- Access to App Store Connect
- Development Certificate: For local builds
- Distribution Certificate: For TestFlight/App Store
- Provisioning Profiles: Match bundle ID and capabilities
# Install fastlane (recommended)
brew install fastlane
# Verify installation
fastlane --versionUpdate BuildConfiguration.xcconfig for production:
API_BASE_URL_RELEASE = https://api.interspace.com/api/v1
GOOGLE_CLIENT_ID = your_production_google_client_id
INFURA_API_KEY = your_production_infura_key
WALLETCONNECT_PROJECT_ID = your_production_walletconnect_id
Ensure production bundle ID in Xcode:
- Select project → Target → General
- Bundle Identifier:
com.interspace.ios
<!-- Info.plist -->
<key>CFBundleShortVersionString</key>
<string>1.0.0</string> <!-- User-facing version -->
<key>CFBundleVersion</key>
<string>100</string> <!-- Build number -->-
Select Release Scheme:
- Xcode → Product → Scheme → Edit Scheme
- Run → Build Configuration → Release
-
Archive the App:
Product → ArchiveOr via command line:
xcodebuild archive \ -workspace Interspace.xcworkspace \ -scheme Interspace \ -configuration Release \ -archivePath build/Interspace.xcarchive
-
Export for Distribution:
- Window → Organizer
- Select archive → Distribute App
- App Store Connect → Next
-
Setup Fastlane:
fastlane init
-
Configure Fastfile:
# fastlane/Fastfile default_platform(:ios) platform :ios do desc "Build and upload to TestFlight" lane :beta do increment_build_number build_app( workspace: "Interspace.xcworkspace", scheme: "Interspace", export_method: "app-store" ) upload_to_testflight end desc "Release to App Store" lane :release do build_app( workspace: "Interspace.xcworkspace", scheme: "Interspace", export_method: "app-store" ) upload_to_app_store( skip_metadata: false, skip_screenshots: false ) end end
-
Run Deployment:
# TestFlight fastlane beta # App Store fastlane release
- In Xcode:
- Target → Signing & Capabilities
- ✓ Automatically manage signing
- Select team
-
Download Certificates:
- Apple Developer → Certificates
- Download and install in Keychain
-
Download Provisioning Profiles:
- Apple Developer → Profiles
- Download and double-click to install
-
Configure in Xcode:
- Target → Signing & Capabilities
- Uncheck "Automatically manage signing"
- Select profiles manually
Using fastlane match for team certificate management:
# Setup
fastlane match init
# Sync certificates
fastlane match appstore
fastlane match developmentVia Xcode Organizer:
- Window → Organizer
- Select archive → Distribute App
- App Store Connect → Upload
Via Fastlane:
fastlane betaIn App Store Connect:
- My Apps → Interspace → TestFlight
- Add build to test group
- Complete test information:
- What to Test
- Test Notes
- Beta App Description
- Automatically available to team
- Up to 100 internal testers
- No review required
- Up to 10,000 testers
- Requires Beta App Review
- Add testers via:
- Email invitation
- Public link
-
App Information:
- Name: Interspace
- Primary Language
- Bundle ID
- SKU
-
Pricing and Availability:
- Price: Free
- Availability: Select countries
-
App Privacy:
- Complete privacy questionnaire
- Data types collected
- Data usage
-
Screenshots (Required sizes):
- 6.7" (iPhone 15 Pro Max)
- 6.5" (iPhone 14 Plus)
- 5.5" (iPhone 8 Plus)
- 12.9" (iPad Pro)
-
App Preview (Optional):
- Up to 3 videos
- 15-30 seconds each
-
Description:
Interspace is your gateway to managing digital identities... Features: • Multi-profile management • Secure wallet connections • Social account integration • Privacy-first design -
Keywords:
- Separate with commas
- Maximum 100 characters
- Example: "digital identity,wallet,social,privacy,profiles"
-
Support URL: https://interspace.app/support
-
Marketing URL: https://interspace.app
- Select build from TestFlight builds
- Add export compliance information
- Set release options:
- Manual release
- Automatic release after approval
- Scheduled release
-
Answer review questions:
- Sign-in required?
- Demo account needed?
- Export compliance
-
Add review notes:
Test Account: Email: reviewer@interspace.app Password: [secure password] Special Instructions: - Use Google Sign-In for full feature access - Wallet features require testnet tokens -
Submit for review
# .github/workflows/deploy.yml
name: Deploy to App Store
on:
push:
tags:
- 'v*'
jobs:
deploy:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Select Xcode
run: sudo xcode-select -s /Applications/Xcode_15.0.app
- name: Install Dependencies
run: |
pod install
brew install fastlane
- name: Setup Certificates
env:
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }}
MATCH_GIT_URL: ${{ secrets.MATCH_GIT_URL }}
run: |
fastlane match appstore --readonly
- name: Build and Deploy
env:
FASTLANE_USER: ${{ secrets.APPLE_ID }}
FASTLANE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.APP_SPECIFIC_PASSWORD }}
run: |
fastlane releaseConfigure in GitHub repository settings:
APPLE_ID: Your Apple IDAPPLE_PASSWORD: App-specific passwordMATCH_PASSWORD: Certificate encryption passwordMATCH_GIT_URL: Private repo for certificates
In App Store Connect:
- Crashes: Monitor crash reports
- Reviews: Respond to user feedback
- Analytics: Track downloads and usage
Consider phased release for major updates:
- 7-day rollout
- Monitor metrics at each phase
- Pause if issues detected
# After release, bump version
agvtool next-version -all
agvtool new-marketing-version 1.1.0Template for release notes:
What's New in Version X.X.X
✨ New Features:
• Feature 1
• Feature 2
🐛 Bug Fixes:
• Fixed issue with...
• Resolved problem where...
🚀 Improvements:
• Enhanced performance
• Updated UI elements
Thank you for using Interspace!
-
Archive Not Appearing:
- Check scheme settings
- Ensure Release configuration
- Clean build folder
-
Upload Fails:
- Verify App Store Connect access
- Check bundle ID matches
- Ensure valid certificates
-
Validation Errors:
- Missing Info.plist keys
- Invalid bundle version
- Asset catalog issues
Before submission:
- Increment version and build number
- Test on real devices
- Check all API endpoints point to production
- Remove debug code and logs
- Update screenshots if UI changed
- Test in-app purchases (if any)
- Verify deep links work
- Check push notifications
- Review app privacy details
-
Version Strategy:
- Semantic versioning (X.Y.Z)
- Major.Minor.Patch
- Build number always increases
-
Release Cadence:
- Regular updates (2-4 weeks)
- Critical fixes immediately
- Major features quarterly
-
Testing Strategy:
- Internal testing first
- Beta test for 1-2 weeks
- Gradual rollout
-
Communication:
- Release notes in multiple languages
- Update website/social media
- Notify beta testers
For critical issues:
- App Store Connect → Contact Us
- Request expedited review
- Explain critical nature
- Usually processed within 48 hours
If critical issue found:
- App Store Connect → Pricing and Availability
- Remove from all territories
- Fix issue and resubmit
Following this deployment guide ensures smooth releases of Interspace iOS. Always test thoroughly, maintain good release notes, and monitor post-release metrics for continuous improvement.