コンテンツにスキップ

OpenClaw macOSリリースの自動化:Sparkleと公証のセットアップ

macOSアプリを公開する際、開発者が一番頭を悩ませるのは「どうやって安全かつ確実にユーザーへ届けるか」という点ではないでしょうか。Appleの署名や公証(Notarization)のプロセス、そして自動アップデートの仕組みを正しく設定するのは、最初の一歩が意外と重いものです。

OpenClawでは、Sparkleを使用した自動アップデートを採用しています。リリースビルドを適切に署名し、公証を受け、appcastを生成するまでの手順をまとめました。

作業を始める前に、以下の準備ができているか確認してください。

  • Developer ID Application 証明書: インストール済みであること(例: Developer ID Application: <Developer Name> (<TEAMID>))
  • Sparkle 秘密鍵: 環境変数 SPARKLE_PRIVATE_KEY_FILE にed25519秘密鍵のパスを設定(見当たらない場合は ~/.profile を確認してください)
  • 公証用資格情報: xcrun notarytool 用の Keychain プロファイル、または App Store Connect API キー
  • pnpm: 依存関係がインストール済みであること(pnpm install --config.node-linker=hoisted)
  • Sparkle ツール: SwiftPM経由で apps/macos/.build/artifacts/sparkle/Sparkle/bin/ に自動取得されます

5分でリリースパッケージを作成するための最小手順です。

APP_BUILD は Sparkle がバージョン比較に使用するため、必ず数値かつ単調増加(例:2026030701)にする必要があります。省略した場合は、APP_VERSION と git のコミット数から自動生成されます。

Terminal window
# リポジトリのルートで実行
BUNDLE_ID=ai.openclaw.mac \
APP_VERSION=2026.3.7 \
BUILD_CONFIG=release \
SIGN_IDENTITY="Developer ID Application: <Developer Name> (<TEAMID>)" \
scripts/package-mac-app.sh

2. 配布用ファイルの作成と公証

Section titled “2. 配布用ファイルの作成と公証”

ユーザーに配布するための Zip と DMG を作成し、Apple による公証を受けます。あらかじめ openclaw-notary プロファイルを作成しておくとスムーズです。

Terminal window
# 公証を含めたビルドとパッケージング
NOTARIZE=1 NOTARYTOOL_PROFILE=openclaw-notary \
BUNDLE_ID=ai.openclaw.mac \
APP_VERSION=2026.3.7 \
BUILD_CONFIG=release \
SIGN_IDENTITY="Developer ID Application: <Developer Name> (<TEAMID>)" \
scripts/package-mac-dist.sh

Sparkle がアップデートを検知するための appcast.xml を更新します。

Terminal window
SPARKLE_PRIVATE_KEY_FILE=/path/to/ed25519-private-key scripts/make_appcast.sh dist/OpenClaw-2026.3.7.zip https://raw.githubusercontent.com/openclaw/openclaw/main/appcast.xml
  • GitHub リリースのタグ(例: v2026.3.7)に OpenClaw-2026.3.7.zip をアップロードします。
  • appcast.xml をリポジトリにコミットします。
  • 以前のバージョンから「アップデートを確認…」を実行し、正しくインストールされるか確認してください。

よくある問題と解決策です。

  • アップデートが検知されない: APP_BUILD が数値であり、前のバージョンより大きい値であることを確認してください。-beta などの文字列が含まれると、Sparkle は正しく比較できません。
  • 署名エラー: SPARKLE_PRIVATE_KEY_FILE が正しく設定されているか確認してください。環境変数が読み込まれていない場合は、~/.profile やシェル設定ファイルをチェックします。
  • 公証プロファイルの作成: API キーを使用してプロファイルを作成するには、以下のコマンドを実行します。
Terminal window
echo "$APP_STORE_CONNECT_API_KEY_P8" | sed 's/\\n/\n/g' > /tmp/openclaw-notary.p8
xcrun notarytool store-credentials "openclaw-notary" --key /tmp/openclaw-notary.p8 --key-id "$APP_STORE_CONNECT_KEY_ID" --issuer "$APP_STORE_CONNECT_ISSUER_ID"

セットアップで困ったことがあれば、AI Setup Assistant に相談してください。

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。