Preestrenos
::: advertencia REQUISITOS
:::
Cuando creas una aplicación, es posible que quieras compartirla con otros para obtener comentarios. Tradicionalmente, esto es algo que los equipos hacen creando, firmando y enviando sus aplicaciones a plataformas como TestFlight de Apple. Sin embargo, este proceso puede ser engorroso y lento, sobre todo cuando solo buscas la opinión rápida de un colega o un amigo.
Para agilizar este proceso, Tuist ofrece una forma de generar y compartir vistas previas de tus aplicaciones con cualquiera.
::: advertencia DEVICE BUILDS NEED TO BE SIGNED
Actualmente, cuando se crea para un dispositivo, es responsabilidad del usuario asegurarse de que la aplicación está firmada correctamente. Tenemos previsto simplificarlo en el futuro.
:::
::: grupo de códigos
bash
tuist build App # Build the app for the simulator
tuist build App -- -destination 'generic/platform=iOS' # Build the app for the device
tuist share Appbash
xcodebuild -scheme App -project App.xcodeproj -configuration Debug # Build the app for the simulator
xcodebuild -scheme App -project App.xcodeproj -configuration Debug -destination 'generic/platform=iOS' # Build the app for the device
tuist share App --configuration Debug --platforms iOS
tuist share App.ipa # Share an existing .ipa file:::
El comando generará un enlace que puedes compartir con cualquiera para que ejecute la aplicación, ya sea en un simulador o en un dispositivo real. Todo lo que tendrán que hacer es ejecutar el siguiente comando:
bash
tuist run {url}
tuist run --device "My iPhone" {url} # Run the app on a specific deviceAl compartir un archivo .ipa, puedes descargar la aplicación directamente desde el dispositivo móvil utilizando el enlace Vista previa. Los enlaces a las vistas previas de .ipa son por defecto públicos. En el futuro, tendrás la opción de hacerlos privados, de modo que el destinatario del enlace tenga que autenticarse con su cuenta de Tuist para descargar la app.
tuist run también le permite ejecutar una última vista previa basada en un especificador como latest, nombre de rama o un hash de confirmación específico:
bash
tuist run App@latest # Runs latest App preview associated with the project's default branch
tuist run App@my-feature-branch # Runs latest App preview associated with a given branch
tuist run App@00dde7f56b1b8795a26b8085a781fb3715e834be # Runs latest App preview associated with a given git commit shaPistas
Las pistas te permiten organizar tus vistas previas en grupos con nombre. Por ejemplo, puedes tener una pista beta para los probadores internos y una pista nightly para las compilaciones automáticas. Los tracks se crean de forma perezosa - simplemente especifica un nombre de track al compartir, y se creará automáticamente si no existe.
Para compartir una vista previa en una pista específica, utilice la opción --track:
bash
tuist share App --track beta
tuist share App --track nightlyEsto es útil para:
- Organizar las previsualizaciones: Agrupar las vistas previas por finalidad (por ejemplo,
beta,nocturna,interna) - Actualizaciones in-app: El SDK de Tuist utiliza pistas para determinar qué actualizaciones notificar a los usuarios.
- Filtrar: Encuentra y gestiona fácilmente previsualizaciones por pista en el panel de control de Tuist.
::: aviso VISIBILIDAD DE LOS PREVIOS
Sólo las personas con acceso a la organización a la que pertenece el proyecto pueden acceder a las vistas previas. Tenemos previsto añadir soporte para enlaces que caducan.
:::
Aplicación Tuist para macOS
Para facilitar aún más la ejecución de Tuist Previews, hemos desarrollado una aplicación de Tuist para la barra de menús de macOS. En lugar de ejecutar las previsualizaciones a través de la CLI de Tuist, puedes descargar la aplicación para macOS. También puedes instalar la aplicación ejecutando brew install --cask tuist/tuist/tuist.
Al hacer clic en "Ejecutar" en la página de vista previa, la aplicación macOS se iniciará automáticamente en el dispositivo seleccionado.
::: advertencia REQUISITOS
Necesitas tener Xcode instalado localmente y estar en macOS 14 o posterior.
:::
Aplicación Tuist para iOS
Al igual que la aplicación para macOS, las aplicaciones de Tuist para iOS agilizan el acceso y la ejecución de tus previsualizaciones.
Comentarios de solicitudes pull/merge
::: aviso SE REQUIERE INTEGRACIÓN CON LA PLATAFORMA GIT
Para obtener comentarios automáticos de pull/merge request, integra tu
proyecto remoto con unaplataforma Git.:::
Probar nuevas funcionalidades debería formar parte de cualquier revisión de código. Pero tener que compilar una aplicación localmente añade una fricción innecesaria, lo que a menudo lleva a los desarrolladores a no probar la funcionalidad en su dispositivo. Pero ¿y si cada pull request contuviera un enlace a la compilación que ejecutaría automáticamente la aplicación en un dispositivo seleccionado en la aplicación macOS de Tuist?
Una vez que tu proyecto Tuist esté conectado con tu plataforma Git como GitHub, añade un tuist share MyApp a tu flujo de trabajo CI. Tuist publicará entonces un enlace de Vista Previa directamente en tus pull requests: 
Notificaciones de actualización dentro de la aplicación
El Tuist SDK permite a tu aplicación detectar cuándo hay disponible una versión preliminar más reciente y notificárselo a los usuarios. Esto es útil para mantener a los probadores en la última versión.
El SDK busca actualizaciones dentro de la misma pista de vista previa **** . Cuando comparte una vista previa con una pista explícita usando --track, el SDK buscará actualizaciones en esa pista. Si no se especifica ninguna pista, la rama git se utiliza como pista - por lo que una vista previa construida desde la rama main sólo notificará sobre vistas previas más recientes también construidas desde main.
Instalación
Añade Tuist SDK como dependencia del paquete Swift:
swift
.package(url: "https://github.com/tuist/sdk", .upToNextMajor(from: "0.1.0"))Monitorización de actualizaciones
Utilice monitorPreviewUpdates para comprobar periódicamente si hay nuevas versiones de previsualización:
swift
import TuistSDK
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.task {
TuistSDK(
fullHandle: "myorg/myapp",
apiKey: "your-api-key"
)
.monitorPreviewUpdates()
}
}
}
}Comprobación de actualización única
Para la comprobación manual de actualizaciones:
swift
let sdk = TuistSDK(
fullHandle: "myorg/myapp",
apiKey: "your-api-key"
)
if let preview = try await sdk.checkForUpdate() {
print("New version available: \(preview.version ?? "unknown")")
}Detención de la supervisión de actualizaciones
monitorPreviewUpdates devuelve una tarea `` que puede ser cancelada:
swift
let task = sdk.monitorPreviewUpdates { preview in
// Handle update
}
// Later, to stop monitoring:
task.cancel()INFO
La comprobación de actualizaciones se desactiva automáticamente en los simuladores y en las versiones del App Store.
Insignia README
Para que las Previsualizaciones de Tuist sean más visibles en tu repositorio, puedes añadir una insignia a tu archivo README que apunte a la última Previsualización de Tuist:
Para añadir la insignia a su README, utilice el siguiente markdown y sustituya los identificadores de cuenta y proyecto por los suyos propios:
[](https://tuist.dev/{account-handle}/{project-handle}/previews/latest)Si tu proyecto contiene varias aplicaciones con diferentes identificadores de paquete, puedes especificar a qué vista previa de la aplicación enlazar añadiendo un parámetro de consulta bundle-id:
[](https://tuist.dev/{account-handle}/{project-handle}/previews/latest?bundle-id=com.example.app)Automatizaciones
Puede utilizar la bandera --json para obtener una salida JSON del comando tuist share:
tuist share --jsonLa salida JSON es útil para crear automatizaciones personalizadas, como publicar un mensaje de Slack utilizando su proveedor de CI. El JSON contiene una clave url con el enlace a la vista previa completa y una clave qrCodeURL con la URL a la imagen del código QR para facilitar la descarga de vistas previas desde un dispositivo real. A continuación se muestra un ejemplo de salida JSON:
json
{
"id": 1234567890,
"url": "https://cloud.tuist.io/preview/1234567890",
"qrCodeURL": "https://cloud.tuist.io/preview/1234567890/qr-code.svg"
}

