Overview
Previews solve the challenge of app distribution by:- Uploading builds directly from the CLI
- Generating shareable web links for each build
- Tracking build metadata (version, commit, branch)
- Organizing builds by track (e.g., staging, production)
- Supporting multiple platforms (iOS, macOS, visionOS, Android)
Prerequisites
- Authenticate with Tuist Cloud
- Configure your project in
Config.swift:
Config.swift
Uploading Previews
iOS Previews (IPA)
Upload an IPA file to create a preview:tuist share command:
- Locates the built IPA
- Extracts app metadata (name, version, bundle ID)
- Uploads to Tuist Cloud
- Returns a shareable URL
macOS Previews (App Bundle)
For macOS apps, upload the.app bundle:
Android Previews (APK)
Upload Android APK files:Tuist automatically detects the build artifact type (IPA, APK, or App bundle) based on the platform.
Preview Metadata
Git Integration
Tuist automatically captures git metadata when uploading:Build Tracks
Organize previews by track (e.g., staging, production, alpha):- staging: Internal testing builds
- production: Production candidates
- alpha: Early feature previews
- beta: Public beta builds
Version Override
Override the build version for special builds:Managing Previews
List Previews
View all previews for your project:Preview Details
Get details about a specific preview:- App name and version
- Upload date and time
- Git commit information
- Supported platforms
- Download/install stats
Delete Previews
Remove old previews:Preview Links
When you upload a preview, you receive a shareable URL:- View app details (name, version, icon)
- Download the build
- Install on their device (iOS/Android)
- View git commit information
Installing iOS Previews
Recipients can install iOS previews by:- Opening the preview link on their iOS device
- Tapping Install
- Following iOS installation prompts
iOS previews require the app to be signed with an ad-hoc or enterprise provisioning profile, or the device UDID must be included in the provisioning profile.
Installing macOS Previews
For macOS apps:- Open the preview link
- Download the
.appbundle - Move to Applications folder
- Right-click and select Open (first time only)
CI/CD Integration
Automate preview uploads in your CI pipeline:GitHub Actions Example
.github/workflows/preview.yml
GitLab CI Example
.gitlab-ci.yml
Preview Features
App Icons
Tuist automatically extracts and displays the app icon in the preview:- iOS: Extracted from the IPA
- macOS: Extracted from the app bundle
- Android: Extracted from the APK
Multi-Platform Support
A single preview can support multiple platforms:Preview Expiration
Previews can be configured to expire automatically:Config.swift
QA Integration
QA Service
Learn how to organize previews for QA workflows
Advanced Usage
Custom Upload Progress
Monitor upload progress in scripts:Parallel Uploads
Upload multiple builds in parallel:Preview Webhooks
Configure webhooks to notify external services when previews are uploaded:Config.swift
Troubleshooting
Upload Fails
If preview upload fails:- Check authentication:
tuist auth whoami - Verify network connectivity
- Ensure the build artifact exists
- Check disk space
Preview Link Not Working
If the preview link doesn’t work:- Verify the preview wasn’t deleted
- Check that the recipient has access permissions
- Ensure the preview hasn’t expired
Installation Fails (iOS)
If iOS installation fails:- Verify the device UDID is in the provisioning profile
- Check that the app is signed correctly
- Ensure the device trusts the signing certificate
Best Practices
Use tracks to organize builds
Use tracks to organize builds
Create separate tracks for different testing stages (alpha, beta, staging, production).
Automate preview uploads in CI
Automate preview uploads in CI
Upload previews automatically on every merge to develop or staging branches.
Include git metadata
Include git metadata
Always include git branch and commit information to help QA track down issues.
Set expiration times
Set expiration times
Configure automatic expiration to save storage space and avoid confusion with old builds.
Next Steps
QA Service
Streamline QA workflows with organized preview management
Build Insights
Track preview usage and download metrics