iOS Deployment
This guide outlines the process of building and deploying the iOS app to TestFlight and the App Store.
Prerequisites
- Mac with Xcode installed
- Apple Developer account with access to the app
- Required certificates and provisioning profiles
- Ruby environment for fastlane
Setup
- Install the required Ruby gems:
cd deploy/ios
bundle install
- Configure fastlane environment variables:
- Ensure that the proper environment variables are set for signing and deployment
Certificates and Profiles
The project uses fastlane match for managing certificates and provisioning profiles.
To fetch certificates:
cd deploy/ios
bundle exec fastlane ios certificates
To generate new certificates:
cd deploy/ios
bundle exec fastlane ios generate_new_certificates
Build and Deploy Process
TestFlight Deployment
To deploy a new build to TestFlight:
cd deploy/ios
bundle exec fastlane ios deploy
This will:
- Increment the build number
- Build the iOS app
- Upload to TestFlight
- Notify team members
App Store Release
After testing in TestFlight:
- Prepare release notes in the
deploy/ios/fastlane/metadata directory
- Validate the build with:
cd deploy/ios
bundle exec fastlane ios validate_build
- Submit the build for review via App Store Connect or use:
cd deploy/ios
bundle exec fastlane ios release
Troubleshooting
Common Issues
- Certificate Errors: Run
bundle exec fastlane ios certificates to refresh certificates
- Build Failures: Check Xcode logs and ensure dependencies are up to date
- Upload Failures: Verify Apple Developer account permissions and internet connectivity
Logs
Fastlane logs are stored in:
~/Library/Logs/fastlane/ on your local machine
- CI/CD platform logs when running in continuous integration