应用商店
Apple App Store 是由 Apple 维护的应用市场。您可以将您的 Tauri 应用通过该 App Store 分发至 macOS 和 iOS 平台。
本指南仅涵盖直接分发应用至 App Store 的相关细节。有关 macOS 分发选项和配置的更多信息,请参阅通用的应用包 (App Bundle) 指南。
分发 iOS 和 macOS 应用需要加入 Apple 开发者计划。
在运行 tauri ios init 设置 Xcode 项目后,您可以使用 tauri icon 命令来更新应用图标。
npm run tauri icon /path/to/app-icon.png -- --ios-color '#fff'yarn tauri icon /path/to/app-icon.png --ios-color '#fff'pnpm tauri icon /path/to/app-icon.png --ios-color '#fff'deno task tauri icon /path/to/app-icon.png --ios-color '#fff'bun tauri icon /path/to/app-icon.png --ios-color '#fff'cargo tauri icon /path/to/app-icon.png --ios-color '#fff'--ios-color 参数用于定义 iOS 图标的背景颜色。
在加入 Apple 开发者计划后,在 App Store 中分发 Tauri 应用的第一步是在 App Store Connect 中注册您的应用。
Tauri CLI 可以为您打包 macOS 和 iOS 应用。要求必须在 macOS 机器上运行。
Tauri 从 [tauri.conf.json > version] 中定义的值导出 CFBundleVersion。如果您需要不同的捆绑包版本方案(例如顺序编码),可以在 [tauri.conf.json > bundle > iOS > bundleVersion] 或 [tauri.conf.json > bundle > macOS > bundleVersion] 配置中设置自定义版本号。
{ "bundle": { "iOS": { "bundleVersion": "100" } }}请注意,Tauri 利用 Xcode 进行 iOS 应用开发,因此您可以使用 Xcode 对 iOS 应用进行归档 (Archive) 和分发,而不必使用 Tauri CLI。要打开 Xcode 中的 iOS 项目进行构建,必须运行以下命令
npm run tauri ios build -- --openyarn tauri ios build --openpnpm tauri ios build --opendeno task tauri ios build --openbun tauri ios build --opencargo tauri ios build --open要将应用上传到 App Store,首先必须确保设置了所有必需的配置选项,以便打包 App Bundle、创建已签名的 .pkg 文件并进行上传。
以下章节将引导您完成整个过程。
您的应用必须包含某些配置才能被 App Store 验证系统接受。
- 类别
您的应用必须在 tauri.conf.json > bundle > category 中定义其类别,以便在 App Store 中显示。
{ "bundle": { "category": "Utility" }}- 预配描述文件 (Provisioning profile)
您还必须为您的应用创建一个预配描述文件,以便通过 Apple 的验证。
在 Identifiers 页面中,创建一个新的 App ID,并确保其“Bundle ID”值与 tauri.conf.json > identifier 中设置的标识符相匹配。
导航至 Profiles 页面创建一个新的预配描述文件。对于 macOS App Store 分发,必须是“Mac App Store Connect”描述文件。选择合适的 App ID 并关联您用于代码签名的证书。
创建预配描述文件后,将其下载并保存到已知位置,并配置 Tauri 将其包含在您的应用包中。
{ "bundle": { "macOS": { "files": { "embedded.provisionprofile": "path/to/profile-name.provisionprofile" } } }}- Info.plist
您的应用必须遵守加密出口法规。有关更多信息,请参阅官方文档。
在 src-tauri 文件夹中创建一个 Info.plist 文件
<?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/> # or `true` if your app uses encryption</dict></plist>- Entitlements(授权)
您的应用必须包含 App Sandbox 能力才能在 App Store 中分发。此外,您还必须在代码签名授权中设置您的 App ID 和 Team ID。
在 src-tauri 文件夹中创建一个 Entitlements.plist 文件
<?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>请注意,您必须将 $IDENTIFIER 替换为 tauri.conf.json > identifier 的值,并将 $TEAM_ID 替换为您的 Apple 开发者团队 ID。该 ID 可以在您为预配描述文件创建的 Identifier 中的 App ID Prefix 部分找到。
并在 macOS 包配置 tauri.conf.json > bundle > macOS > entitlements 中引用该文件
{ "bundle": { "macOS": { "entitlements": "./Entitlements.plist" } }}现在,您必须在启用代码签名的情况下构建应用程序,以便应用这些授权配置。
确保您的应用在 App Sandbox 环境中正常工作。
您必须将您的 macOS 应用程序作为 .pkg 文件上传到 App Store。运行以下命令将您的应用打包为 macOS 应用包(.app 扩展名)
tauri build --bundles app --target universal-apple-darwin有关配置选项的更多信息,请参阅 应用包分发指南。
要从应用包生成已签名的 .pkg,请运行以下命令
xcrun productbuild --sign "<certificate signing identity>" --component "target/universal-apple-darwin/release/bundle/macos/$APPNAME.app" /Applications "$APPNAME.pkg"请注意,您必须将 $APPNAME 替换为您的应用名称。
现在,您可以使用 altool CLI 将您的应用 PKG 上传到 App Store
xcrun altool --upload-app --type macos --file "$APPNAME.pkg" --apiKey $APPLE_API_KEY_ID --apiIssuer $APPLE_API_ISSUER请注意,altool 上传应用需要 App Store Connect API 密钥。有关更多信息,请参阅身份验证部分。
您的应用将由 Apple 进行验证,如果获得批准,将可在 TestFlight 中使用。
要构建您的 iOS 应用,请运行 tauri ios build 命令
npm run tauri ios build -- --export-method app-store-connectyarn tauri ios build --export-method app-store-connectpnpm tauri ios build --export-method app-store-connectdeno task tauri ios build --export-method app-store-connectbun tauri ios build --export-method app-store-connectcargo tauri ios build --export-method app-store-connect生成的 IPA 文件可在 src-tauri/gen/apple/build/arm64/$APPNAME.ipa 中找到。
请注意,您必须将 $APPNAME 替换为您的应用名称。
现在,您可以使用 altool CLI 将您的 iOS 应用上传到 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请注意,altool 上传应用需要 App Store Connect API 密钥。有关更多信息,请参阅身份验证部分。
您的应用将由 Apple 进行验证,如果获得批准,将可在 TestFlight 中使用。
iOS 和 macOS 应用通过 altool 上传,它使用 App Store Connect API 密钥进行身份验证。
要创建新的 API 密钥,请打开 App Store Connect 的“用户和访问”页面,选择“集成”>“密钥”选项卡,点击“添加”按钮,选择一个名称和“开发者”权限。APPLE_API_ISSUER (Issuer ID) 显示在密钥表格上方,APPLE_API_KEY_ID 是该表格中“Key ID”列的值。您还需要下载私钥,该操作只能执行一次,并且仅在页面重新加载后可见(按钮显示在新创建密钥的表格行中)。私钥文件路径必须以 AuthKey_<APPLE_API_KEY_ID>.p8 命名,并保存在以下目录之一中:<当前工作目录>/private_keys、~/private_keys、~/.private_keys 或 ~/.appstoreconnect/private_keys。
© 2026 Tauri 贡献者。CC-BY / MIT