跳转到内容

应用商店

苹果应用商店(https://www.apple.com/store)是苹果公司维护的 app 商店。您可以通过此应用商店分发针对 macOS 和 iOS 的 Tauri app。

本指南仅涵盖将应用直接分发到应用商店的详细信息。有关 macOS 分发选项和配置的更多信息,请参阅通用的 应用包

要求

分发 iOS 和 macOS 应用需要注册到 苹果开发者 计划。

另外,您必须为 macOSiOS 设置代码签名。

更改应用图标

运行 tauri ios init 以设置 Xcode 项目后,您可以使用 tauri icon 命令更新应用图标。

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

使用 --ios-color 参数定义 iOS 图标的背景颜色。

设置

注册到苹果开发者计划后,在应用商店中分发表格 Tauri app 的第一步是将在 App Store Connect 中注册您的应用。

编译和上传

Tauri CLI 可以打包您适用于 macOS 和 iOS 的应用。运行于 macOS 机器上是必需的。

请注意,Tauri 利用 Xcode 来构建 iOS 应用,因此您可以使用 Xcode 将 iOS 项目存档并分发到 iOS,而不是使用 Tauri CLI。要打开 Xcode 中的 iOS 项目以进行编译,您必须运行以下命令:

npm run tauri ios build -- --open

macOS

要将应用上传到应用商店,您必须首先确保所有必要的配置选项都已设置,以便您可以将应用包打包,创建一个已签名的 .pkg 文件并将其上传。

以下部分将引导您完成此过程。

设置

您的应用必须包括某些配置才能通过应用商店验证系统。

  • 分类

您的应用必须定义其 tauri.conf.json > bundle > category 才能在应用商店中显示

tauri.conf.json
{
"bundle": {
"category": "Utility"
}
}
  • 配置文件

您还必须为您的应用创建一个配置文件,以便应用通过苹果的审核。

标识符页面上创建一个新应用ID,并确保其“包标识符”值与在tauri.conf.json中的标识符设置匹配。

导航到简介页面以创建一个新的配置文件。对于Mac App Store的分布,它必须是“Mac App Store Connect”配置文件。选择适当的App ID并链接用于代码签名使用的证书。

创建配置文件后,请将其下载并保存到已知位置,并将Tauri配置为将其包含在您的应用程序包中。

tauri.conf.json
{
"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>
  • 权限

您的应用程序必须包括App沙盒功能才能在App Store中分发。此外,您还必须在代码签名权限中设置您的App ID和团队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中的标识符值,并且将$TEAM_ID替换为您的Apple Developer团队ID,该ID可以在Identifier的“App ID Prefix”部分中找到。

并将其在macOS包配置的tauri.conf.json的bundle对象中的macOS对象中的entitlements中引用

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

现在,您必须启用代码签名来构建应用程序以使权限生效。

确保在App沙盒上下文中运行时您的应用程序能够正常工作。

构建

您必须将您的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 密钥来上传您的应用。有关更多信息,请参阅认证部分

您的应用经苹果验证后在测试版中可用,如被批准。

iOS

要构建您的 iOS 应用,请运行 tauri ios build 命令

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

生成的 IPA 文件可以在 src-tauri/gen/apple/build/arm64/$APPNAME.ipa 中找到。

注意,您必须将$APPNAME替换为您的应用程序名称。

现在您可以使用 altool 命令行界面将 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 密钥来上传您的应用。有关更多信息,请参阅认证部分

您的应用经苹果验证后在测试版中可用,如被批准。

身份验证

iOS 和 macOS 应用通过 altool 上传,它使用 App Store Connect API 密钥进行认证。

要创建新的 API 密钥,请打开 App Store Connect 的用户和访问页面,选择“集成”>“个人密钥”选项卡,点击“添加”按钮,然后选择一个名称和开发者访问权限。在密钥表上方呈现的 APPLE_API_ISSUER(发行者 ID),在密钥 ID 列表中该表的 APPLE_API_KEY_ID 是值的。您还需要下载私钥,这只能进行一次,且在页面重新加载后可见(按钮显示在新创建的密钥的表格行上)。私钥文件路径必须保存为以下目录之一:<当前工作目录>/private_keys~/private_keys~/.private_keys~/.appstoreconnect/private_keys 中:AuthKey_<APPLE_API_KEY_ID>.p8


© 2025 Tauri 贡献者。CC-BY / MIT