Skip to main content
Tuist Previews makes it easy to distribute iOS, macOS, visionOS, and Android app builds to your team for testing and feedback. Upload builds directly from the CLI and share them via a web link.

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

  1. Authenticate with Tuist Cloud
  2. Configure your project in Config.swift:
Config.swift

Uploading Previews

iOS Previews (IPA)

Upload an IPA file to create a preview:
The tuist share command:
  1. Locates the built IPA
  2. Extracts app metadata (name, version, bundle ID)
  3. Uploads to Tuist Cloud
  4. Returns a shareable URL
Output:

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:
Manually specify git information:

Build Tracks

Organize previews by track (e.g., staging, production, alpha):
Tracks help organize builds:
  • staging: Internal testing builds
  • production: Production candidates
  • alpha: Early feature previews
  • beta: Public beta builds

Version Override

Override the build version for special builds:
Or append a suffix:

Managing Previews

List Previews

View all previews for your project:
Filter by track:

Preview Details

Get details about a specific preview:
Displays:
  • App name and version
  • Upload date and time
  • Git commit information
  • Supported platforms
  • Download/install stats

Delete Previews

Remove old previews:
Deleting a preview removes it permanently and invalidates all shared links.
When you upload a preview, you receive a shareable URL:
Anyone with the link can:
  • 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:
  1. Opening the preview link on their iOS device
  2. Tapping Install
  3. 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:
  1. Open the preview link
  2. Download the .app bundle
  3. Move to Applications folder
  4. 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:
Users can choose which platform to install based on their device.

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:
  1. Check authentication: tuist auth whoami
  2. Verify network connectivity
  3. Ensure the build artifact exists
  4. Check disk space
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

Create separate tracks for different testing stages (alpha, beta, staging, production).
Upload previews automatically on every merge to develop or staging branches.
Always include git branch and commit information to help QA track down issues.
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