提交到 Apple App Store

编辑页面

了解如何从您的计算机和 CI/CD 服务将应用提交到 Apple App Store。


For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.

本指南概述了如何从你的电脑或 CI/CD 服务将应用提交到 Apple App Store。

从你的电脑提交应用

Prerequisites

4 requirements

1.

注册 Apple Developer 账号

提交应用到 Apple App Store 需要一个 Apple Developer 账号。你可以在 Apple Developer Portal 上注册 Apple Developer 账号。

2.

在 app.json 中包含 bundle 标识符

app.json 中包含你应用的 bundle 标识符:

app.json
{ "ios": { "bundleIdentifier": "com.yourcompany.yourapp" } }

3.

安装 EAS CLI 并使用你的 Expo 账号进行身份验证

安装 EAS CLI 并使用你的 Expo 账号登录:

Terminal
npm install -g eas-cli && eas login

4.

构建生产版应用

你需要一个可用于商店提交的生产构建。你可以使用 EAS Build 来创建一个:

Terminal
eas build --platform ios --profile production

另外,你也可以使用 eas build --platform ios --profile production --local 在你自己的电脑上构建应用,或者使用 Xcode。

完成所有前置条件后,你就可以开始提交流程了。

运行以下命令将构建提交到 Apple App Store:

Terminal
eas submit --platform ios

该命令会逐步引导你完成应用提交过程。你可以通过在 eas.json 中添加提交配置文件来配置提交流程:

eas.json
{ "submit": { "production": { "ios": { "ascAppId": "your-app-store-connect-app-id" } } } }
如何查找 ascAppId
  1. 登录 App Store Connect 并选择你的团队。
  2. 前往 Apps
  3. 点击你的应用。
  4. 确保 App Store 选项卡处于激活状态。
  5. 在左侧面板的 General 部分下,选择 App Information
  6. 你的应用的 ascAppId 可以在 General Information 部分下的 Apple ID 中找到。

了解你可以在 eas.json 参考 中提供的所有选项。

为了加快提交流程,你可以使用 --auto-submit 标志,在构建完成后自动提交:

Terminal
eas build --platform ios --auto-submit

自动化提交 指南中了解有关 --auto-submit 标志的更多信息。

使用 CI/CD 服务提交应用

Prerequisites

5 requirements

1.

注册 Apple Developer 账号

提交应用到 Apple App Store 需要一个 Apple Developer 账号。你可以在 Apple Developer Portal 上注册 Apple Developer 账号。

2.

在 app.json 中包含 bundle 标识符

app.json 中包含你应用的 bundle 标识符:

app.json
{ "ios": { "bundleIdentifier": "com.yourcompany.yourapp" } }

3.

配置你的 App Store Connect API Key

运行以下命令来配置你的 App Store Connect API Key:

Terminal
eas credentials --platform ios

该命令会提示你选择要配置的凭据类型。

  1. 选择 production 构建配置文件
  2. 使用你的 Apple Developer 账号登录并按照提示操作
  3. 选择 App Store Connect: Manage your API Key
  4. 选择 Set up your project to use an API Key for EAS Submit
你想使用你自己的凭据吗?

App Store Connect API Key: 创建你自己的 API Key,然后在 eas.json 中使用 ascApiKeyPathascApiKeyIssuerIdascApiKeyId 字段进行设置。

App Specific Password: 通过在 eas.json 中分别传入 EXPO_APPLE_APP_SPECIFIC_PASSWORD 环境变量和 appleId 字段,提供你的 password 和 Apple ID 用户名。

4.

在 eas.json 中提供提交配置文件

然后,你需要在 eas.json 中提供一个包含以下字段的提交配置文件:

eas.json
{ "submit": { "production": { "ios": { "ascAppId": "your-app-store-connect-app-id" } } } }
如何查找 ascAppId
  1. 登录 App Store Connect 并选择你的团队。
  2. 前往 Apps
  3. 点击你的应用。
  4. 确保 App Store 选项卡处于激活状态。
  5. 在左侧面板的 General 部分下,选择 App Information
  6. 你的应用的 ascAppId 可以在 General Information 部分下的 Apple ID 中找到。

了解你可以在 eas.json 参考 中提供的所有选项。

5.

构建生产版应用

你需要一个可用于商店提交的生产构建。你可以使用 EAS Build 来创建一个:

Terminal
eas build --platform ios --profile production

另外,你也可以使用 eas build --platform ios --profile production --local 在你自己的电脑上构建应用,或者使用 Xcode。

完成所有前置条件后,你就可以设置 CI/CD 流水线,将你的应用提交到 Apple App Store。

使用 EAS Workflows CI/CD

你可以使用 EAS Workflows 自动构建并提交你的应用。

  1. 在项目根目录下创建一个名为 .eas/workflows/submit-ios.yml 的工作流文件。

  2. submit-ios.yml 中,你可以使用以下工作流来启动一个提交 iOS 应用的任务:

    .eas/workflows/submit-ios.yml
    on: push: branches: ['main'] jobs: build_ios: name: Build iOS app type: build params: platform: ios profile: production submit_ios: name: Submit to TestFlight needs: [build_ios] type: testflight params: build_id: ${{ needs.build_ios.outputs.build_id }}

    上面的工作流会构建 iOS 应用,然后将其提交到 Apple App Store 的 TestFlight。你可以使用 testflight 任务与内部和外部测试组共享。更多信息请参见 预置的 testflight 任务

使用其他 CI/CD 服务

你可以使用其他 CI/CD 服务通过 EAS Submit 提交应用,例如 GitHub Actions、GitLab CI 等,只需运行以下命令:

Terminal
eas submit --platform ios --profile production

该命令需要一个 个人访问令牌 来使用你的 Expo 账号进行身份验证。一旦你拥有了它,请在 CI/CD 服务中提供 EXPO_TOKEN 环境变量,这样 eas submit 命令就可以运行。

手动提交

如果你需要在不使用 EAS Submit 的情况下提交构建,例如该服务因维护暂时不可用时,你可以从 macOS 设备手动上传到 Apple App Store。

如何从 macOS 设备手动上传到 Apple App Store

在 App Store Connect 中创建条目

如果你还没有,请先在 App Store Connect 中创建一个应用资料:

  1. 前往 App Store Connect 并登录。确保你已接受页面顶部的任何法律声明或条款。
  2. 点击 Apps 标题旁边的蓝色加号按钮,然后点击 New App
  3. 添加你应用的名称、语言、bundle 标识符和 SKU(终端用户看不到这个,它可以是任何唯一字符串。一个常见选择是你应用的 bundle 标识符,例如 "com.company.my-app")。
  4. 点击 Create。如果成功,那么你就创建了你的应用记录。

使用 Transporter 上传

最后,你需要将 IPA 上传到 Apple App Store。

  1. App Store 下载 Transporter
  2. 使用你的 Apple ID 登录。
  3. 通过将 IPA 文件直接拖入 Transporter 窗口,或者通过 +Add App 按钮打开的文件对话框中选择它来添加构建。
  4. 点击 Deliver 按钮提交。

这个过程可能需要几分钟,然后还需要在苹果服务器上处理 10-15 分钟。之后,你可以在 App Store Connect 中查看你的二进制文件状态:

  1. 访问 App Store Connect,选择 My Apps,然后点击你之前创建的应用条目。
  2. 向下滚动到 Build 部分,并选择你刚刚上传的二进制文件。