跳至主要内容
版本:v2.9.0

Mac App Store 指南

本页简要概述了如何将 Wails 应用程序提交到 Mac App Store。

先决条件

  • 您需要拥有一个 Apple 开发者帐户。请在 Apple 开发者计划 网站上查找更多信息
  • 您需要在开发者门户网站上创建证书、标识符和应用程序。有关更多信息,请参见下文
  • Xcode 命令行工具需要安装在您的本地机器上

创建证书和标识符

  1. 转到您的 Apple 开发者帐户
  2. 证书、标识符和配置文件 下,单击 标识符 并注册新的应用程序 ID。使用格式 (com.example.app)
  3. 在同一页面上,单击 证书 并为 Mac App Store 分发生成新证书。下载它们并将证书导入本地计算机上的钥匙串。

创建应用程序提交

  1. 转到 App Store Connect 网站
  2. 注册新的应用程序并将您在上一步骤中创建的捆绑 ID 链接到该应用程序
  3. 使用 Apple 要求的正确屏幕截图、描述等填充您的应用程序
  4. 创建应用程序的新版本

创建配置文件

  1. 转到 Apple 开发者配置文件 页面
  2. 为 Mac App Store 分发添加新的配置文件
  3. 将配置文件类型设置为 Mac 并选择上面创建的应用程序的应用程序 ID
  4. 选择 Mac App Store 分发证书
  5. 将配置文件命名为 embedded 并下载创建的配置文件。

Mac App Store 过程

启用 Apple 的 App 沙盒

提交到 Mac App Store 的应用程序必须在 Apple 的 App 沙盒 中运行。您必须为此创建一个 entitlements.plist 文件。建议您在此路径下创建此文件 {PROJECT_DIR}/build/darwin/entitlements.plist

示例权利文件

这是 RiftShare 应用程序中的示例权利文件。为了参考,请将应用程序所需的权利放入权利文件中。有关更多信息,请参阅 此网站。您需要将团队 ID 和应用程序名称替换为您上面注册的名称。

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.security.network.client</key>
<true/>
<key>com.apple.security.network.server</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>
<key>com.apple.security.files.downloads.read-write</key>
<true/>
<key>com.apple.application-identifier</key>
<string>TEAM_ID.APP_NAME</string>
<key>com.apple.developer.team-identifier</key>
<string>TEAM_ID</string>
</dict>
</plist>

添加嵌入式配置文件 上面创建的配置文件需要添加到应用程序的根目录。它需要命名为 embedded.provisionprofile。

构建和签名应用程序包

以下是一个用于构建和签名应用程序以提交到 Mac App Store 的示例脚本。它假设您从根项目目录运行脚本。

请注意,用于签名应用程序和签名安装程序的证书是不同的。请确保两者都已导入钥匙串。在钥匙串中找到字符串并将它们插入下方。在下方填充您的证书名称和应用程序名称。运行以下脚本将在应用程序的根目录中生成签名的 app.pkg 文件。

macappstore-build.sh
#!/bin/bash

APP_CERTIFICATE="3rd Party Mac Developer Application: YOUR NAME (CODE)"
PKG_CERTIFICATE="3rd Party Mac Developer Installer: YOUR NAME (CODE)"
APP_NAME="YourApp"

wails build -platform darwin/universal -clean

cp ./embedded.provisionprofile "./build/bin/$APP_NAME.app/Contents"

codesign --timestamp --options=runtime -s "$APP_CERTIFICATE" -v --entitlements ./build/darwin/entitlements.plist ./build/bin/$APP_NAME.app

productbuild --sign "$PKG_CERTIFICATE" --component ./build/bin/$APP_NAME.app /Applications ./$APP_NAME.pkg

上传应用程序捆绑包

您需要上传生成的包文件并将其与您的应用程序关联,然后才能将其提交以供审查。

  1. 从 Mac App Store 下载 Transporter 应用程序
  2. 打开它并使用您的 Apple ID 登录
  3. 单击 + 号并选择您在上一步中生成的 APP_NAME.pkg 文件。上传它
  4. 返回 App Store Connect 网站并导航回您的应用程序提交。选择您准备在 App Store 上提供的版本。在 构建 下,选择您通过 Transporter 上传的包。

就这样!您现在可以使用该网站提交您的应用程序以供审查。如果一切顺利,您应该在几个工作日后看到您的应用程序在 Mac App Store 上上线。