Mac App Store 指南
本页简要概述了如何将 Wails 应用程序提交到 Mac App Store。
先决条件
- 您需要拥有一个 Apple 开发者帐户。请在 Apple 开发者计划 网站上查找更多信息
- 您需要在开发者门户网站上创建证书、标识符和应用程序。有关更多信息,请参见下文
- Xcode 命令行工具需要安装在您的本地机器上
创建证书和标识符
- 转到您的 Apple 开发者帐户
- 在
证书、标识符和配置文件
下,单击标识符
并注册新的应用程序 ID。使用格式 (com.example.app) - 在同一页面上,单击
证书
并为 Mac App Store 分发生成新证书。下载它们并将证书导入本地计算机上的钥匙串。
创建应用程序提交
- 转到 App Store Connect 网站
- 注册新的应用程序并将您在上一步骤中创建的捆绑 ID 链接到该应用程序
- 使用 Apple 要求的正确屏幕截图、描述等填充您的应用程序
- 创建应用程序的新版本
创建配置文件
- 转到 Apple 开发者配置文件 页面
- 为 Mac App Store 分发添加新的配置文件
- 将配置文件类型设置为 Mac 并选择上面创建的应用程序的应用程序 ID
- 选择 Mac App Store 分发证书
- 将配置文件命名为 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
上传应用程序捆绑包
您需要上传生成的包文件并将其与您的应用程序关联,然后才能将其提交以供审查。
- 从 Mac App Store 下载 Transporter 应用程序
- 打开它并使用您的 Apple ID 登录
- 单击 + 号并选择您在上一步中生成的
APP_NAME.pkg
文件。上传它 - 返回 App Store Connect 网站并导航回您的应用程序提交。选择您准备在 App Store 上提供的版本。在
构建
下,选择您通过 Transporter 上传的包。
就这样!您现在可以使用该网站提交您的应用程序以供审查。如果一切顺利,您应该在几个工作日后看到您的应用程序在 Mac App Store 上上线。