Saltearse al contenido
Tauri

App Store

Apple App Store es el mercado de aplicaciones mantenido por Apple. Puedes distribuir tu aplicación Tauri dirigida a macOS e iOS a través de esta App Store.

Esta guía solo cubre detalles para distribuir aplicaciones directamente a la App Store. Consulta la guía general de App Bundle para obtener más información sobre las opciones y configuraciones de distribución de macOS.

Distribuir aplicaciones iOS y macOS requiere inscribirse en el programa Apple Developer.

Además, debes configurar la firma de código para macOS e iOS.

Después de ejecutar tauri ios init para configurar el proyecto Xcode, puedes usar el comando tauri icon para actualizar los iconos de la aplicación.

npm run tauri icon /path/to/app-icon.png -- --ios-color #fff

El argumento --ios-color define el color de fondo para los iconos de iOS.

Después de inscribirse en el programa Apple Developer, el primer paso para distribuir tu aplicación Tauri en la App Store es registrar tu aplicación en App Store Connect.

La CLI de Tauri puede empaquetar tu aplicación para macOS e iOS. Ejecutar en una máquina macOS es un requisito.

Tauri deriva CFBundleVersion del valor definido en [tauri.conf.json > version]. Puedes establecer una versión de paquete personalizada en la configuración [tauri.conf.json > bundle > iOS > bundleVersion] o [tauri.conf.json > bundle > macOS > bundleVersion] si necesitas un esquema de versión de paquete diferente, por ejemplo, códigos secuenciales:

tauri.conf.json
{
"bundle": {
"iOS": {
"bundleVersion": "100"
}
}
}

Ten en cuenta que Tauri aprovecha Xcode para la aplicación iOS, por lo que puedes usar Xcode para archivar y distribuir para iOS en lugar de la CLI de Tauri. Para abrir el proyecto iOS en Xcode para construir, debes ejecutar el siguiente comando:

npm run tauri ios build -- --open

Para cargar tu aplicación a la App Store, primero debes asegurarte de que todas las opciones de configuración requeridas estén establecidas para que puedas empaquetar el App Bundle, crear un archivo .pkg firmado y cargarlo.

Las siguientes secciones te guiarán a través del proceso.

Tu aplicación debe incluir algunas configuraciones para ser aceptada por el sistema de verificación de la App Store.

  • Categoría

Tu aplicación debe definir su tauri.conf.json > bundle > category para mostrarse en la App Store:

tauri.conf.json
{
"bundle": {
"category": "Utility"
}
}
  • Perfil de aprovisionamiento

También debes crear un perfil de aprovisionamiento para que tu aplicación sea aceptada por Apple.

En la página Identifiers, crea un nuevo App ID y asegúrate de que su valor “Bundle ID” coincida con el identificador establecido en tauri.conf.json > identifier.

Navega a la página Profiles para crear un nuevo perfil de aprovisionamiento. Para la distribución de App Store macOS, debe ser un perfil “Mac App Store Connect”. Selecciona el App ID apropiado y vincula el certificado que estás utilizando para la firma de código.

Después de crear el perfil de aprovisionamiento, descárgalo y guárdalo en una ubicación conocida y configura Tauri para incluirlo en el paquete de tu aplicación:

tauri.conf.json
{
"bundle": {
"macOS": {
"files": {
"embedded.provisionprofile": "path/to/profile-name.provisionprofile"
}
}
}
}
  • Info.plist

Tu aplicación debe cumplir con las regulaciones de exportación de cifrado. Consulta la documentación oficial para obtener más información.

Crea un archivo Info.plist en la carpeta src-tauri:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ITSAppUsesNonExemptEncryption</key>
<false/> # o `true` si tu aplicación utiliza cifrado
</dict>
</plist>
  • Entitlements

Tu aplicación debe incluir la capacidad App Sandbox para distribuirse en la App Store. Además, también debes establecer tu App ID y Team ID en los derechos de firma de código.

Crea un archivo Entitlements.plist en la carpeta src-tauri:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.application-identifier</key>
<string>$TEAM_ID.$IDENTIFIER</string>
<key>com.apple.developer.team-identifier</key>
<string>$TEAM_ID</string>
</dict>
</plist>

Ten en cuenta que debes reemplazar $IDENTIFIER con el valor tauri.conf.json > identifier y $TEAM_ID con tu Apple Developer team ID, que se puede encontrar en la sección App ID Prefix en el Identifier que creaste para el perfil de aprovisionamiento.

Y haz referencia a ese archivo en la configuración del paquete macOS tauri.conf.json > bundle > macOS > entitlements:

tauri.conf.json
{
"bundle": {
"macOS": {
"entitlements": "./Entitlements.plist"
}
}
}

Ahora debes construir tu aplicación con la firma de código habilitada para que se apliquen los derechos.

Asegúrate de que tu aplicación funcione cuando se ejecute en un contexto App Sandbox.

Debes cargar tu aplicación macOS como un archivo .pkg a la App Store. Ejecuta el siguiente comando para empaquetar tu aplicación como un macOS App Bundle (extensión .app):

tauri build --bundles app --target universal-apple-darwin

Consulta la guía de distribución de App Bundle para obtener más información sobre las opciones de configuración.

Para generar un .pkg firmado a partir de tu paquete de aplicación, ejecuta el siguiente comando:

xcrun productbuild --sign "<certificate signing identity>" --component "target/universal-apple-darwin/release/bundle/macos/$APPNAME.app" /Applications "$APPNAME.pkg"

Ten en cuenta que debes reemplazar $APPNAME con el nombre de tu aplicación.

Ahora puedes usar la CLI altool para cargar el PKG de tu aplicación a la App Store:

xcrun altool --upload-app --type macos --file "$APPNAME.pkg" --apiKey $APPLE_API_KEY_ID --apiIssuer $APPLE_API_ISSUER

Ten en cuenta que altool requiere una clave API de App Store Connect para cargar tu aplicación. Consulta la sección de autenticación para obtener más información.

Tu aplicación será validada por Apple y estará disponible en TestFlight si se aprueba.

Para construir tu aplicación iOS, ejecuta el comando tauri ios build:

npm run tauri ios build -- --export-method app-store-connect

El archivo IPA generado se puede encontrar en src-tauri/gen/apple/build/arm64/$APPNAME.ipa.

Ten en cuenta que debes reemplazar $APPNAME con el nombre de tu aplicación.

Ahora puedes usar la CLI altool para cargar tu aplicación iOS a la App Store:

xcrun altool --upload-app --type ios --file "src-tauri/gen/apple/build/arm64/$APPNAME.ipa" --apiKey $APPLE_API_KEY_ID --apiIssuer $APPLE_API_ISSUER

Ten en cuenta que altool requiere una clave API de App Store Connect para cargar tu aplicación. Consulta la sección de autenticación para obtener más información.

Tu aplicación será validada por Apple y estará disponible en TestFlight si se aprueba.

Las aplicaciones iOS y macOS se cargan usando altool, que utiliza una clave API de App Store Connect para autenticarse.

Para crear una nueva clave API, abre la página App Store Connect’s Users and Access page, selecciona la pestaña Integrations > Individual Keys, haz clic en el botón Add y selecciona un nombre y el acceso Developer. El APPLE_API_ISSUER (ID de emisor) se presenta encima de la tabla de claves, y el APPLE_API_KEY_ID es el valor en la columna Key ID en esa tabla. También necesitas descargar la clave privada, que solo se puede hacer una vez y solo es visible después de recargar la página (el botón se muestra en la fila de la tabla para la clave recién creada). La ruta del archivo de clave privada debe guardarse como AuthKey_<APPLE_API_KEY_ID>.p8 en uno de estos directorios: <current-working-directory>/private_keys, ~/private_keys, ~/.private_keys o ~/.appstoreconnect/private_keys.


© 2025 Tauri Contributors. CC-BY / MIT